I am looking at time series security attack data where a given IP can either be labeled as (1) attack or (0) no attack. In total we will have thousands of IPs and roughly an equal number of attacks and non attacks. The data is rather noisy and every time series sequence can have a different length.

I am looking for advise on state of the art approaches to time series classification. I am past the stage of simple things like moving averages and I am looking for ways to improve my current methods or new things to try.

I have currently implemented a few different techniques:

  1. K-nearest neighbor with DTW. I am successfully using http://www.cs.ucr.edu/~eamonn/UCRsuite.html which provides state of the art performance.
  2. Logical shapelets (http://www.cs.ucr.edu/~mueen/LogicalShapelet/). This seems promising but have not been able to get any existing code base to work.

Can anyone suggest different technique to try? I have seen papers about discords and motifs but still need to investigate if they are relevant for my problem.

  • $\begingroup$ Since you've had some success with k-nearest neighbor and KNN is the simplest of the analogue based classifiers and is usually significantly outperformed by SVM (i.e. the best analogue based classifier), have you considered just changing the KNN to an SVM? $\endgroup$ – AN6U5 Dec 29 '15 at 23:12
  • $\begingroup$ I can help you if you provide some details? What is your time-series exactly? and you want to classify different time-series or different part of a single time-series? $\endgroup$ – Kasra Manshaei Dec 30 '15 at 11:40

I would suggest Recurrent Neural Nets. They are good for time series, however they need a huge dataset to get good performance. Here you can find an implementation in torch.


I would suggest "Generalized Alignment Kernels" by Marco Suturi for time-series classification. The idea is to use the well known DTW distance in the SVM. The problem which was solved in the paper is that the DTW distance does not result in a valid SVM kernel; there are some tricks employed by the authors to enable that.

I ran this algorithm on some popular time-series datasets and noticed:

  1. The algorithm is very fast
  2. The performances are very good on the respective datasets with respect to the published test sets (UCR Time Series)

Finally, the source code is available.

  • $\begingroup$ The first link is broken. $\endgroup$ – M-T-A Feb 23 '17 at 13:22
  • $\begingroup$ @M-T-A The link to the paper has been updated. Sorry! $\endgroup$ – Vladislavs Dovgalecs Feb 23 '17 at 17:22

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.