0 votes
1 view
in AI and Deep Learning by (21.1k points)

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 forecasting.

I would like to know if anyone has any suggestions or can recommend any resources concerning using ANN for forecasting 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!

1 Answer

0 votes
by (46.3k points)
edited by

Time Series:

A sequence of vectors (or scalars) which depend on time t. In this lecture we will deal exclusively with scalars: { x ( t 0 ), x ( t 1 ), · · · x ( ti − 1 ), x ( ti ), x ( t i+1 ), · · · } 

It’s the output of some process P that we are interested in: 

P-> x(t)

Time series are the focus of several overlapping disciplines: 

  • Information Theory deals with describing the stochastic time series. 

  • Dynamical Systems Theory deals with describing and manipulating mostly non-linear deterministic time series. 

  • Digital Signal Processing deals with describing and manipulating mostly linear time series, both deterministic and stochastic. 

We will use concepts from all three. 

Possible Types of Processing: 

  • predict future values of x[t] 

  • classify a series into one of a few classes “price will go up” “the price will go down” — sell now “no change” 

  • describe a series using a few parameter values of some model 

  • transform one time series into another 

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.

I highly recommend looking at the neural_forecasting website, which contains tons of information on neural network forecasting competitions. The Motivations page is especially useful.

Watch this video to learn about Neural Networks:

...