Member-only story
A Brief Survey of Time Series Classification Algorithms
Dedicated algorithms specially designed for classifying time series

A common task for time series machine learning is classification. Given a set of time series with class labels, can we train a model to accurately predict the class of new time series?

There are many algorithms dedicated to time series classification! This means you don’t have wrangle your data into a scikit-learn classifier or to turn to deep learning to solve every time series classification task.
In this article, I will introduce five categories of time series classification algorithms with details of specific algorithms. These specific algorithms have been shown to perform better on average than a baseline classifier (KNN) over a large number of different datasets [1].
- Distance-based (KNN with dynamic time warping)
- Interval-based (TimeSeriesForest)
- Dictionary-based (BOSS, cBOSS)
- Frequency-based (RISE — like TimeSeriesForest but with other features)
- Shapelet-based (Shapelet Transform Classifier)
I conclude with brief guidance on selecting an appropriate algorithm.
The algorithms described in this article have been implemented in the sktime
python package.
Why dedicated algorithms for time series?
Time series classification algorithms tend to perform better than tabular classifiers on time series classification problems.
A common, but problematic solution to time series classification is to treat each time point as a separate feature and directly apply a standard learning algorithm (e.g. scikit-learn classifiers). In this approach, the algorithm ignores…