糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 【数学建模】灰色预测模型(预测)

【数学建模】灰色预测模型(预测)

时间:2020-03-29 01:06:29

相关推荐

【数学建模】灰色预测模型(预测)

文章目录

一、算法介绍1.灰色预测模型2.灰色系统理论3. 针对类型4. 灰色系统5. 灰色生成6. 累加生成7. GM(1,1)模型推导精度检验精度检验等级参照表二、适用问题三、算法总结1. 步骤四、应用场景举例1. 累加生成2. 建立GM(1,1)模型3. 检验预测值五、MATLAB代码六、实际案例七、论文案例片段(待完善)

灰色预测模型主要针对数学建模问题中的一些小的子问题进行求解,如果想直接使用请跳转至——

另外之前看过一篇比较完整的【数学建模常用算法】之灰色预测模型GM,作者:張張張張

视频回顾

一、算法介绍

1.灰色预测模型

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

2.灰色系统理论

 灰色系统理论是研究解决灰色系统分析、建模、预测、决策和控制的理论.灰色预测是对灰色系统

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

3. 针对类型

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

4. 灰色系统

 灰色系统是黑箱概念的一种推广。

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

特点:

 (1)用灰色数学处理不确定量,使之量化.

 (2)充分利用已知信息寻求系统的运动规律.

 (3)灰色系统理论能处理贫信息系统.

5. 灰色生成

 将原始数据列中的数据,按某种要求作数据处理称为生成.客观世界尽管复杂,表述其行为的数据可能是杂乱无章的,然而它必然是有序的,都存在着某种内在规律,不过这些规律被纷繁复杂的现象所掩盖,人们很难直接从原始数据中找到某种内在的规律.对原始数据的生成就是企图从杂乱无章的现象中去发现内在规律.

常用的灰色系统生成方式有:

 (1)累加生成,

 (2)累减生成,

 (3)均值生成,

 (4)级比生成等,

6. 累加生成

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

案例根据原始序列,累加生成新序列

7. GM(1,1)模型

推导

精度检验

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

精度检验等级参照表

二、适用问题

面临信息残缺、少量、模糊、不完整的情况下,需要对数据进行预测:例如:小样本、贫信息、预测人口数量短期预测

三、算法总结

1. 步骤

累加生成建立GM(1,1)模型检验预测值

四、应用场景举例

1. 累加生成

2. 建立GM(1,1)模型

3. 检验预测值

五、MATLAB代码

function []=greymodel(y)% 本程序主要用来计算根据灰色理论建立的模型的预测值。% 应用的数学模型是 GM(1,1)。% 原始数据的处理方法是一次累加法。y=input('请输入数据 ');n=length(y);yy=ones(n,1);yy(1)=y(1);for i=2:nyy(i)=yy(i-1)+y(i);endB=ones(n-1,2);for i=1:(n-1)B(i,1)=-(yy(i)+yy(i+1))/2;B(i,2)=1;endBT=B';for j=1:n-1YN(j)=y(j+1);endYN=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);for j=n+2:-1:2ys(j)=yys(j)-yys(j-1);endx=1:n;xs=2:n+2;yn=ys(2:n+2);plot(x,y,'^r',xs,yn,'*-b');det=0;sum1=0;sumpe=0;for i=1:nsumpe=sumpe+y(i);endpe=sumpe/n;for i=1:n;sum1=sum1+(y(i)-pe).^2;ends1=sqrt(sum1/n);sumce=0;for i=2:nsumce=sumce+(y(i)-yn(i));endce=sumce/(n-1);sum2=0;for i=2:n;sum2=sum2+(y(i)-yn(i)-ce).^2;ends2=sqrt(sum2/(n-1));c=(s2)/(s1);disp(['后验差比值为:',num2str(c)]);if c<0.35disp('系统预测精度好')else if c<0.5disp('系统预测精度合格')else if c<0.65disp('系统预测精度勉强')elsedisp('系统预测精度不合格')endendenddisp(['下个拟合值为 ',num2str(ys(n+1))]);disp(['再下个拟合值为',num2str(ys(n+2))]);

六、实际案例

[724.57, 746.62, 778.27, 800.8, 827.75,871.1, 912.37, 954.28, 995.01, 1037.2][2.874,3.278,3.337,3.390,3.679]

七、论文案例片段(待完善)

如果觉得《【数学建模】灰色预测模型(预测)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。