I'd like to develop a set of models for anomaly detection of multiple time series. After some reading, I have found a few promising approaches, such as

  1. Segmentation-based approaches (SECODA);
  2. Artificial neural network based (auto encoders);
  3. Recurrent neural network approaches such as Long Short Term Memory.

By the way, if you see some good technique that I have missed, let me know!

All these approached are unsupervised, and I understand that because in typical applications the anomalies may be rare events. Nonetheless, I wouldn't like to lose the information contained in those small known cases. So I was wondering, are there any supervised approaches for anomaly detection of multiple time series?


These approaches should be supervised approached, must need training data.
So I think you'd like to mention if the model needs normal data or anormal data.

This is tricky problem.

In classification method like SVM, it outputs anormal or not by training normal and anormal data.

In the other hand, prediction method like LSTM normally is trained by normal data.
Then comparing the prediction from normal data and anormal data by LSTM.

Now you get error of prediction and actual data.
Error:Normal data
Error:Anormal data

For separating anormal and normal data, Some theory is need like threshold.
The threshold should be calculated by error on both data. (You might need feature engineering.)

It means LSTM may need anormal and normal data.
So you have to check which data will be needed in whole process.

Majority of statistical and machine learning method can be used in anormaly detection.
Point is which feature represent anomaly behavior, which model can fit its behavior.

| cite | improve this answer | |

If you are looking for ways to incorporate existing label information in the analysis of time series, you can try to use various supervised approaches. Since you mention neural networks twice, this article may be of interest. It's about detecting specific deviations in heart monitoring time series data. This is a task that can be done unsupervised, but in this case the authors wanted to incorporate (patient specific) information into the analysis. You can also look at semi-supervised anomaly detection and rare category detection.

Although SECODA can be useful in some time-dependent use cases, it's primarily intended as an unsupervised algorithm for mixed independent data. It is non-parametric and scalable in terms of rows (not so much attributes). See this link to download a zip file with code and data examples in R.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.