liuliu1024 发表于 2008-3-20 23:32

有关入境旅游人数的预测

小女子近日蛮头苦学matlab的神经网络编程,好不容易设计出如下程序,用五年一组的旅游人数,去滚动预测下一年的数据,程序如下,训练发现好像学习效率不是太好,哪位大侠可以帮帮看下原因不?事关毕业大计,
不胜感激!

echo on
clc
P=[4175 4289 5624 3568 5440;                        
   4289 5624 3568 5440 7489;
   5624 3568 5440 7489 10210;
   3568 5440 7489 10210 11679;
   5440 7489 10210 11679 18055;
   7489 10210 11679 18055 23591;
   10210 11679 18055 23591 29184;
   11679 18055 23591 29184 34495;
   18055 23591 29184 34495 36122;
   23591 29184 34495 36122 41009;
   29184 34495 36122 41009 51397;
   34495 36122 41009 51397 70693;
   36122 41009 51397 70693 92763;
   41009 51397 70693 92763 87249;
   51397 70693 92763 87249 130047]';
%目标向量
T=;

%归一化
=PREMNMX(P,T); % 将数据归到[-1,1]

%训练
net=newff(minmax(P),,{'tansig','purelin'},'traingdm')
%当前输入层权值和阈值
inputWeights=net.IW{1,1}
inputbias=net.b{1}
%当前网络层权值和阈值
layerWeights=net.LW{2,1}
layerbias=net.b{2}
pause
clc
%设置训练参数
net.trainParam.show = 50;
net.trainParam.lr = 0.05;
net.trainParam.mc = 0.9;
net.trainParam.epochs = 12500;
net.trainParam.goal = 1e-5;
pause
clc
%调用 TRAINGDM 算法训练 BP 网络
=train(net,PN,TN);
pause
clc
%对 BP 网络进行仿真
A = sim(net,P)
%计算仿真误差
E = T-A
MSE=mse(E)
pause
clc
echo off
页: [1]
查看完整版本: 有关入境旅游人数的预测