声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 8672|回复: 6

[共享资源] 灰色预测系统GM(1,1)模型程序

[复制链接]
发表于 2006-8-30 12:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
可用于一般时间序列的预测
  1. function GM=huise(data,N)
  2. T=length(data);
  3. X0=data;
  4. for i=2:T
  5.    X1(1)=X0(1);
  6.    X1(i)=X1(i-1)+X0(i);                %用AGO生成一阶累加生成模块
  7. end
  8. for i=1:T-1
  9.    M(i)=-(0.5*(X1(i)+X1(i+1)));
  10. end
  11. B=zeros(T-1,2);                       %构造累加矩阵B
  12. for i=1:T-1
  13.      for j=1:2
  14.          if j<2
  15.             B(i,j)=M(i);
  16.          elseif j>1
  17.             B(i,j)=1;
  18.          end
  19.      end
  20. end
  21. for i=2:T                          %构造常数项向量Y
  22.     Y(i-1)=X0(i);
  23. end
  24. HCS=inv(B'*B)*B'*Y'             %用最小二乘法求灰参数HCS
  25. H=HCS';
  26. for i=2:T+N                        %计算出累加序列
  27. XR1(i)=(X0(1)-H(2)/H(1))*exp(-1*H(1)*(i-1))+H(2)/H(1);
  28. end
  29. for i=11:T+N                      %还原计算出预测值
  30.         K(i-10)=XR1(i)-XR1(i-1);
  31. end
  32. GM=K;
复制代码


将函数保存为huise.m文件,然后在命令行中输入以下格式
输入格式:
  1. data=[x1,x1,...,xn]
  2. huise(data,N)
复制代码

然后回车
哈哈,就可以了,没事干写来练练手的,残差分析部分就不写了,要是觉得精度不够就自己补上去:)写得不好,大家将就用吧

[ 本帖最后由 suffer 于 2006-10-9 20:08 编辑 ]

评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2007-7-26 20:24 | 显示全部楼层

执行不了,哪个地方弄错了!

执行不了呀!哪个地方弄错了吧!
我是新手!!请多指点!!
\谢了!
发表于 2007-9-2 21:35 | 显示全部楼层
楼主,你的K是做什么用的???
发表于 2008-3-15 08:56 | 显示全部楼层
程序没经过调试请别拿出来!:@@
 楼主| 发表于 2008-3-17 08:28 | 显示全部楼层

不好意思

一年多前写的小程序了调试过了,只是输入格式搞错了。那天喝多了没注意
输入数据其实应该是data=[x1 x2 x3....xn]
是偶不对,不过逗号那么明显的错误,你们也不细心看看,汗
发表于 2008-10-8 09:20 | 显示全部楼层
好象还是有错误
发表于 2012-4-25 11:01 | 显示全部楼层
写的还是不错的
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 02:46 , Processed in 0.071446 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表