改进神经网络MG 时间序列预测问题


采用了基于最大矩阵元法的改进RBF神经网络模型对MG时间序列进行建模预测。
资源截图
代码片段和文件信息
function BP_MG()           %BP神经网络建模
f1=MG(6000);
for k=201:3200
    SamIn(:k-200)=[f1(k-18);f1(k-12);f1(k-6);f1(k)];
    SamOut(k-200)=f1(k+85);
end
for t=5001:5500
    TestSamIn(:t-5000)=[f1(t-18);f1(t-12);f1(t-6);f1(t)];
    TestSamOut(t-5000)=f1(t+85);
end
[r1c1]=size(SamIn);
SamNum=c1;
InDim=r1;
[r2c2]=size(TestSamIn);
TestSamNum=c2;
OutDim=1;

        
a=0.9;
HiddenUnitNum=20;
MaxEpochs=10000;
E0=0.01;
Ir=0.00012;
%绘制样本曲线
figure(1)
hold on;
title(‘RBF神经网络训练图‘);
xlabel(‘样本‘);
ylabel(‘训练输出‘);
plot(1:SamNumSamOut‘-‘);
figure(2)
plot(1:TestSamNumTestSamOut‘-‘);
hold on;
title(‘RBF神经网络测试图‘);
xlabel(‘样本‘);
ylabel(‘测试输出‘);


W1=0.2*rand(HiddenUnitNumInDim)-0.1;
B1=0.2*rand(HiddenUnitNum1)-0.1;
W2=0.2*rand(OutDimHiddenUnitNum)-0.1;
B2=0.2*rand(OutDim1)-0.1;
W1Ex=[W1 B1];
W2Ex=[W2 B2];

SamInEx=[SamIn‘ ones(SamNum1)]‘;
ErrHistory=[];

t1 = clock;%计算迭代时间

dW2Ex=0;
dW1Ex=0;

for epoch=1:MaxEpochs
  HiddenOut=logsig(W1Ex*SamInEx);
  HiddenOutEx=[HiddenOut‘ ones(SamNum1)]‘;
  NetworkOut=W2Ex*HiddenOutEx;
  Error=(SamOut-NetworkOut);
  SSE=sumsqr(Error);
  SSE=SSE/SamNum;
  ErrHistory=[ErrHistory SSE];
  
  if SSE  
  Delta2=Error;
  Delta1=W2‘*Delta2.*HiddenOut.*(1-HiddenOut);
  %误差反向传播,修改权值
%   Ir=min(0.0005exp(-0.0080*epoch));
  dW2Ex=Delta2*HiddenOutEx‘*Ir+dW2Ex*a;
  dW1Ex=Delta1*SamInEx‘*Ir+dW1Ex*a;
  
  W1Ex=W1Ex+dW1Ex;
  W2Ex=W2Ex+dW2Ex;
  W2=W2Ex(:1:HiddenUnitNum);
  
end

disp([‘算法运行时间:‘num2str(etime(clockt1))‘秒‘]);
disp([‘训练迭代次数:‘num2str(epoch)‘次‘]);
disp([‘训练模型误差:‘num2str(SSE)]);
figure(1)
hold on
figure(1)
plot(1:SamNumNetworkOut‘-k‘);

TestSamInEx=[TestSamIn‘ ones(TestSamNum1)]‘;
TestHiddenOut=logsig(W1Ex*TestSamInEx);
TestHiddenOutEx=[TestHiddenOut‘ ones(TestSamNum1)]‘;
TestNetworkOut=W2Ex*TestHiddenOutEx;
figure(2)
hold on
Error1=(TestSamOut-TestNetworkOut)./TestSamOut;
SSE1=sumsqr(Error1);
SSE1=SSE1/TestSamNum;
disp([‘预测模型误差:‘num2str(SSE1)]);
figure(2)
plot(1:TestSamNumTestNetworkOut‘-k‘);

figure(3)
hold on
grid
[~Num]=size(ErrHistory);
plot(1:NumErrHistory‘k-‘);
end





    







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

     文件       2274  2014-05-08 21:15  MGBP_MG.m

     文件       6344  2014-05-04 11:21  MGclassify.mat

     文件        172  2014-05-02 23:01  MGk.mat

     文件       1347  2014-05-08 21:14  MGkmeans.m

     文件        577  2014-05-08 21:10  MGMG.m

     文件   32733316  2014-05-02 22:17  MG
.mat

     文件       2950  2014-05-08 23:14  MGRBF_MG.asv

     文件       2950  2014-05-08 23:14  MGRBF_MG.m

     目录          0  2014-07-15 20:12  MG

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

             32749930                    9


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)