首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数学建模学习笔记(二十二)灰色预测(上)GM(1,1)

数学建模学习笔记(二十二)灰色预测(上)GM(1,1)

作者头像
zstar
发布2022-06-14 09:53:58
发布2022-06-14 09:53:58
72300
代码可运行
举报
文章被收录于专栏:往期博文往期博文
运行总次数:0
代码可运行

灰色预测: 主要特点:模型使用的不是原始数据序列,而是生成的数据序列。 核心:灰色模型,即对原始数据作累加生成得到近似的指数规律再进行建模的方法。

优点: 不需要很多的数据,一般只需要4个数据就够; 能利用微分方程来充分挖掘系统的本质,精度高; 能将无规律的原始数据进行生成得到规律性较强的生成数列,运算简便,易于检验,具有不考虑分布规律,不考虑变化趋势。

缺点: 只适用于中长期的预测,只适合指数增长的预测,对波动性不好的时间序列预测结果较差。

理论部分:(看得有点懵,先记录,主要看应用) GM(1,1):

看不懂没关系,来个例子上手:

由于 22.034 与17 相差5.034,这表明下一次旱灾将发生在五年以后。

matlab代码:

代码语言:javascript
代码运行次数:0
运行
复制
clc,clear
a=[390.6,412,320,559.2,380.8,542.4,553,310,561,300,632,540,406.2,313.8,576,587.6,318.5]';
t0=find(a<=320);
t1=cumsum(t0);n=length(t1);
B=[-0.5*(t1(1:end-1)+t1(2:end)),ones(n-1,1)];Y=t0(2:end);
r=B\Y
y=dsolve('Dy+a*y=b','y(0)=y0');
y=subs(y,{'a','b','y0'},{r(1),r(2),t1(1)});
yuce1=subs(y,'t',[0:n+1])
digits(6),y=vpa(y) %提高预测精度,先计算预测值,再显示微分方程的解
yuce=diff(yuce1);
yuce=[t0(1),yuce]
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档