Finally i wrote this code for wind speed prediction with 3 parameters, why does my code has different prediction for the same dataset on each run?
4 ビュー (過去 30 日間)
古いコメントを表示
load('input.mat');
X = tonndata(inputData(:,(1:3)),false,false);
T = tonndata(inputData(:,4),false,false);
N = 100; % Multi-step ahead prediction
inputSeries = X(1:end);
targetSeries = T(1:end);
inputSeriesVal = X(end-N+1:end);
targetSeriesVal = T(end-N+1:end);
delay = 1; %one hour
neuronsHiddenLayer = 10;
% Network Creation
net = narxnet(1:delay,1:delay,neuronsHiddenLayer);
[Xs,Xi,Ai,Ts] = preparets(net,inputSeries,{},targetSeries);
net = train(net,Xs,Ts,Xi,Ai);
view(net)
Y = net(Xs,Xi,Ai);
% Performance for the series-parallel implementation, only
% one-step-ahead prediction
perf = perform(net,Ts,Y);
[Xs1,Xio,Aio] = preparets(net,inputSeries(1:end-delay),{},targetSeries(1:end-delay));
[Y1,Xfo,Afo] = net(Xs1,Xio,Aio);
[netc,Xic,Aic] = closeloop(net,Xfo,Afo);
[yPred,Xfc,Afc] = netc(inputSeriesVal,Xic,Aic);
multiStepPerformance = perform(net,yPred,targetSeriesVal);
view(netc)
figure;
plot([cell2mat(targetSeries),nan(1,N);
nan(1,length(targetSeries)),cell2mat(yPred);]')
legend('Original Targets','Network Predictions')
0 件のコメント
回答 (1 件)
Jayanti
2024 年 10 月 9 日
Hi Morteza,
I understand that the predicted values are changing every time the code is executed.
The reason behind this can be random initialization of weights in the neural network. To fix this issue initialize the random number generator to a fixed seed before training the network. This will make sure that initial weight assignment remains same each time you run the code.
You can fix this by using
rng(seed_value)
You can specify any seed value you want.
I also reproduced this scenario using custom dataset and by fixing the seed value, the code resulted in the same prediction values for each run.
I am also attaching official MathWorks documentation on “rng” for your reference:
Hope it helps!
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Time Series についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!