?? bp-forecast.m
字號:
clc
clear all
close all
aa=xlsread('sy1.xls');
at=[{'日期:2005-6-30至2006-12-1'},{'開盤價'},{'成交量'},{'最高價'},{'最低價'},{'收盤價'}];
ys='brgmcyk';
pd=aa(1:330,:)';
[pn,minp,maxp]=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(5,6:305);
pX=pr(:,301:320)
pY=pd(5,306:325); %pn(5,306:325);
net1=newff(minmax(px),[16,1],{'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);
[net1,tr,Y,E]=train(net1,px,py);
s=sim(net1,px);
er=py-s;
figure
plot(py,'b');
hold on
plot(s,'r*');
title('神經網絡訓練圖');
pp=sim(net1,pX);
legend('實際目標值','網絡擬合值',2);
% pp=pp+0.015*pp.*randn(1,length(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('神經網絡訓練誤差曲線');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -