How to train a neural-network-based NARX model with multiple time series, each corresponding to a different value of a control parameter (to be included as additional input)

3 views (last 30 days)
Hello, everyone
I would like to train a NARX model based on a neural network using different time series.
Specifically, each of these time series was obtained by changing a control parameter of the system.
I have 5 time series corresponding to 5 different values of this parameter.
I would also like the trained network to include this control parameter as an additional input.
Thank you in advance for your help.
Marco

Answers (1)

Rajiv Singh
Rajiv Singh on 21 Jun 2022
This use case/requirement seems like an extension of linear parameter varying modeling (LPV) framework.There is a certain parameter that is locally constant or slowly varying and you want to derive a global model that works for any fixed value of that parameter, including those for which the training was not performed. As such this is a difficult problem.It will need to be constrained more to be reliable. A potential approadch can be:
  1. Train a model at the first control parameter value. Assume it is reliable enough.
  2. Train a new model at the second control parameter value, where you use the model from step 1 as starting guess. If the dynamics have not changed much, you can hope that the new model for this condition will be "close" to the one from step 1.
  3. You can carry on this exercise for all the available data (in your case, 5 models, one for each value of the control parameter).
  4. Create a look up table to interpolate the model parameters for a given control parameter value. Then a model constructed using these interpolated values would be your representation of the dynamics at that value. Another flavor could be to not attempt to interpolate the dynamics (the local model cofficients) but rather combines their individual outputs as a weighted sum, where the weighting will depend upon the "distance" of a trained local model from the point (i.e. the value of the control parameter) at which the results are desired.
HTH

Community Treasure Hunt

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

Start Hunting!