Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Time Series Prediction via Neural Networks

I have been working on Neural Networks for various purposes lately. I have had great success in digit recognition, XOR, and various other easy/hello world'ish applications.

I would like to tackle the domain of time series estimation. I do not have a University account at the moment to read all the IEEE/ACM papers on the topic (for free), nor can I find many resources detailing using ANN for time series forcasting.

I would like to know if anyone has any suggestions or can recommend any resources concerning using ANN for forcasting via time series data?

I would assume that to train the NN, you would insert a few immediately time steps and the expected output would be the next timestep (example: inputs of n-5, n-4, n-3, n-2, n-1 should come out with an output of result at timestep N. ... and slide down some amount of timesteps and do it all again.

Can anyone confirm this or comment on it? I would appreciate it!

like image 378
digitalfoo Avatar asked Nov 20 '10 02:11

digitalfoo


People also ask

Can I use neural network for time series?

Convolutional Neural Networks (CNNs) Convolutional Neural Networks or CNNs are a type of neural network that was designed to efficiently handle image data. The ability of CNNs to learn and automatically extract features from raw input data can be applied to time series forecasting problems.

Which neural network is best for time series forecasting?

Recurrent Neural Networks (RNNs) The Recurrent Neural Network (RNN) is one of the promising ANNs that has shown accurate results for time series forecasting. It is made up of a series of interconnected neural networks at different time intervals or time steps.

Can neural networks be used for prediction?

Predictive neural networks are a sophisticated data mining application that imitate the function of the brain to detect patterns in data sets. These mathematical models can detect the most subtle and complex relationships between your variables.

Which algorithm is best for time series forecasting?

The most popular statistical method for time series forecasting is the ARIMA (Autoregressive Integrated Moving Average) family with AR, MA, ARMA, ARIMA, ARIMAX, and SARIMAX methods.


2 Answers

I think that you've got the basic idea: a "sliding window" approach where a network is trained to use the last k values of a series (Tn-k ... Tn-1) to predict the current value (Tn).

There are a lot of ways you can do this, however. For example:

  • How big should that window be?
  • Should the data be preprocessed in any way (e.g. to remove outliers)?
  • What network configuration (e.g. # of hidden nodes, # of layers) and algorithm should be used?

Often people end up figuring out the best way to learn from their particular data by trial and error.

There are a fair number of publicly-accessible papers out there about this stuff. Start with these, and look at their citations and papers that cite them via Google Scholar, and you should have plenty to read:

  • Frank, R. J. and Davey, N. and Hunt, S. P. Time Series Prediction and Neural Networks. Journal of Intelligent and Robotic Systems, 2001. Volume 31, Issue 1, pp. 91-103.
  • J.T. Connor, R.D. Martin, and L.E. Atlas. Recurrent neural networks and robust time series prediction. IEEE Transactions on Neural Networks, Mar 1994. Volume 5, Issue 2, pp. 240 - 254.
like image 192
Nate Kohl Avatar answered Oct 21 '22 01:10

Nate Kohl


There is a kind of neural networks named recurrent neural networks (RNNs. One advantage of using these models is you do not have to define an sliding window for the input examples. A variant of RNNs known as Long-Short Term Memory (LSTM) can potentially take into account many instances in the previous time stamps and a "forget gate" is used to allow or disallow remembering the previous results from the previous time stamps.

like image 25
Amir Avatar answered Oct 21 '22 01:10

Amir