Narx model GIVES POOR PERFORMANCE

3 views (last 30 days)
c.m.f.s.
c.m.f.s. on 18 Jan 2012
Answered: nick on 11 Oct 2024
I am trying to train a NN using NEWNARXSP. When I execute the following commands:
current={ [3.38] [3.37706] [3.37412] [3.37118] [3.36824] [3.3653] [3.36236] [3.35942] [3.35648] [3.35354] [3.3506] [3.34766] [3.34472] [3.34178] [3.33884] [3.3359] [3.33296] [3.33002] [3.32441] [3.32147] [3.32] [3.31804] [3.31706] [3.31559] [3.31412] [3.31118] [3.30922] [3.30771] [3.3053] [3.3] [3.29804] [3.29706] [3.29412] [3.29265] [3.29118] [3.2884] [3.28294] [3.28] [3.27608] [3.27412] [3.27118] [3.26824] [3.267505] [3.26677] [3.26660] [3.26660] [3.26660] [3.2702] [3.27412] [3.27559] [3.27608] [3.27706] [3.27853] [3.28] [3.28147] [3.28294] [3.28588] [3.2898] [3.29559] [3.3] [3.30294] [3.30588] [3.31265] [3.31559] [3.32] [3.3249] [3.32724] [3.33314] [3.33608] [3.34] [3.34294] [3.34735] [3.35078] [3.3547] [3.36] [3.36441] [3.36882] [3.37176] [3.37323] [3.37412] [3.37706] [3.38] [3.38294] [3.38]};
resistance={[6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.04] [6.06] [6.10] [6.12] [6.14] [6.16] [6.18] [6.22] [6.24] [6.28] [6.31] [6.40] [6.44] [6.48] [6.52] [6.56] [6.60] [6.68] [6.78] [6.86] [7] [7.07] [7.23] [7.42] [7.5] [7.58] [7.66] [7.74] [7.9] [8] [8] [8] [7.9] [7.82] [7.74] [7.66] [7.58] [7.5] [7.43] [7.31] [7.16] [7.07] [7] [6.93] [6.83] [6.79] [7.72] [6.65] [6.60] [6.54] [6.5] [6.46] [6.42] [6.38] [6.34] [6.30] [6.26] [6.22] [6.18] [6.15] [6.14] [6.12] [6.11] [6.1] [6.06] [6.02]};
a=cell2mat(current);
b=cell2mat(resistance);
d1=[1 2];
d2=[1 2];
sus=newnarxsp({[3.26660 3.38],[6.02 8]},d1,d2,[5 1],{'tansig','purelin'});
p=[a;b];
T=b;
sus.trainFcn='trainlm';
sus.trainparam.show=100;
sus.trainparam.epochs=1000;
sus=train(sus,p,T);
IT GIVES POOR PERFORMANCE. Actually I want to measure the value of resistance by using the current. here current is input and resistance is target . what can i do now?
  1 Comment
Walter Roberson
Walter Roberson on 18 Jan 2012
Note: all those [] are unnecessary. Especially as you cell2mat() anyhow, suggesting that you would be better off writing
current = [3.38 3.3776 3,37412 <etc>];

Sign in to comment.

Answers (1)

nick
nick on 11 Oct 2024
Hi c.m.f.s.,
Here are a few suggestions to improve performance of your NARX neural network:
Data Normalization: You can normalize your input and target data. Models trained on normalized data tend to have better generalization capabilities, resulting in more accurate predictions on unseen data.
Network Architecture: You can experiment with different network architectures with different numbers of neurons in the hidden layer or different activation functions.

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!