1. Traditionally, with
[ I N ] = size(input)
[ O N ] = size(target)
you would use a subset of the statistically significant delays from the
a. target/input crosscorrelation functions.
b. target autocorrelation function
I have posted many relevant examples in both the NEWSGROUP and ANSWERS. Try the search words
2. However, before doing 1, you might just cross your fingers and try ("o" and OL will indicate an open-loop net)
ID = 0:10; FD = 1:10;
neto = narxnet(ID, FD, H);
neto.divideFcn = 'divideblock';
and vary the number of hidden nodes, H; If needed, the default 0.7/0.15/0.15 trn/val/tst ratios could be modified to increase the size of the training set.
3. Yes, you need inputs for post target NARX prediction. If you have none, try to estimate them using the original input and target data.
NOTE: THIS IS NOT MENTIONED IN MATLAB DOCUMENTATION !
4. I have found that just closing the loop on an OL net only works if the OL error is very small. I try to obtain at least
MSEtrno <= 0.001*mean(var(target',1))
However, the reliability of this assumption remains to be investigated.
5. The fastest way to obtain help from this forum is to use the MATLAB example data obtained from
help nndatasets
doc nndatasets.
Hope this helps.
Thank you for formally accepting my answer
Greg
Best Answer