Compile | Enron
An article published in DataScience recently introduced the time series analysis in Data Processing from CNN-LSTMS RNN LSTM, and explained the concept of time series and why the deep learning method was chosen.
What is time series analysis?
Time series is a series of data points, and sorting by timestamp is the analysis of time series data.
From the daily fruit price to the voltage output reading provided by the circuit, the range of time series is very large, and so is the field of time series analysis. The analysis of time series data usually focuses on prediction, but it can also include classification, clustering, anomaly detection and so on.
For example, by studying the past price change pattern, we can try to predict the price of the watch we once wanted to buy and judge the best time to buy it!
Why choose deep learning?
Time series data can be very unstable and complex. Deep learning method does not assume the basic pattern of data, and is more robust to noise (which is very common in time series data), so it is the first choice for time series analysis.
data processing
Before making a prediction, it is very important to process the data in a form that can be understood by the mathematical model. By using sliding window to cut data points, time series data can be transformed into supervised learning problems. Then, the expected output of each sliding window is the time step after the window ends.
Cyclic network
Circular network is a complex deep learning network. They can remember the past, so they are the first choice for sequence processing. RNN unit is the backbone of ring network.
The RNN unit has two input connections, namely input and previous state. Similarly, they also have two output connections, namely output and current status. This state helps them combine past and current input information.
The simple RNN unit is too simple to be used for time series analysis across multiple domains. So over the years, various varieties have been put forward to adapt the ring network to various fields, but the core idea remains the same! 、
LSTM is in RNN
The LSTM cell is a special RNN cell with a "gate", which is essentially a value between 0 and 1, corresponding to the state input. The intuition behind these doors is to forget or keep the information of the past, which enables them to remember not only the past, but also more.
Cnn (CNN)
Because the state information goes through every step, RNNs can only remember the recent past.
On the other hand, gated networks such as LSTM and GRU can handle relatively long sequences, but even these networks have their limitations! ! In order to better understand this problem, we can also study the gradient of disappearance and explosion.
So how to deal with long sequences? The obvious solution is to shorten them! ! But what? One method is to discard the fine-grained time information presented in the signal.
This can be achieved by accumulating a small set of data points and creating features from them, and then passing these features to LSTM as a single data point.
Multiscale layered LSTMs
Looking at the CNN-LSTM building, I thought of one thing ... why use CNN to merge those groups? Why not use a different LSTM! Multiscale layered LSTMs is based on the same idea.
Input is processed on multiple scales, and each scale is dedicated to doing something unique. The low-level fine-grained input focuses on providing fine-grained (but only recent) time information.
On the other hand, a higher proportion focuses on providing complete pictures (but no fine-grained details). Multiple scales together can better understand the time series.
What's next?
Time series analysis is a very old field, including various interdisciplinary problems, and each presentation problem has its own challenges.
However, although various fields have adjusted the model according to their own requirements, there are still some general research directions in time series analysis that need to be improved.
For example, every development from the most basic RNN unit to the multi-scale hierarchical LSTM focuses on processing longer sequences in some way, but even the latest LSTM modification has its own sequence length limitations, and there is still no architecture that can really handle very long sequences.