Code for the paper: @inproceedings{meli2024causal_anomaly, title={Explainable Online Unsupervised Anomaly Detection for Cyber-Physical Systems via Causal Discovery from Time Series}, author={Meli, Daniele}, booktitle={IEEE 20th International Conference on Automation Science and Engineering (CASE)}, year={2024 (in publication)}, organization={IEEE} }
- Python 3.10
- https://github.com/jakobrunge/tigramite
- SWAT dataset available at https://itrust.sutd.edu.sg/itrust-labs_datasets/dataset_info/ (A2 version tested)
- Pepper dataset available at https://sites.google.com/diag.uniroma1.it/robsec-data
- Learn causal models via learn_causal.py
- Test anomaly detection via anomaly_detection.py