Skip to content

lulzzz/RNN-Time-series-Anomaly-Detection

 
 

Repository files navigation

RNN-Time-series-Anomaly-Detection

RNN based Time-series Anomaly detector model implemented in Pytorch.

This is an implementation of RNN based time-series anomaly detector, which consists of two-stage strategy of time-series prediction and anomaly score calculation.

Requirements

  • Python 3.5+
  • Pytorch 0.3.1+
  • Numpy
  • Matplotlib

Dataset

NYC taxi passenger count

Electrocardiograms (ECGs)

2D gesture

Implemented Algorithms

Example of usage

1. Time-series prediction: Train and save RNN based time-series prediction model

    python 1_train_predictor_ecg.py
    python 1_train_predictor_nyc.py

2. Anomaly detection: Fit multivariate gaussian distribution on train dataset and calculate anomaly scores on test dataset

    python 2_anomaly_detection_ecg.py
    python 2_anomaly_detection_nyc.py

Result

1. Time-series prediction: Predictions from the stacked RNN model

prediction1

prediction2

2. Anomaly detection:

Anomaly scores from the Multivariate Gaussian Distribution model

equation1

  • NYC taxi passenger count

scores1

scores2

  • Electrocardiograms (ECGs)

scores3

scores4

scores5

scores6

To do

  • Add more time-series data
  • Add quantitative evaluation method such as precision, recall and F1 score.

About

RNN based Time-series Anomaly detector model implemented in Pytorch.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%