Adjusting delays in a NARX neural network

5 views (last 30 days)
The NARX provided by the MATLAB toolbox defines y(t) as a function of past inputs and outputs:
y(t) = f(x(t-1), ... ,x(t-d),y(t-1), ... ,y(t-d))
The standard definition of NARX defines y(t) as a function of past and present inputs and past outputs:
y(t) = f( x(t) ,x(t-1), ... ,x(t-d),y(t-1), ... ,y(t-d))
I have attached a picture to illustrate my question.
What is the MATLAB command to modify the input TDL of my existing NARX model to accomidate the present input?
My illustration shows [0:6], but any help is appreciated to achieve similar results such as [0:5], etc.

Accepted Answer

S. Moore
S. Moore on 20 Feb 2015
One solution is to create a new net from scratch thusly:
net = narxnet(0:4,1:5,10);

More Answers (1)

Greg Heath
Greg Heath on 19 Feb 2015
MATLAB Toolbox yields the standard dependence on the present input indicated by a 0 input delay. However, feedback delays must be positive.
Hope this helps.
Thank you for formally accepting my answer
Greg
  2 Comments
S. Moore
S. Moore on 19 Feb 2015
Edited: S. Moore on 20 Feb 2015
The NARX model provided by the nnstart toolbox is shown in file attachment of the original post. The delays on both x(t) and y(t) are set to [1:6]. However, I would like to have the delay on x(t) set to e.g. [0:5], while the delay on y(t) stays [1:6].
The canonical definition of the nonlinear autoregressive exogenous model (" Nonlinear System Identification: NARMAX Methods in the Time, Frequency, and Spatio-Temporal Domains ") specifies the equation:
y(t) = f( x(t) ,x(t-1), ... ,x(t-d),y(t-1), ... ,y(t-d))
Which is different than the NARX model presented by MATLAB , due to the missing x(t) term.
Either I need to setup a new net from scratch, or modify the net created by the toolbox. I admit learning all of the net commands to create a new net from scratch is the more academic solution, but it would be nice to simply modify the delay element in the existing net without having to create a new one.
Original post:
What is the MATLAB command to modify the input TDL of my existing NARX model to accommodate the present input?
Greg Heath
Greg Heath on 23 Feb 2015
I explained in my answer that the MATLAB software does support ID >= 0. However FD must be > 0.
In other words:
Software OK
Documentation LACKING
Greg

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!