%先只贴代码
%这个神经网络的结构是单隐含层的,输入层5神经元节点,隐含层5神经元节点,输出层1神经元节点
%通过输入前5天的数据,然后输出第6天的预测值。并最终画图。训练最大次数设为20000
%demo4.m
% 搭配wow4.mat
% 输入数据共100组。是105天每天的收盘价作为输入。最后模拟的时候用的也还是这100组进行模拟。效果还行,误差在0.018左右。
p12 = P2(:,1:5)';
t12 = P2(:,6);
[pn2,minp,maxp,tn2,mint2,maxt2] = premnmx(p12,t12');
net2 = newff(minmax(p12),[5,1],{'tansig','purelin'},'traingdm');
net2.trainParam.show = 50;% 限时训练迭代过程
net2.trainParam.goal = 0.01;
net2.trainParam.lr = 0.05;
net2.trainParam.mc = 0.9;
net2.trainParam.epochs = 20000;
net2.trainParam.goal = 1e-3;
net2 = train(net2,pn2,tn2);
% a = premnmx(AA);
Y2 = sim(net2,pn2);
c2 = postmnmx(Y2,mint2,maxt2);
plot(1:100,c2,'b',1:100,t12,'r')
最终用的是第一季度和第二季度的浦发银行的100组数据进行训练和模拟的。其中蓝色是预测的,红色是实际的。