Learn time-series anomaly detection from z-scores to state-of-the-art deep models: runnable notebooks, honest evaluation, real-world case studies.
Toolboxes for anomaly detection exist. What is missing is a path: a sequence of tutorials that starts from methods you can compute by hand, builds up to the deep models used in production, and is honest about the part most material skips, which is how to evaluate a detector without fooling yourself.
Every notebook in this repo:
- runs top to bottom on CPU in minutes, seeded and reproducible,
- pairs every method with its failure modes, not just its wins,
- measures results with ground-truth labels where they exist, and says so clearly where they do not,
- uses one consistent, colorblind-safe visual language.
The numbering is the recommended reading order; each notebook still stands on its own.
git clone https://github.com/JulienAu/anomaly-detection-tutorials.git
cd anomaly-detection-tutorials
uv venv && uv pip install -e ".[dev]"
uv run jupyter labOr open any notebook directly in Colab with the badge in the table above; the first cell installs what it needs.
The adtuto package in src/ holds what the notebooks share (plotting theme, datasets, windowing helpers) so each notebook stays focused on its method.
This repo started in 2016 as one of the early autoencoder anomaly detection tutorials and reached 190 stars in its first life. In 2026 it was rebuilt from scratch: same mission, ten years of hindsight, and a much higher bar for evaluation rigor.
MIT. If a notebook helps you, a star helps others find it.
