What is the meaning for InputDelays and FeedbackDelays in Neural Network time series prediction?

Hi all,
I'm a littile confused about the meaning of InputDelays and FeedbackDelays in NN time series prediction. Actually, in the example of NARX prediction, InputDelays=1:2, FeedbackDelays=1:2, I wonder how to determine these two values and what these values extactly mean? Any suggestion is highly appreciated.

 Accepted Answer

y(t) = f(x(t-id:t-1),y(t-fd:t-1);
Good input feedback delays can be obtained by finding the significant delays of the input-target cross correlation function.
Good output feedback delays can be obtained by finding the significant delays of the target autocorrelation function.
I have posted several examples in the NEWSGROUP and ANSWERS.
Searching the two word phrase significant delay seems a good place to start.
Hope this helps.
Greg

3 Comments

Hi Greg,
Thank you for your reply. I still have two questions.
(1) If I use trainbr function for training, is it still necessary to make the training data much larger than the number of weights?
(2) How to determine the number of hidden neurons for NARX? Does it follow the same rules as other MLPs?
Thank you.
Regularization via the mse option or trainbr can be used to mitigate the fact that there are more unknown weights than equations. I think it is most used for smaller data sets whose data division subsets would not be sufficiently large for reliable design and estimation of performance on unseen non-training data.
If you wish to make a few comparison designs, please use MATLAB data
help nndatasets
so that we can compare results.
I have never seen trainbr used for timeseries nets. I use either dividetrain or divideblock with the default trainlm.

Sign in to comment.

More Answers (0)

Asked:

on 29 Oct 2013

Commented:

on 21 May 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!