Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/deepmancer/timeseries-anomaly-detection

Analysis of Classical Machine Learning Algorithms for Anomaly Detection in Time Series Data
https://github.com/deepmancer/timeseries-anomaly-detection

autoencoder isolation-forest local-outlier-factor machine-learning-algorithms python rolling-statistics scikit-learn scikitlearn-machine-learning step-by-step step-by-step-guide time-series time-series-anomaly-detection z-score

Last synced: 2 months ago
JSON representation

Analysis of Classical Machine Learning Algorithms for Anomaly Detection in Time Series Data

Awesome Lists containing this project

README

        

# 📈 Time Series Classic Anomaly Detection


scikit-learn
Python
Jupyter

---

## 📖 Overview

This repository provides an in-depth exploration of time series anomaly detection techniques, utilizing classic machine learning models. The project is implemented in a Jupyter Notebook, which offers an interactive environment to experiment with and understand the methods used for detecting anomalies in time series data.

---

## 📝 Project Description

Time series anomaly detection is a critical task in various domains, from finance to IoT, where identifying unexpected behavior in data is essential for decision-making and security. This project explores classic anomaly detection techniques tailored for time series data, including methods like:

- **Z-Score Analysis**: Detects anomalies based on statistical deviation.
- **Rolling Statistics**: Uses moving averages and standard deviations to flag anomalies.
- **Isolation Forest**: A tree-based model that isolates anomalies in high-dimensional data.
- **Local Outlier Factor (LOF)**: Identifies anomalies based on the local density of data points.
- **Autoencoders**: Neural networks trained to reconstruct input data, with anomalies detected as poorly reconstructed instances.

### Key Features:

- **Step-by-Step Implementation**: Each method is implemented from scratch, with explanations provided for the underlying concepts.
- **Interactive Exploration**: The Jupyter Notebook format allows for interactive experimentation, making it easy to adjust parameters and observe the effects on anomaly detection.
- **Visualizations**: Detailed plots and graphs are included to visualize the data and highlight detected anomalies.

---

## 🛠️ Prerequisites

Ensure that you have the following dependencies installed to run the Jupyter Notebook:

- **Python 3.6+**
- **Jupyter Notebook**
- **Pandas**
- **NumPy**
- **Scikit-learn**
- **Matplotlib**
- **Seaborn**

You can install the required libraries via pip:

```bash
pip install jupyter pandas numpy scikit-learn matplotlib seaborn
```