Learning Sparse Latent Graph Representations for Anomaly Detection in Multivariate Time Series (KDD '22)
This repository contains the official PyTorch implementation* of Fused Sparse Autoencoder and Graph Net (FuSAGNet), introduced in "Learning Sparse Latent Graph Representations for Anomaly Detection in Multivariate Time Series" (KDD '22).
* Partly based on the implementation of GDN, introduced in "Graph Neural Network-Based Anomaly Detection in Multivariate Time Series" (AAAI '21).
├── data
| └── swat
| ├── list.txt
| ├── test.csv
| └── train.csv
├── datasets
| └── TimeDataset.py
├── models
| ├── FuSAGNet.py
| └── graph_layer.py
├── util
| ├── data.py
| ├── net_struct.py
| ├── preprocess.py
| └── time.py
├── .gitattributes
├── .gitignore
├── README.md
├── __init__.py
├── evaluate.py
├── main.py
├── test.py
└── train.py
- Python >= 3.6
- CUDA == 10.2
- PyTorch == 1.5.0
- PyTorch Geometric == 1.5.0
This repository includes SWaT as the default dataset (see the data
directory). The WADI dataest can be requested here and the HAI dataset can be downloaded here.
You can run the code using the following command.
python main.py
If you find our work useful, please consider citing our paper.
@inproceedings{han2022learning,
title={Learning Sparse Latent Graph Representations for Anomaly Detection in Multivariate Time Series},
author={Han, Siho and Woo, Simon S},
booktitle={Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining},
pages={2977--2986},
year={2022}
}
- Han, Siho, and Simon S. Woo. "Learning Sparse Latent Graph Representations for Anomaly Detection in Multivariate Time Series." Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. 2022.