Repository files navigation

Analyze time series data and experiment with ML Algorithms

Jupyter Notebooks are wonderful because they provide a way to share code, explanations, and visualizations in the same place. Notebooks add narrative to computation. The cells compartmentalize steps and fascilitate data analysis. In this way, notebooks act as an invitation for experimentation. If you are looking to enhance your time series data by performing time series data analytics or data science tasks, a Notebook is a great place to start this work.

Analyze your time series data and experiment with forecasting and anomaly detection algorithms using Jupyter Notebook tutorials (.ipynb files) and corresponding sample data (.csv files). We include tutorials and sample data for the following topics:

Set up this repo

These instructions are written for InfluxDB OSS 2.0 (starting with release candidate 0 and later) or InfluxDB Cloud. If you're using InfluxDB Cloud make sure to change your URL appropriately.

Installations of Python can get a bit tricky; different versions of the language, as well as projects which require different versions of installed libraries, can quickly lead to conflicts. Using a virtual environment is reccommended. Please consider looking into additional tooling like virtualenv or pyenv might be useful.

Run pip install requirements.txt inside your virtual environment to download all of the necessary dependencies.

After cloning this repo, run Jupyter Notebook locally with jupyter notebook. This should direct you to the web application which by default runs on http://localhost:8888.

Implementation Options and Recommendations

After you analyze your time series data with notebooks and select the forecasting or anomaly detection approach that works for you, it's time to implement your solution in production. The following resources could be useful in that next step:

Additional Resources

This repo is just a sample of some of the many algorithms, approaches, and tools to time series forecasting and anomaly detection. Here are additional ML solutions that might interest the reader:

  • STUMPY: A powerful library that efficiently computes the matrix profile of a time series, which can be used for a variety of time series data mining tasks.
  • scikit-multiflow: A machine learning package for streaming data in Python, especially apt for clustering.
  • InfluxDB Interpreter for Apache Zeppelin: Apache Zeppelin is another web-based notebook similar to Jupyter Notebooks. Zeppelin has built in Spark integration. Zeppelin and the InfluxDB interpreter enables easy access to and parallelization of big time series data for quick analysis on large volumes of data.

About

A collection of Jupyter Notebook tutorials on anomaly detection, forecasting, and InfluxDB.

Resources

Stars

52 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Analyze time series data and experiment with ML Algorithms

Jupyter Notebooks are wonderful because they provide a way to share code, explanations, and visualizations in the same place. Notebooks add narrative to computation. The cells compartmentalize steps and fascilitate data analysis. In this way, notebooks act as an invitation for experimentation. If you are looking to enhance your time series data by performing time series data analytics or data science tasks, a Notebook is a great place to start this work.

Analyze your time series data and experiment with forecasting and anomaly detection algorithms using Jupyter Notebook tutorials (.ipynb files) and corresponding sample data (.csv files). We include tutorials and sample data for the following topics:

Set up this repo

These instructions are written for InfluxDB OSS 2.0 (starting with release candidate 0 and later) or InfluxDB Cloud. If you're using InfluxDB Cloud make sure to change your URL appropriately.

Installations of Python can get a bit tricky; different versions of the language, as well as projects which require different versions of installed libraries, can quickly lead to conflicts. Using a virtual environment is reccommended. Please consider looking into additional tooling like virtualenv or pyenv might be useful.

Run pip install requirements.txt inside your virtual environment to download all of the necessary dependencies.

After cloning this repo, run Jupyter Notebook locally with jupyter notebook. This should direct you to the web application which by default runs on http://localhost:8888.

Implementation Options and Recommendations

After you analyze your time series data with notebooks and select the forecasting or anomaly detection approach that works for you, it's time to implement your solution in production. The following resources could be useful in that next step:

Additional Resources

This repo is just a sample of some of the many algorithms, approaches, and tools to time series forecasting and anomaly detection. Here are additional ML solutions that might interest the reader:

  • STUMPY: A powerful library that efficiently computes the matrix profile of a time series, which can be used for a variety of time series data mining tasks.
  • scikit-multiflow: A machine learning package for streaming data in Python, especially apt for clustering.
  • InfluxDB Interpreter for Apache Zeppelin: Apache Zeppelin is another web-based notebook similar to Jupyter Notebooks. Zeppelin has built in Spark integration. Zeppelin and the InfluxDB interpreter enables easy access to and parallelization of big time series data for quick analysis on large volumes of data.

About

A collection of Jupyter Notebook tutorials on anomaly detection, forecasting, and InfluxDB.

Resources

Stars

52 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Analyze time series data and experiment with ML Algorithms

Jupyter Notebooks are wonderful because they provide a way to share code, explanations, and visualizations in the same place. Notebooks add narrative to computation. The cells compartmentalize steps and fascilitate data analysis. In this way, notebooks act as an invitation for experimentation. If you are looking to enhance your time series data by performing time series data analytics or data science tasks, a Notebook is a great place to start this work.

Analyze your time series data and experiment with forecasting and anomaly detection algorithms using Jupyter Notebook tutorials (.ipynb files) and corresponding sample data (.csv files). We include tutorials and sample data for the following topics:

Set up this repo

These instructions are written for InfluxDB OSS 2.0 (starting with release candidate 0 and later) or InfluxDB Cloud. If you're using InfluxDB Cloud make sure to change your URL appropriately.

Installations of Python can get a bit tricky; different versions of the language, as well as projects which require different versions of installed libraries, can quickly lead to conflicts. Using a virtual environment is reccommended. Please consider looking into additional tooling like virtualenv or pyenv might be useful.

Run pip install requirements.txt inside your virtual environment to download all of the necessary dependencies.

After cloning this repo, run Jupyter Notebook locally with jupyter notebook. This should direct you to the web application which by default runs on http://localhost:8888.

Implementation Options and Recommendations

After you analyze your time series data with notebooks and select the forecasting or anomaly detection approach that works for you, it's time to implement your solution in production. The following resources could be useful in that next step:

Additional Resources

This repo is just a sample of some of the many algorithms, approaches, and tools to time series forecasting and anomaly detection. Here are additional ML solutions that might interest the reader:

  • STUMPY: A powerful library that efficiently computes the matrix profile of a time series, which can be used for a variety of time series data mining tasks.
  • scikit-multiflow: A machine learning package for streaming data in Python, especially apt for clustering.
  • InfluxDB Interpreter for Apache Zeppelin: Apache Zeppelin is another web-based notebook similar to Jupyter Notebooks. Zeppelin has built in Spark integration. Zeppelin and the InfluxDB interpreter enables easy access to and parallelization of big time series data for quick analysis on large volumes of data.

About

A collection of Jupyter Notebook tutorials on anomaly detection, forecasting, and InfluxDB.

Resources

Stars

52 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Analyze time series data and experiment with ML Algorithms

Jupyter Notebooks are wonderful because they provide a way to share code, explanations, and visualizations in the same place. Notebooks add narrative to computation. The cells compartmentalize steps and fascilitate data analysis. In this way, notebooks act as an invitation for experimentation. If you are looking to enhance your time series data by performing time series data analytics or data science tasks, a Notebook is a great place to start this work.

Analyze your time series data and experiment with forecasting and anomaly detection algorithms using Jupyter Notebook tutorials (.ipynb files) and corresponding sample data (.csv files). We include tutorials and sample data for the following topics:

Set up this repo

These instructions are written for InfluxDB OSS 2.0 (starting with release candidate 0 and later) or InfluxDB Cloud. If you're using InfluxDB Cloud make sure to change your URL appropriately.

Installations of Python can get a bit tricky; different versions of the language, as well as projects which require different versions of installed libraries, can quickly lead to conflicts. Using a virtual environment is reccommended. Please consider looking into additional tooling like virtualenv or pyenv might be useful.

Run pip install requirements.txt inside your virtual environment to download all of the necessary dependencies.

After cloning this repo, run Jupyter Notebook locally with jupyter notebook. This should direct you to the web application which by default runs on http://localhost:8888.

Implementation Options and Recommendations

After you analyze your time series data with notebooks and select the forecasting or anomaly detection approach that works for you, it's time to implement your solution in production. The following resources could be useful in that next step:

Additional Resources

This repo is just a sample of some of the many algorithms, approaches, and tools to time series forecasting and anomaly detection. Here are additional ML solutions that might interest the reader:

  • STUMPY: A powerful library that efficiently computes the matrix profile of a time series, which can be used for a variety of time series data mining tasks.
  • scikit-multiflow: A machine learning package for streaming data in Python, especially apt for clustering.
  • InfluxDB Interpreter for Apache Zeppelin: Apache Zeppelin is another web-based notebook similar to Jupyter Notebooks. Zeppelin has built in Spark integration. Zeppelin and the InfluxDB interpreter enables easy access to and parallelization of big time series data for quick analysis on large volumes of data.

About

A collection of Jupyter Notebook tutorials on anomaly detection, forecasting, and InfluxDB.

Resources

Stars

52 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Analyze time series data and experiment with ML Algorithms

Jupyter Notebooks are wonderful because they provide a way to share code, explanations, and visualizations in the same place. Notebooks add narrative to computation. The cells compartmentalize steps and fascilitate data analysis. In this way, notebooks act as an invitation for experimentation. If you are looking to enhance your time series data by performing time series data analytics or data science tasks, a Notebook is a great place to start this work.

Analyze your time series data and experiment with forecasting and anomaly detection algorithms using Jupyter Notebook tutorials (.ipynb files) and corresponding sample data (.csv files). We include tutorials and sample data for the following topics:

Set up this repo

These instructions are written for InfluxDB OSS 2.0 (starting with release candidate 0 and later) or InfluxDB Cloud. If you're using InfluxDB Cloud make sure to change your URL appropriately.

Installations of Python can get a bit tricky; different versions of the language, as well as projects which require different versions of installed libraries, can quickly lead to conflicts. Using a virtual environment is reccommended. Please consider looking into additional tooling like virtualenv or pyenv might be useful.

Run pip install requirements.txt inside your virtual environment to download all of the necessary dependencies.

After cloning this repo, run Jupyter Notebook locally with jupyter notebook. This should direct you to the web application which by default runs on http://localhost:8888.

Implementation Options and Recommendations

After you analyze your time series data with notebooks and select the forecasting or anomaly detection approach that works for you, it's time to implement your solution in production. The following resources could be useful in that next step:

Additional Resources

This repo is just a sample of some of the many algorithms, approaches, and tools to time series forecasting and anomaly detection. Here are additional ML solutions that might interest the reader:

  • STUMPY: A powerful library that efficiently computes the matrix profile of a time series, which can be used for a variety of time series data mining tasks.
  • scikit-multiflow: A machine learning package for streaming data in Python, especially apt for clustering.
  • InfluxDB Interpreter for Apache Zeppelin: Apache Zeppelin is another web-based notebook similar to Jupyter Notebooks. Zeppelin has built in Spark integration. Zeppelin and the InfluxDB interpreter enables easy access to and parallelization of big time series data for quick analysis on large volumes of data.

About

A collection of Jupyter Notebook tutorials on anomaly detection, forecasting, and InfluxDB.

Resources

Stars

52 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Analyze time series data and experiment with ML Algorithms

Jupyter Notebooks are wonderful because they provide a way to share code, explanations, and visualizations in the same place. Notebooks add narrative to computation. The cells compartmentalize steps and fascilitate data analysis. In this way, notebooks act as an invitation for experimentation. If you are looking to enhance your time series data by performing time series data analytics or data science tasks, a Notebook is a great place to start this work.

Analyze your time series data and experiment with forecasting and anomaly detection algorithms using Jupyter Notebook tutorials (.ipynb files) and corresponding sample data (.csv files). We include tutorials and sample data for the following topics:

Set up this repo

These instructions are written for InfluxDB OSS 2.0 (starting with release candidate 0 and later) or InfluxDB Cloud. If you're using InfluxDB Cloud make sure to change your URL appropriately.

Installations of Python can get a bit tricky; different versions of the language, as well as projects which require different versions of installed libraries, can quickly lead to conflicts. Using a virtual environment is reccommended. Please consider looking into additional tooling like virtualenv or pyenv might be useful.

Run pip install requirements.txt inside your virtual environment to download all of the necessary dependencies.

After cloning this repo, run Jupyter Notebook locally with jupyter notebook. This should direct you to the web application which by default runs on http://localhost:8888.

Implementation Options and Recommendations

After you analyze your time series data with notebooks and select the forecasting or anomaly detection approach that works for you, it's time to implement your solution in production. The following resources could be useful in that next step:

Additional Resources

This repo is just a sample of some of the many algorithms, approaches, and tools to time series forecasting and anomaly detection. Here are additional ML solutions that might interest the reader:

  • STUMPY: A powerful library that efficiently computes the matrix profile of a time series, which can be used for a variety of time series data mining tasks.
  • scikit-multiflow: A machine learning package for streaming data in Python, especially apt for clustering.
  • InfluxDB Interpreter for Apache Zeppelin: Apache Zeppelin is another web-based notebook similar to Jupyter Notebooks. Zeppelin has built in Spark integration. Zeppelin and the InfluxDB interpreter enables easy access to and parallelization of big time series data for quick analysis on large volumes of data.

About

A collection of Jupyter Notebook tutorials on anomaly detection, forecasting, and InfluxDB.

Resources

Stars

52 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Analyze time series data and experiment with ML Algorithms

Jupyter Notebooks are wonderful because they provide a way to share code, explanations, and visualizations in the same place. Notebooks add narrative to computation. The cells compartmentalize steps and fascilitate data analysis. In this way, notebooks act as an invitation for experimentation. If you are looking to enhance your time series data by performing time series data analytics or data science tasks, a Notebook is a great place to start this work.

Analyze your time series data and experiment with forecasting and anomaly detection algorithms using Jupyter Notebook tutorials (.ipynb files) and corresponding sample data (.csv files). We include tutorials and sample data for the following topics:

Set up this repo

These instructions are written for InfluxDB OSS 2.0 (starting with release candidate 0 and later) or InfluxDB Cloud. If you're using InfluxDB Cloud make sure to change your URL appropriately.

Installations of Python can get a bit tricky; different versions of the language, as well as projects which require different versions of installed libraries, can quickly lead to conflicts. Using a virtual environment is reccommended. Please consider looking into additional tooling like virtualenv or pyenv might be useful.

Run pip install requirements.txt inside your virtual environment to download all of the necessary dependencies.

After cloning this repo, run Jupyter Notebook locally with jupyter notebook. This should direct you to the web application which by default runs on http://localhost:8888.

Implementation Options and Recommendations

After you analyze your time series data with notebooks and select the forecasting or anomaly detection approach that works for you, it's time to implement your solution in production. The following resources could be useful in that next step:

Additional Resources

This repo is just a sample of some of the many algorithms, approaches, and tools to time series forecasting and anomaly detection. Here are additional ML solutions that might interest the reader:

  • STUMPY: A powerful library that efficiently computes the matrix profile of a time series, which can be used for a variety of time series data mining tasks.
  • scikit-multiflow: A machine learning package for streaming data in Python, especially apt for clustering.
  • InfluxDB Interpreter for Apache Zeppelin: Apache Zeppelin is another web-based notebook similar to Jupyter Notebooks. Zeppelin has built in Spark integration. Zeppelin and the InfluxDB interpreter enables easy access to and parallelization of big time series data for quick analysis on large volumes of data.

About

A collection of Jupyter Notebook tutorials on anomaly detection, forecasting, and InfluxDB.

Resources

Stars

52 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Analyze time series data and experiment with ML Algorithms

Jupyter Notebooks are wonderful because they provide a way to share code, explanations, and visualizations in the same place. Notebooks add narrative to computation. The cells compartmentalize steps and fascilitate data analysis. In this way, notebooks act as an invitation for experimentation. If you are looking to enhance your time series data by performing time series data analytics or data science tasks, a Notebook is a great place to start this work.

Analyze your time series data and experiment with forecasting and anomaly detection algorithms using Jupyter Notebook tutorials (.ipynb files) and corresponding sample data (.csv files). We include tutorials and sample data for the following topics:

Set up this repo

These instructions are written for InfluxDB OSS 2.0 (starting with release candidate 0 and later) or InfluxDB Cloud. If you're using InfluxDB Cloud make sure to change your URL appropriately.

Installations of Python can get a bit tricky; different versions of the language, as well as projects which require different versions of installed libraries, can quickly lead to conflicts. Using a virtual environment is reccommended. Please consider looking into additional tooling like virtualenv or pyenv might be useful.

Run pip install requirements.txt inside your virtual environment to download all of the necessary dependencies.

After cloning this repo, run Jupyter Notebook locally with jupyter notebook. This should direct you to the web application which by default runs on http://localhost:8888.

Implementation Options and Recommendations

After you analyze your time series data with notebooks and select the forecasting or anomaly detection approach that works for you, it's time to implement your solution in production. The following resources could be useful in that next step:

Additional Resources

This repo is just a sample of some of the many algorithms, approaches, and tools to time series forecasting and anomaly detection. Here are additional ML solutions that might interest the reader:

  • STUMPY: A powerful library that efficiently computes the matrix profile of a time series, which can be used for a variety of time series data mining tasks.
  • scikit-multiflow: A machine learning package for streaming data in Python, especially apt for clustering.
  • InfluxDB Interpreter for Apache Zeppelin: Apache Zeppelin is another web-based notebook similar to Jupyter Notebooks. Zeppelin has built in Spark integration. Zeppelin and the InfluxDB interpreter enables easy access to and parallelization of big time series data for quick analysis on large volumes of data.

About

A collection of Jupyter Notebook tutorials on anomaly detection, forecasting, and InfluxDB.

Resources

Stars

52 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages