tsai — State of the Art Machine Learning for Time Series, Part 1.
There are more cool time series libraries for Python than you can shake a stick at. You might have heard of some of them:
Each of these libraries has different methods for dealing with the various time series learning tasks — regression, classification and forecasting. Where they tend to differ is in the selection of methods they use, ranging from traditional statistical methods (e.g. ARIMA), to dynamic time series warping, symbolic time series approximations, and more.
For those who are interested in time series classification (TSC)— let’s talk about two types of machine learning methods that are popular these days. One is ROCKET, and the other is deep learning. For an overview into TSC methods and ROCKET in particular, you would do well to read the following posts by Alexandra Amidon:
- ROCKET : Fast and Accurate Time Series Classification
- A Brief Survey of Time Series Classification Algorithms
ROCKET vs. Deep Learning
The tldr is this: ROCKET is one of the best off-the-shelf, general purpose of time series classification algorithms out there. And then there is Mini-ROCKET, which is faster to train without much loss (if any) in performance. Both are fairly fast. Anecdotally, I would say that MiniROCKET, in particular, is faster than many gradient boosted decision tree type algos, such as XGBoost or LightGBM, or at least on par. On my data set, the thing is that they are faster AND more accurate.
The same thing cannot be said for deep learning methods — those that deal with time series tend to borrow or adapt architectures normally associated with computer vision and NLP. So you have people experimenting with ResNets, Transformers, LSTMs, CNNs, Temporal Convolutional Networks, Wavelet-based methods, and various other hybrids of all these. These can take a lot more time to train, and then there’s all the time you might spend hyperparameter tuning. Still, it might be at least worth exploring how deep learning models work on your data. Just in case.
sktime vs tsai
Many of you have no doubt heard of a sktime — as the name suggests, it takes inspiration from scikit-learn, with a similar API. Think…