d-ailin / GDN

Implementation code for the paper "Graph Neural Network-Based Anomaly Detection in Multivariate Time Series" (AAAI 2021)
MIT License
481 stars 141 forks source link

GDN

Code implementation for : Graph Neural Network-Based Anomaly Detection in Multivariate Time Series(AAAI'21)

Installation

Requirements

Install packages

    # run after installing correct Pytorch package
    bash install.sh

Quick Start

Run to check if the environment is ready

    bash run.sh cpu msl
    # or with gpu
    bash run.sh <gpu_id> msl    # e.g. bash run.sh 1 msl

Usage

We use part of msl dataset(refer to telemanom) as demo example.

Data Preparation

# put your dataset under data/ directory with the same structure shown in the data/msl/

data
 |-msl
 | |-list.txt    # the feature names, one feature per line
 | |-train.csv   # training data
 | |-test.csv    # test data
 |-your_dataset
 | |-list.txt
 | |-train.csv
 | |-test.csv
 | ...

Notices:

Run

    # using gpu
    bash run.sh <gpu_id> <dataset>

    # or using cpu
    bash run.sh cpu <dataset>

You can change running parameters in the run.sh.

Others

SWaT and WADI datasets can be requested from iTrust

Citation

If you find this repo or our work useful for your research, please consider citing the paper

@inproceedings{deng2021graph,
  title={Graph neural network-based anomaly detection in multivariate time series},
  author={Deng, Ailin and Hooi, Bryan},
  booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
  volume={35},
  number={5},
  pages={4027--4035},
  year={2021}
}