值的珍藏!三分钟了解如何用elman神经网络进行预测
学习目标:Elman神经网络预测数据
如果你想学习如何使用elman神经网络, 可以仔细阅读这篇文章,了解一下elman的基本语法知识。
清空变量
%% 清空变量
clear all;
导入数据
data=[0.4 0.5 0.5 0.45;0.5 0.56 0.54 0.45;0.4 0.5 0.5 0.45;0.5 0.56 0.54 0.45;
0.5 0.56 0.54 0.45;0.4 0.5 0.5 0.75;0.5 0.46 0.54 0.45]
训练elman神经网络并预测
%% 训练elman神经网络并预测
net=[];
for i=1:4
P=[data(1:3,i),data(2:4,i),data(3:5,i)];
T=[data(4,i),data(5,i),data(6,i)];
th1=[0,1;0,1;0,1];
th2=[0,1];
net{i}=newelm(th1,th2,[20,1]);
net{i}=init(net{i});
net{i}=train(net{i},P,T);
test_p{i}=data(4:6,i);
y(i)=sim(net{i},test_p{i});
end
绘图
%% 绘图
fprintf('真实值:\n');
disp(data(7,:));
fprintf('预测值:\n');
disp(y);
fprintf('误差:\n');
disp((y-data(7,:))./y);
运行结果
真实值:
0.5000 0.4600 0.5400 0.4500
预测值:
0.5358 0.5703 0.5391 0.5781