{"id":20019264,"url":"https://github.com/jbris/time_series_anomaly_detection_examples","last_synced_at":"2025-05-04T23:31:49.707Z","repository":{"id":39729469,"uuid":"248667724","full_name":"JBris/time_series_anomaly_detection_examples","owner":"JBris","description":"Several examples of anomaly detection algorithms for time series data.","archived":false,"fork":false,"pushed_at":"2024-11-20T07:06:23.000Z","size":3696,"stargazers_count":16,"open_issues_count":9,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-08T14:12:07.797Z","etag":null,"topics":["anomaly-detection","anomaly-detection-algorithm","data-science","docker","grafana","grafana-influxdb","influxdb","influxdb-grafana","machine-learning","machine-learning-algorithms","python","r","rstudio","statistics","telegraf","tensorflow","tensorflow-examples","tensorflow-tutorials","time-series","time-series-analysis"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JBris.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-20T04:26:50.000Z","updated_at":"2024-12-30T22:24:55.000Z","dependencies_parsed_at":"2024-11-13T08:38:17.257Z","dependency_job_id":null,"html_url":"https://github.com/JBris/time_series_anomaly_detection_examples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBris%2Ftime_series_anomaly_detection_examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBris%2Ftime_series_anomaly_detection_examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBris%2Ftime_series_anomaly_detection_examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBris%2Ftime_series_anomaly_detection_examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JBris","download_url":"https://codeload.github.com/JBris/time_series_anomaly_detection_examples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252414344,"owners_count":21744091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anomaly-detection","anomaly-detection-algorithm","data-science","docker","grafana","grafana-influxdb","influxdb","influxdb-grafana","machine-learning","machine-learning-algorithms","python","r","rstudio","statistics","telegraf","tensorflow","tensorflow-examples","tensorflow-tutorials","time-series","time-series-analysis"],"created_at":"2024-11-13T08:26:40.714Z","updated_at":"2025-05-04T23:31:47.428Z","avatar_url":"https://github.com/JBris.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# time_series_anomaly_detection_examples\n\n## Table of Contents  \n\n* [Introduction](#introduction)\u003ca name=\"introduction\"/\u003e\n* [Python](#python)\u003ca name=\"python\"/\u003e\n* [R](#r)\u003ca name=\"r\"/\u003e\n* [InfluxDB](#influxdb)\u003ca name=\"influxdb\"/\u003e\n\n### Introduction\n\nThe Time Series Anomaly Detection repo contains several examples of anomaly detection algorithms for use with time series data sets.\n\nExamples can be found in the [python directory](python) and [r directory](r).\n\nInfluxDB and Grafana are optionally included in the Docker stack for data storage and visualization purposes. Telegraf has been included to fill the InfluxDB with dummy metric data.\n\nRedis is optionally included in the Docker stack for caching (i.e. memoization) purposes.\n\nIf you're using Docker, execute [build.sh](build.sh) to get started.\n\n### Python\n\nExamples are typically written in python. From the [.env.example file](.env.example), you can see that scripts are written in python 3.8.2. A list of module dependencies can be found in the [Dockerfile](python/Dockerfile) and [requirements.txt](python/requirements.txt). You aren't forced to use Docker, and can use something like Conda instead if that's your preference.\n\nIf you opt to use Docker, you can view the [Makefile](Makefile) for relevant Docker commands. The `make penter` command will create a new container and execute the python CLI. The `make prun` command will run a python script. For example, `make prun d=ts_price_anomaly_detection s=view` will run [ts_price_anomaly_detection/view.py](python/ts_price_anomaly_detection/view.py)\n\nExample anomaly detection algorithms can be found in the [python](python) directory, and each example directory contains a similar structure. When exploring an example, you should first read the README.md and references.md files. The references.md file will provide you with a relevant link to a tutorial page and data set. Download the recommended data set and place it in the local data directory (don't place it in the [root data directory](data)).\n\nYou can then execute various python scripts to analyze and model the data. It's recommended that you run explore.py then view.py first to better understand the distribution of the data.\n\n### R\n\nAdditional examples are written in R. From the [.env.example file](.env.example), you can see that R scripts are written in version 3.6.3. A list of additional R packages can be found in the [Dockerfile](r/Dockerfile). \n\nAs the [docker-compose.yml](docker-compose.yml) file shows, this repo employs the [rocker/tidyverse image](https://hub.docker.com/r/rocker/tidyverse) which already includes the tidyverse collection and RStudio server.\n\nIf you opt to use Docker, you can view the [Makefile](Makefile) for relevant Docker commands. The `make renter` command will allow users to execute shell commands within the R container. The `make rrun` command will run an R script. For example, `make rrun s=bitcoin_anomalies` will run [$R_STUDIO_USER/bitcoin_anomalies.r](r/user/bitcoin_anomalies.r)\n\nExample anomaly detection algorithms can be found in the [r directory](r). You can then execute various r scripts to analyze and model the data. \n\n### InfluxDB\n\nInfluxDB is a time series database. For those who are unfamiliar, more information can be found at [influxdata.com](https://www.influxdata.com/). InfluxDB can be combined with [Grafana](https://grafana.com/) to analyze and visualize the data. View the [.env.example file](.env.example) to configure your InfluxDB \u0026 Grafana versions and ports.\n\nCSV files can be easily imported to your InfluxDB instance using the [csv-to-influxdb](https://github.com/fabio-miranda/csv-to-influxdb) package. Each example directory will contain a README.md file with a `csv-to-influxdb.py` command to execute.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbris%2Ftime_series_anomaly_detection_examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbris%2Ftime_series_anomaly_detection_examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbris%2Ftime_series_anomaly_detection_examples/lists"}