Clear Filters
Clear Filters

why am i getting unsatisfied result with same Training and Testing data in Narx time series network?

3 views (last 30 days)
I am planning to predict the temperature as a output while providing the input parameter as a current. I have uploaded my time series data data. i am training with same data set and testing on same data. but i am getting a unsatisfied result. Beforehand i have trained with this time series data set and test with another time series data set, but i did not get the result, which i was expecting. Now i am trying to Traing and Testing with same data set to find out if my Model is learning with this dataset or not, still it is not working. i am not getting satisfied result, even i am trying to train and test same data set. why? here is my Narxnet code
Data = readtable('Data.xlsx');
Current = table2array(Data(:,"I_DC")); % Input Value (Current)
Output = table2array(Data(:,"T_AGG")); % Target value (Temperature)
X_Train = tonndata(Current(1:end,:),false,false);
Y_Train = tonndata(Output(1:end),false,false);
trainFcn = 'trainlm'; %
inputDelays = 1:2;
feedbackDelays = 1:2;
hiddenLayerSize = 5;
net = narxnet(inputDelays,feedbackDelays,hiddenLayerSize,'open',trainFcn);
[x,xi,ai,t] = preparets(net,X_Train,{},Y_Train);
[net,tr] = train(net,x,t,xi,ai);
% Test the Network
[y,Xf,Af] = net(x,xi,ai);
e = gsubtract(t,y);
performance = perform(net,t,y)
% closed loop the same data for Testing multiple time step prediction
[netc,Xic,Aic] = closeloop(net,xi,ai);
view(netc)
Yc = netc(X_Test,Xic,Aic);
figure, plotregression(Y_Test,Yc)
figure, plotresponse(Y_Test,Yc)
It would be very helpful for me, if you could help me with this issue? I am not getting what i am doing wrong. or data is not appropriate to learn for Narxnet time series? Any suggestion would be helpful....Thanks in advance

Accepted Answer

Ganesh
Ganesh on 13 Jun 2024
Let's try and see the correlation between Current and Temperature.
Data = readtable('Data.xlsx');
Current = table2array(Data(:,"I_DC")); % Input Value (Current)
Output = table2array(Data(:,"T_AGG")); % Target value (Temperature)
corrcoef(Current,Output)
ans = 2x2
1.0000 -0.0561 -0.0561 1.0000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
Correlation of less -0.056 is pretty low, the Target variables show very low dependency with the Input Variables i.e. the externally determined variable shows low influence.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!