数学建模常用模型01 灰色预测法(附代码)

简介: 基于数学建模的预测方法种类繁多,从经典的单耗法、弹性系数法、统计分析法,到目前的灰色预测法。当在使用相应的预测方法建立预测模型时,我们需要知道主要的一些预测方法的研究特点,优缺点和适用范围。今天小磊哥就跟大家再学习一下灰色预测法。

参加2023年美赛的同学注意啦!为帮助大家在2023年美赛中取得优异成绩,开放美赛资料群,助力大家2023美赛获奖,点击下方链接获取美赛80G资料,全程免费无套路,抓紧上车

点击链接2023美赛数学建模思路:https://jq.qq.com/?_wv=1027&k=YyTS4dd0


基于数学建模的预测方法种类繁多,从经典的单耗法、弹性系数法、统计分析法,到目前的灰色预测法。当在使用相应的预测方法建立预测模型时,我们需要知道主要的一些预测方法的研究特点,优缺点和适用范围。今天小磊哥就跟大家再学习一下灰色预测法。

1. 灰色系统理论简介

灰色预测模型 ( Gray Forecast Model )是通过少量的、不完全的信息,建立数学模型并做出预测的一种预测方法。当我们应用运筹学的思想方法解决实际问题,制定发展战略和政策、进行重大问题的决策时,都必须对未来进行科学的预测 。预测是根据客观事物的过去和现在的发展规律,借助于科学的方法对其未来的发展趋势和状况进行描述和分析,并形成科学的假设和判断。

灰色系统理论是研究解决灰色系统分析、建模、预测、决策和控制的理论。灰色预测是对灰色系统所做的预测。目前常用的一些预测方法(如回归分析等),需要较大的样本,若样本较小,常造成较大误差,使预测目标失效。灰色预测模型所需建模信息少,运算方便,建模精度高,在各种预测领域都有着广泛的应用,是处理小样本预测问题的有效工具。

灰色系统理论是由华中理工大学邓聚龙教授 于1982 年提出并加以发展的。二十几年来,引起了不少国内外学者的关注,得到了长足的发展。目前,在我国已经成为社会、经济、科学技术在等诸多领域进行预测、决策、评估、规划控制、系统分析与建模的重要方法之一。特别是它对时间序列短、统计数据少、信息不完全系统的分析与建模,具有独特的功效,因此得到了广泛的应用。

灰色系统是黑箱概念的一种推广。我们把既含有已知信息又含有未知信息的系统称为灰色系统作为两个极端,我们将称信息完全未确定的系统为黑色系统;称信息完全确定的系统为白色系统. 区别白色系统与黑色系统的重要标志是系统各因素之间是否具有确定的关系。

2. 灰色系统的特点

用灰色数学处理不确定量,使之量化。

充分利用已知信息寻求系统的运动规律。

灰色系统理论能处理贫信息系统。

3. 灰色生成

将原始数据列中的数据,按某种要求作数据处理称为生成。客观世界尽管表述其行为的数据可能是杂乱无章,然而它必然是有序的,都存在着某种内在规律,不过这些规律被纷繁复杂的现象所很难直接从原始数据中找到,某种内在的对数据的生成就是企图从杂乱无章的现象中去发现,常用的灰色系统生成方式有:累加、累减均值生成、级比生成。

4. 累加生成简介

累加生成,即通过数列间各时刻数据的依个累加以得到新的数据与数列。累加前的数列称原始数列,累加后的数列称为生成数列。累加生成是使灰色过程由灰变白的一种方法,它在灰色系统理论中占有极其重要地位,通过累加生成可以看出灰量积累过程的发展态势,使离乱的原始数据中蕴含的积分特性或规律加以显化。累加生成是对原始数据列中各时刻的数据依次累加,从而生成新的序列的一种手段。

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

5. GM(1,1)模型

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

6. 预测值的求解

网络异常,图片无法展示
|

7. GM(1,1)模型精度检验

模型选定之后, ,一定要经过检验才能判定其是否合

理一定要经过检验才能判定其是否合理, 只有通过检验的模型才能用来作预测, 灰色模型的精度检验一般有三种方法灰色模型的精度检验一般有三种方法: 相对误差大小检验法, 关联度检验法和后验差检验法. 下面主要介绍后验差检验法:

网络异常,图片无法展示
|

计算残差得

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

8. 灰度通用代码

function []=greymodel(y)

% 本程序主要用来计算根据灰色理论建立的模型的预测值。

% 应用的数学模型是 GM(1,1)。

% 原始数据的处理方法是一次累加法。

y=input('请输入数据 ');

n=length(y);

yy=ones(n,1);

yy(1)=y(1);

fori=2:n

   yy(i)=yy(i-1)+y(i);

end

B=ones(n-1,2);

fori=1:(n-1)

   B(i,1)=-(yy(i)+yy(i+1))/2;

   B(i,2)=1;

end

BT=B';

forj=1:n-1

   YN(j)=y(j+1);

end

YN=YN';

A=inv(BT*B)*BT*YN;

a=A(1);

u=A(2);

t=u/a;

i=1:n+2;

yys(i+1)=(y(1)-t).*exp(-a.*i)+t;

yys(1)=y(1);

forj=n+2:-1:2

   ys(j)=yys(j)-yys(j-1);

end

x=1:n;

xs=2:n+2;

yn=ys(2:n+2);

plot(x,y,'^r',xs,yn,'*-b');

det=0;

 

sum1=0;

sumpe=0;

fori=1:n

   sumpe=sumpe+y(i);

end

pe=sumpe/n;

fori=1:n;

   sum1=sum1+(y(i)-pe).^2;

end

s1=sqrt(sum1/n);

sumce=0;

fori=2:n

   sumce=sumce+(y(i)-yn(i));

end

ce=sumce/(n-1);

sum2=0;

fori=2:n;

   sum2=sum2+(y(i)-yn(i)-ce).^2;

end

s2=sqrt(sum2/(n-1));

c=(s2)/(s1);

disp(['后验差比值为:',num2str(c)]);

ifc<0.35

   disp('系统预测精度好')

elseifc<0.5

       disp('系统预测精度合格')

   elseifc<0.65

           disp('系统预测精度勉强')

       else

           disp('系统预测精度不合格')

       end

   end

end

           

disp(['下个拟合值为 ',num2str(ys(n+1))]);

disp(['再下个拟合值为',num2str(ys(n+2))]);

8. 运行结果

相关文章
|
10月前
|
机器学习/深度学习 数据挖掘
这图怎么画| 一个用于展示多种机器学习模型结果的热图
这图怎么画| 一个用于展示多种机器学习模型结果的热图
107 0
|
10月前
|
数据采集 机器学习/深度学习 数据挖掘
【数学建模】 灰色预测模型
【数学建模】 灰色预测模型
165 0
|
3月前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习】回归任务、线性回归评价指标讲解及温度与花朵数线性回归实战(图文解释 附源码)
【Python机器学习】回归任务、线性回归评价指标讲解及温度与花朵数线性回归实战(图文解释 附源码)
102 0
|
2月前
|
机器学习/深度学习 算法 Windows
【阿旭机器学习实战】【34】使用SVM检测蘑菇是否有毒--支持向量机
【阿旭机器学习实战】【34】使用SVM检测蘑菇是否有毒--支持向量机
|
2月前
|
机器学习/深度学习 监控 算法
基于yolov2深度学习网络的昆虫检测算法matlab仿真,并输出昆虫数量和大小判决
YOLOv2算法应用于昆虫检测,提供实时高效的方法识别和定位图像中的昆虫,提升检测精度。核心是统一检测网络,预测边界框和类别概率。通过预测框尺寸估算昆虫大小,适用于农业监控、生态研究等领域。在matlab2022A上运行,经过关键升级,如采用更优网络结构和损失函数,保证速度与精度。持续优化可增强对不同昆虫的检测能力。![image.png](https://ucc.alicdn.com/pic/developer-ecology/3tnl7rfrqv6tw_e760ff6682a3420cb4e24d1e48b10a2e.png)
|
3月前
|
机器学习/深度学习 数据可视化
R语言用灰色模型 GM (1,1)、神经网络预测房价数据和可视化
R语言用灰色模型 GM (1,1)、神经网络预测房价数据和可视化
|
3月前
|
数据采集 数据库 数据格式
【数学建模竞赛】数据预处理知识总结2——数据变换
【数学建模竞赛】数据预处理知识总结2——数据变换
54 1
|
机器学习/深度学习 人工智能 算法
【MATLAB第1期】LSTM/GRU网络回归/分类预测改进与优化合集(含录屏操作,持续更新)
【MATLAB第1期】LSTM/GRU网络回归/分类预测改进与优化合集(含录屏操作,持续更新)
【MATLAB第1期】LSTM/GRU网络回归/分类预测改进与优化合集(含录屏操作,持续更新)
|
自然语言处理 算法
基于KNN近邻分类的情感识别算法matlab仿真
基于KNN近邻分类的情感识别算法matlab仿真
|
机器学习/深度学习 传感器 算法
基于LSTM深度学习网络的人员行走速度识别matlab仿真,以第一视角视频为样本进行跑或者走识别
基于LSTM深度学习网络的人员行走速度识别matlab仿真,以第一视角视频为样本进行跑或者走识别