• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: 其他
  • 标签: 电力  

资源简介

一个很好的bp神经网络预测程序实例,有较好的预测精确性

资源截图

代码片段和文件信息

clc
clear all
close all
aa=xlsread(‘sy1.xls‘);
at=[{‘日期:2005-6-30至2006-12-1‘}{‘开盘价‘}{‘成交量‘}{‘最高价‘}{‘最低价‘}{‘收盘价‘}];
ys=‘brgmcyk‘;

pd=aa(1:330:)‘;
[pnminpmaxp]=premnmx(pd);
pr=[pn(:1:320);pn(:2:321);pn(:3:322);pn(:4:323);pn(:5:324)];
% px=[pn(:1:300);pn(:2:301);pn(:3:302);pn(:4:303);pn(:5:304)];
px=pr(:1:300);
py=pn(56:305);

pX=pr(:301:320)
pY=pd(5306:325); %pn(5306:325);  

net1=newff(minmax(px)[161]{‘tansig‘‘purelin‘}‘trainlm‘); %{‘tansig‘‘logsig‘}‘traingdx‘); {‘logsig‘‘purelin‘}
net1.trainParam.show=1;
net1.trainParam.epochs=2000;
net1.trainParam.goal=0.001;
net1.trainParam.max_fail=5;
net1=init(net1);
[net1trYE]=train(net1pxpy);

s=sim(net1px);

er=py-s;

figure
plot(py‘b‘);
hold on
plot(s‘r*‘);
title(‘神经网络训练图‘);

pp=sim(net1pX);

legend(‘实际目标值‘‘网络拟合值‘2);
% pp=pp+0.015*pp.*randn(1length(pp));  %加噪声

disp(‘实际值‘)
pY
disp(‘预测值‘)
pp=minp(5)+(maxp(5)-minp(5))*(pp+1)/2
disp(‘预测产生的误差‘)
pY-pp

figure;
plot(pY‘g-‘);
hold on
plot(pp‘m*‘);

title(‘神经网络预测图‘);
legend(‘实际目标值‘‘预测值‘2)

figure;
plot(er‘m‘);
title(‘神经网络训练误差曲线‘);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1213  2007-12-09 19:25  BP-forecast.m

----------- ---------  ---------- -----  ----

                 1431                    2


评论

共有 条评论