MATLAB: How does removedelay work in NARXNET

neural network

Hi,
In the description of NARX modeling of time series shown in the following address, http://www.mathworks.com/help/nnet/gs/neural-network-time-series-prediction-and-modeling.html , it says for 1 time step early prediction, it removes one delay. I am trying to understand how removing one delay from each of the tapped delay lines makes the output of the network for y(t + 1) instead of y(t). Also, in the prediction result ys, is the last predicted value is the predicted target value for last external input?

Best Answer

When creating timedelaynet(ID), narnet(FD) and narxnet(ID,FD)
ID >= 0 and FD > 0
otherwise, an ERROR will occur.
Using removedelay(net,n) subtracts n from ALL of the components of ID and FD. The syntax removedelay(net) assumes n = 1.
As expected, an ERROR will occur if n > min(ID).
Similarly, one would expect that an ERROR will occur when n>= min(FD). However, there is no error when n = min(FD) !!!
Since n=min(FD) results in a forbidden zero feedback delay, I assume THIS IS A BUG AND SHOULD BE INVESTIGATED.
Hope this helps.
Thank you for formerly accepting my answer
Greg