1. If the uniform time series spacing is to be preserved to prevent destroying correlations, the default data division function 'dividerand' must not be accepted. A much better choice is use the override
net.divideFcn = 'divideblock'
2. Using arbitrary or default values for ID and FD (e.g., defaults ([1:2,1:2]) does not make sense when you can use the cross-correlation function to obtain the significant delays for ID and the autocorrelation function to obtain the significant delays for FD.
3. If you want to use NARXNET or TIMEDELAYNET in the NONPREDICTIVE REGRESSION MODE, include the value 0 as the first component in the input delay vector ID, i.e., ID(1) = 0
y(t) = f(x(t),x(t-1),...,x(t-id),y(t-1),...,y(t-fd)) % NONPREDICTIVE NARXNET
or
y(t) = f(x(t),x(t-1),...,x(t-id) % NONPREDICTIVE TIMEDELAYNET
However, if you want to use the time series in the PREDICTIVE MODE, exclude the value 0 from the input delay vector ID:
y(t) = f(x(t-1),...,x(t-id),y(t-1),...,y(t-fd))% PREDICTIVE NARXNET
or
y(t) = f(x(t-1),...,x(t-id) % PREDICTIVE TIMEDELAYNET
3. To continue a time series without gaps, the final input and layer states (Af,Xf) should be preserved
[ net tr Ys Es Xf Af ] = train(net, Xs, Ts, Xi, Ai);
%Ys = net( Xs, Xi, Ai); Es = Ts-Ys;
Ysnew = net( Xsnew, Xf, Af);
4. However, if there is a gap and intermediate values of X and Y are unknown, the best you can do is
a. Use the first id values of Xnew for Xinew, and the remaining values for Xsnew
b. Estimate the first fd values of Ynew for Ainew.
5. The best way I can think of estimating Ynew is to predict it using NARNET designed with the original data.
Hope this helps.
Thank you for formally accepting my answer
Greg
Best Answer