At our company we are planning to start machine learning implementation for time series data. What would be the recommendations for any good books to start with.
From my experience, these resources are worth read:
[1] Pattern Recognition and Machine Learning (Information Science and Statistics) by Christopher M. Bishop
Andreas Brandmaier's permutation distribution clustering is a method rooted in the dissimilarities between time series, formalized as the divergence between their permutation distributions. Personally, I think this is your "best" option
http://cran.r-project.org/web/packages/pdc/index.html
Eamonn Keogh's SAX (Symbolic Aggregate Approximation) and iSAX routines develop "shape clustering" for time series
There are approaches based on text compression algorithms that remove the redundancy in a sequence of characters (or numbers), creating a kind of distance or density metric that can be used as inputs to clustering, see, e.g.:
This paper by Rob Hyndman Dimension Reduction for Clustering Time Series Using Global Characteristics, discusses compressing a time series down to a small set of global moments or metrics and clustering on those:
Chapter 15 in Aggarwal and Reddy's excellent book, Data Clustering, is devoted to a wide range (a laundry list, really) of time-series clustering methods (pps 357-380). The discussion provides excellent background to many of the issues specific to clustering a time series"
- not everything that can be represented as time series, should be
- not everything that can be represented as time series, can be reliably forecasted
- the theory on time series forecasting is dry. Really dry.
- working with time series is quite different from most other ML tasks
- the more advanced solutions that get mentioned in the latest research are specific to the application that was subject of the paper and often don't generalise very well
> working with time series is quite different from most other ML tasks
Seconding this. I work on a time-series forecasting team. The ability of ML to work on time-series forecasting is very domain specific. If you want to predict electricity usage in the next 1-hour, and have 10 years of data, along with 10 years of data on interesting variables (e.g. weather, entertainment, whatever else), then throwing it all at a neural net or whatever you want, could be useful.
Why? Because you're predicting one step ahead and have a lot of data.
On the other hand, if the requirement is you produce a multi-year forecast ahead, and you don't have a lot of data to work with, this suggests you may not have a wealth of data. ML algos are great at squeezing prediction out of lots of data. Traditional statistical time-series algos are great at imposing structure through stronger distributional assumptions, which allows data to only speak to the extent that it can express itself through the structure that the algorithm allows it to speak.
I did bot have a good experience with Goodfellow’s Deep Learning Book. It’s much more written for the scholar than the practitioner. Furthermore, a couple relatively important methods (Transformer Layers, Causal convolutions, etc.) aren’t given proper treatment because the field was still moving fast at the time of publishing.
You might want to look at the series of books by Timothy Masters, in particular; the book "Neural, Novel & Hybrid Algorithms for Time Series Prediction".
8 comments
[ 3.5 ms ] story [ 36.8 ms ] thread[1] Pattern Recognition and Machine Learning (Information Science and Statistics) by Christopher M. Bishop
Andreas Brandmaier's permutation distribution clustering is a method rooted in the dissimilarities between time series, formalized as the divergence between their permutation distributions. Personally, I think this is your "best" option http://cran.r-project.org/web/packages/pdc/index.html
Eamonn Keogh's SAX (Symbolic Aggregate Approximation) and iSAX routines develop "shape clustering" for time series
http://www.cs.ucr.edu/~eamonn/SAX.htm
There are approaches based on text compression algorithms that remove the redundancy in a sequence of characters (or numbers), creating a kind of distance or density metric that can be used as inputs to clustering, see, e.g.:
http://link.springer.com/chapter/10.1007/978-0-387-84816-7_4
This paper by Rob Hyndman Dimension Reduction for Clustering Time Series Using Global Characteristics, discusses compressing a time series down to a small set of global moments or metrics and clustering on those:
http://www.robjhyndman.com/papers/wang2.pdf
Chapter 15 in Aggarwal and Reddy's excellent book, Data Clustering, is devoted to a wide range (a laundry list, really) of time-series clustering methods (pps 357-380). The discussion provides excellent background to many of the issues specific to clustering a time series"
http://users.eecs.northwestern.edu/~goce/SomePubs/Similarity...
...and a lot more.
-- URL --
[1] https://www.amazon.com/Pattern-Recognition-Learning-Informat...
Keep in mind:
- not everything that can be represented as time series, should be
- not everything that can be represented as time series, can be reliably forecasted
- the theory on time series forecasting is dry. Really dry.
- working with time series is quite different from most other ML tasks
- the more advanced solutions that get mentioned in the latest research are specific to the application that was subject of the paper and often don't generalise very well
Seconding this. I work on a time-series forecasting team. The ability of ML to work on time-series forecasting is very domain specific. If you want to predict electricity usage in the next 1-hour, and have 10 years of data, along with 10 years of data on interesting variables (e.g. weather, entertainment, whatever else), then throwing it all at a neural net or whatever you want, could be useful.
Why? Because you're predicting one step ahead and have a lot of data.
On the other hand, if the requirement is you produce a multi-year forecast ahead, and you don't have a lot of data to work with, this suggests you may not have a wealth of data. ML algos are great at squeezing prediction out of lots of data. Traditional statistical time-series algos are great at imposing structure through stronger distributional assumptions, which allows data to only speak to the extent that it can express itself through the structure that the algorithm allows it to speak.
[1] - https://www.deeplearningbook.org/
A much better investment would be the One Hundred Page Machine Learning Book. It’s written with practitioners in mind. Link here: https://www.amazon.com/Hundred-Page-Machine-Learning-Book/dp...: