文档库 最新最全的文档下载
当前位置:文档库 › 神经网络时间序列分析

神经网络时间序列分析

用一个改进算法就可以了,自己写了一个,原理和前面说的一样。觉得楼上说的挺对的,楼主可以找一些与平均工资有关的因素来做为预测,这样也可以考虑用BP神经来做,将因素作为网络输入,工资作为目标输出。我也是最近刚开始学BP神经网络,很高兴能和你们一起讨论。:)
%连续预测算法
pnew=[26404 29688 32074]';%2008、2009、2010年三年平均工资输入矩阵
j=2011;
for i=1:5 %这里可以改预测次数1:n年
pnewn=tramnmx(pnew,minp,maxp);%归一化
anewn=sim(net,pnewn);%网络模型仿真
anew=postmnmx(anewn,mint,maxt);%反归一化
fprintf('第%d年平均工资预测值为:%g\n',j,anew);%预测值输出
j=j+1;
i=i+1;
%输入矩阵更新
pnew(1,:)=pnew(2,:);
pnew(2,:)=pnew(3,:);
pnew(3,:)=anew;
end

=======================================================================

我看了一下,你做的是时间序列预测,可以这样:用前4年的工资去预测第5年的工资,这样你的BP神经网络这样设 ...

高手啊!对于p0=[123.46 155.54 204.38 290.94 462.71 688.19 988.85 1342.04 1773.29 2431.21 3330.82 4792.7 4556.26 5695.8 7019.79 9712.29 12028.54];
%1989年到2005年共17年每年电信业务量情况(万户)
a=max(p0);
b=min(p0);
for i=1:17
p1(i)=(p0(i)-b)/(a-b);%归一化
end
for i=1:11
p(:,i)=[p1(i) p1(i+1) p1(i+2) p1(i+3)]';%1992到2002年为训练样本
t(i)=p1(i+4);%1993到2003为目标输出样本
end
这个输入样本组合有什么依据吗?可以
for i=1:12
p(:,i)=[p1(i) p1(i+1) p1(i+2)]';
end
吗?另外,要预测2005年以后的数据,是不是每预测一个,如2006年的,就得将2006年的输入到测试样本中进而预测2007年的呢?

相关文档