While stable, this implementation is still a work in progress and can still be further optimized for Python. All credit to the Python DAMP implementation is listed in the respective portion of the README. Please support their code too by visiting the original fork!
This repository contains an unofficial Python implementation of MERLIN And DAMP Refinder Iteratively On Demand (MADRID), introduced in "MADRID: A Hyper-Anytime Algorithm to Find Time Series Anomalies of all Lengths by Lu, Yue, et al. The official MADRID implementation in MATLAB is available here.
You can run the code using the following command.
python madrid.py
You can also import the MADRID function into your own code as a module for use in Jupyter notebooks or other Python scripts.
Authors:
- Siho Han (@sihohan)
- Jihwan Min (@rtm-jihwan-min)
- Taeyeong Heo (@htyvv)
- JuI Ma (@iju298)
This repository contains an unofficial Python implementation of Discord Aware Matrix Profile (DAMP), introduced in "Matrix Profile XXIV: Scaling Time Series Anomaly Detection to Trillions of Datapoints and Ultra-fast Arriving Data Streams" (KDD '22). The official MATLAB implementation can be found here.
├── data
| └── samples
| └── BourkeStreetMall.txt
├── .gitignore
├── README.md
├── damp.py
└── utils.py
- Python >= 3.6
- matplotlib
- numpy
This repository includes Bourke Street Mall as the default dataset (see the data
directory), which can be downloaded here.
You can run the code using the following command.
python damp.py
With --enable_output
, the resulting plot and DAMP values will be saved in the ./figures
and ./outputs
directories, respectively.
Note that the input time series and its corresponding DAMP scores on the plot are scaled for visualization purposes.
- Lu, Yue, et al. "Matrix Profile XXIV: Scaling Time Series Anomaly Detection to Trillions of Datapoints and Ultra-fast Arriving Data Streams." Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. 2022.