Training Data for NARX

2 visualizzazioni (ultimi 30 giorni)
wissal
wissal il 2 Nov 2022
Commentato: wissal zaher il 12 Dic 2024
Hello,
I'm working on a university assignement where I had to create a model predicitve controller from scratch and generate training data to train a NARX neural network.
I have completed the first part and my data consists of an Input matrix U [1x25] and the resulting state (output) X [2x26]
The number of rows is arbitrary and changes according the number of time steps I chose.
The output has one extra row because of the initial state X0
My question is how do I proceed to create a valid dataset to train a NARX network? How do I get from my controller results a compatible data structure ? How should it look like ?
I'm really clueless because I'm new to this and very much willing to learn more.
Any feedback is appreaciated.

Risposte (1)

Tejas
Tejas il 9 Dic 2024
Hello Wissal,
To create a training dataset for a NARX model, follow these steps:
  • Convert the input matrix 'U' and the output matrix 'X' into cell arrays. Make sure there is a one-to-one correspondence between the input data and the output data.
U_cell = num2cell(U, 1);
X_cell = num2cell(X(:, 1:end-1), 1);
  • Prepare the NARX network according to your requirements. Below is an example code snippet for guidance on this process.
inputDelays = 1:2;
feedbackDelays = 1:2;
net = narxnet(inputDelays, feedbackDelays, 10);
[Xs, Xi, Ai, Ts] = preparets(net, U_cell, {}, X_cell);
[net, tr] = train(net, Xs, Ts, Xi, Ai);

Categorie

Scopri di più su Sequence and Numeric Feature Data Workflows in Help Center e File Exchange

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by