- 在线时间
- 0 小时
- 最后登录
- 2009-9-15
- 注册时间
- 2009-6-21
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 188 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 65
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 18
- 主题
- 2
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   63.16% 该用户从未签到
 |
本帖最后由 李食其 于 2009-8-11 09:00 编辑 ( t& ^: `, i" T/ k$ D% K- r
5 P: y) _1 f( s+ T; Z+ {, r% R现在已知一种产品的库存记录,预测下个月的库存% ~& H: Y( X# m! T
我查找了各种预测的资料,也编程算了,用了灰度预测,神经网络,拟合,时间序列,能用的都用了,可是没一个准的。我要疯了 E; e, W: p' b- a) D; U6 R3 V9 n
我的神经网络程序如下
4 ]* P' ?. J, z: |6 K; H7 I! ?T=[...];) d$ y8 c6 x2 l. M
n=length(T);* g, v- Y& z% a6 m8 O3 D
P=1:n;& @; H4 N M& r
% 创建一个新的前向神经网络 1 m) ]* b* ]/ I2 t% ^: Z# f
net_1=newff(minmax(P),[49,1],{'tansig','purelin'},'traingdm')! w7 M4 a* @' [1 J+ n
% 当前输入层权值和阈值. _% r* ^& F- C5 d! G
inputWeights=net_1.IW{1,1};
3 W: \; c6 P6 ?, l# Z1 Ninputbias=net_1.b{1};+ K7 p/ Q) i, d, q1 y: d
% 当前网络层权值和阈值4 V1 a8 W/ s. M! m: G- _# ?
layerWeights=net_1.LW{2,1};2 C5 O! ?9 [ Q; q+ V9 j" g+ X
layerbias=net_1.b{2};
2 N5 H9 c: s/ s7 D0 \% 设置训练参数+ C, q8 g/ U' |9 T: q
net_1.trainParam.show = 50;
$ J8 y3 R" E; J+ E/ Cnet_1.trainParam.lr = 0.05;/ `1 n1 t/ F) \: h
net_1.trainParam.mc = 0.9;( e- e: X, `2 V+ I) b
net_1.trainParam.epochs = 3000;
8 a: l1 X9 E- ~4 V% O: s, Dnet_1.trainParam.goal = 0.0001;
: ]4 A6 Q9 P1 u% t& E8 D0 p, T% 调用 TRAINGDM 算法训练 BP 网络
; F. w& B/ h8 d' {) v$ _[net_1,tr]=train(net_1,P,T);
% I$ [+ S# c: E- S% 对 BP 网络进行仿真
! n- j3 e, C- c- |) ^9 v: P' H+ GA = sim(net_1,P)- H5 u' M- ^5 }7 g0 s6 m7 u' y
% 计算仿真误差
2 k) f/ R5 `% Y& E& yE = T - A;+ f0 y, i; z, m
MSE=mse(E)
4 _2 Q# Z) ]2 C1 G @- u* yx=[n+1];%测试
# o. O' F5 b: Y( P$ b* ~: kkn=sim(net_1,x)# I Y. \1 _1 ]1 Q, \& g2 y
& D$ O! Y7 }) v3 E3 Q( A每一次运行的结果都不一样,而且没一次准的,有的时候差的还特别多。
4 w' N+ r) S t! }- ]我的数据量挺大的,从2007年至今,而且数字比较大
1 k E) z0 B2 X" d& a, A有没有懂得,帮帮我。( Z7 L. s4 U# P
献上资料先 |
zan
|