# how can find the optimal delays and number of hidden nodes in narnet for forecasting task?

13 views (last 30 days)
coqui on 19 Jul 2014
Commented: coqui on 12 Oct 2015
I have tried with these code but I haven't found solutions:
1/ Optimal timelags?
N = length(Target)
zy = zscore(Target,1);
autocorry = ifft( abs(fft(zy)).^2 )/N
%AUTOCORRELATION
ZT=zscore(Target,1);
autocorrT = nncorr(ZT,ZT,N-1,'biased')
figure(3)
plot(autocorrT)
%title('ACF')
2/Optimal hidden nodes???
%To find H
[I ,N]=size(Input);
[O ,N]=size(Target);
Neq=N*O;
Hub=floor((N-1)*O/(I+O+1)) %max H for Neq>=Nw
coqui on 12 Oct 2015
Thank you very much Greg.

Greg Heath on 8 Oct 2015
I have many posts regarding this.
Search both the NEWSGROUP and ANSWERS using subsets of the following search words
greg narnet nncorr siglag95 Hub Ntrials tutorial
Hope this helps.
Greg
Greg Heath on 12 Oct 2015
No.
1. Find all NONNEGATIVE lags where the absolute value of the input/target crosscorrelation function exceeds a specified threshold.
2. For a threshold I use an estimate of the 95 per cent significance level of Gaussian noise.
3. Then choose a subset of the smallest significant lags to include in the design. For example, if the smallest significant input lags are 0 2 3 6 8, using ID = 0:3 might be a reasonable first try.
4. Similarly for the target autocorrelation function and significant feedback lags EXCEPT, the feedback lags must be POSITIVE.
5. Finally, given the choice of delays, use the double for loop (h = Hmin:dH:Hmax, i = 1:Ntrials) approach to determine the smallest number of hidden nodes that yields either an acceptable, or the best design.
Hope this helps.
Greg