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.
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.
- 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.
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:
pip install jupyter pandas numpy scikit-learn matplotlib seaborn