Clear Filters
Clear Filters

Using with trainbr with narxnet: the predicted value at time t seems to depend in part on the target value at time t. But we don't know that value yet!

1 view (last 30 days)
Assume we have a time series several thousand points long where we know all of the inputs up to day t, and all of the correct target values up to day t-1.
In scenario one, we apply narxnet with trainbr to the entire series, and look at the predicted value at day t, call it P(t).
In scenario two, we apply narxnet with trainbr to the same series up to day t, and look at the predicted value at day t, call it P*(t).
In general, P(t) ~= P*(t). Why?
In fact, if we substitute in some fictitious value for the time series at day t before training, P*(t) can be wildy different than P(t).
However, also in scenario two, even if we submit the true value of the target at time t , P*(t) is still often not equal to P(t).
Is there a way to deal with this behavior? It seems odd indeed that the target value at time t, the very thing we are trying to predict, influences the network.

Answers (1)

Gagan Agarwal
Gagan Agarwal on 26 Feb 2024
Hi Kevin,
The discrepancy between P(t) and P*(t) in the scenarios you've described can be attributed to the nature of the Nonlinear Autoregressive Network with Exogenous Inputs (NARX) and the training algorithm used, which is the Bayesian Regularization backpropagation (trainbr).
Here could be some reasons for the discrepancy:
  1. Dynamic Nature of NARX Networks: NARX networks are dynamic systems that use previous inputs and outputs to predict future outputs.
  2. Bayesian Regularization (trainbr): The trainbr algorithm updates the weights and biases according to Bayesian regularization, which includes an error minimization term and a regularization term.
  1 Comment
Kevin Johnson
Kevin Johnson on 26 Feb 2024
Thank you for replying. How do the reasons you give explain the phenomenon? To restate: when I train the network up to day t-1, the target value I enter for day t when submitting data to the algorithm, and which is the thing I am trying to predict, influences the resulting prediction. This seems like a bug.

Sign in to comment.

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!