Skip to content

gwangyoungyoum/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)

Implemented Algorithms

  • RNN based Multi-step predictor
  • Multivariate Gaussian distribution based anomaly detector

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
  1. 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

  1. Anomaly detection:

Anomaly scores from the Multivariate Gaussian Distribution model

equation1

scores1 scores2

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%