- 在线时间
- 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 编辑 % s# \+ F4 o6 t; Z' o4 W, X
: z3 G7 b6 g0 T4 d6 V
现在已知一种产品的库存记录,预测下个月的库存
8 n* R7 V' D8 I; i- A: H* l我查找了各种预测的资料,也编程算了,用了灰度预测,神经网络,拟合,时间序列,能用的都用了,可是没一个准的。我要疯了
6 a4 i# M) v$ h& z2 \; f \我的神经网络程序如下
& A; o, n2 y2 j ?) PT=[...];
3 @9 E2 H: X6 _/ T0 B& _! D- \n=length(T);4 B( |& a1 N3 X- e7 w8 ?
P=1:n;6 W, S+ ? H0 w4 |+ ?% ~. z
% 创建一个新的前向神经网络 - F" r2 [! J' K. I) X9 S* }0 x
net_1=newff(minmax(P),[49,1],{'tansig','purelin'},'traingdm')( i" I- I8 X5 ~ j2 j- }3 D' L$ a
% 当前输入层权值和阈值+ Z, M" [# I9 r3 U \
inputWeights=net_1.IW{1,1};
5 f; [; B! w/ t3 W2 v# finputbias=net_1.b{1};3 E, V6 j( K7 z" n$ o7 ~4 B
% 当前网络层权值和阈值
% D5 U9 ]& o( O+ j" r0 B- PlayerWeights=net_1.LW{2,1};
* O; G0 w8 W' |0 G8 L& zlayerbias=net_1.b{2};9 Q Q C! f0 b. O7 G
% 设置训练参数
& _8 q ]" b6 e# T3 Z0 Lnet_1.trainParam.show = 50;' ^5 S5 e! t+ c) B
net_1.trainParam.lr = 0.05;
* P+ _9 w+ L2 q& A6 S5 cnet_1.trainParam.mc = 0.9;5 M& d! m( f4 a) v4 b: q* X$ k
net_1.trainParam.epochs = 3000;
5 R* Z( D+ R7 l7 Z& L5 f# Vnet_1.trainParam.goal = 0.0001; a* i; R7 G2 G4 d% e. y
% 调用 TRAINGDM 算法训练 BP 网络1 l+ x9 b$ q$ l) q' }* ^
[net_1,tr]=train(net_1,P,T);
! i) T0 N [! Q& a" @# d+ T% 对 BP 网络进行仿真; i& U- Y' }- o$ f
A = sim(net_1,P)9 C& ^, y7 f# f+ j
% 计算仿真误差
o$ Y. h& o# X1 W0 Y& ] u* bE = T - A;
+ l- ^9 V- C8 c3 b/ Z7 sMSE=mse(E)
! S- h9 v) y8 g1 }; Yx=[n+1];%测试* U& H% V2 J% L
kn=sim(net_1,x)( Y0 t6 E# L6 p$ Y; ?" J" C
$ Z1 R) H8 o+ J1 g7 {" P2 \
每一次运行的结果都不一样,而且没一次准的,有的时候差的还特别多。' ?" ?* g- M( M8 T. N
我的数据量挺大的,从2007年至今,而且数字比较大
* ]7 L0 w6 o' t: Z+ A有没有懂得,帮帮我。: O1 G. F3 S& k+ k# J* s7 w2 p1 i8 A
献上资料先 |
zan
|