MATLAB: By using Narnet to predict the future Price, we need determining the optimal lags to detemine the optimal hiddenlayesizes

narnetneural networks

To determine the hiddenlayesizes:
1/we apply a trial and error method by using lags=1 (default value), or
2/we must verify the optimal delays by using autocorrolation function,and next we use the obtained optimal lag in trial and error to determine the optimal number of hidden nodes?
Thanks in advance

Best Answer

1. For unbiased prediction use divideblock so that the delays and weights are not determined by nontraining( i.e., validation and test ) data.
2. It is worthwhile to plot the trn/val/tst data in three colors to view the data division. Beware if the training subset doesn't look like it could be used to predict the nontraining data.
3. Estimate unbiased values for delays by determining the significant lags of the training subset autocorrelation function.
4. Given a subset of the significant lags to use for delays, you can determine the maximum number of hidden nodes so that the number of unknown weights Nw, does not exceed the number of training equations Ntrneq.
5. By trial and error determine the smallest number of hidden nodes that will yield a sufficiently low error rate for the training and validation subsets. If you exceed the max number of hidden nodes determined in 4, you have to beware of the overtraining/overfitting phenomenon (More unknowns than equations).
6. I tend to use 10 or more trials of random initial weights for each setting of hidden nodes.
7. I have zillions of posts in both the NEWSGROUP and ANSWERS. The posts in the NEWSGROUP tend to be more tutorial in nature.
8. Finally, a direct answer to your question:
No. All you have to do is find a good combination
of lags and hidden nodes that will yield a good
unbiased prediction.
Since I could not find a good tutorial, I made
up my own.
Hope this helps.
Greg