文章目录

  • 一、算法介绍
    • 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. 小样本、贫信息、预测人口数量短期预测

三、算法总结

1. 步骤

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

四、应用场景举例

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);
end
B=ones(n-1,2);
for i=1:(n-1)B(i,1)=-(yy(i)+yy(i+1))/2;B(i,2)=1;
end
BT=B';
for j=1:n-1YN(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);
for j=n+2:-1:2ys(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;
for i=1:nsumpe=sumpe+y(i);
end
pe=sumpe/n;
for i=1:n;sum1=sum1+(y(i)-pe).^2;
end
s1=sqrt(sum1/n);
sumce=0;
for i=2:nsumce=sumce+(y(i)-yn(i));
end
ce=sumce/(n-1);
sum2=0;
for i=2:n;sum2=sum2+(y(i)-yn(i)-ce).^2;
end
s2=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('系统预测精度不合格')endend
enddisp(['下个拟合值为 ',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]

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

【数学建模】灰色预测模型(预测)相关推荐

  1. 数学建模——灰色预测模型Python代码

    数学建模--灰色预测模型Python代码 """ Spyder Editor This is a temporary script file. ""& ...

  2. 数学建模-灰色预测模型(预测模型)

            灰色预测是指利用GM模型对系统行为特征的发展变化规律进行估计预测,同时也可以对行为特征的异常情况发生的时刻进行估计计算,以及对在特定时区内发生事件的未来时间分布情况做出研究等等.这些工 ...

  3. 数学建模——灰色预测模型

    模型简介 灰色模型 (grey models) 是通过少量的,不完全的信息,建立灰色微分预测模型,对事物发展作出长期性的描述. 与灰色模型相对应的预测方法有回归分析等,但这些预测方法需要较大的样本,如 ...

  4. 【预测模型】基于灰色预测模型预测人口出生率

    目录 基于灰色预测模型预测人口出生率 收集并导入数据 数据预处理

  5. 【数学建模】预测模型笔记之灰色预测

    学习来源:清风老师 灰色预测 灰色系统 GM(1,1)模型: Grey(Gray) Model GM(1,1)是使用原始的离散非负数据列,通过一次累加生成削弱随机性的较有规律的新的离散数据列,然后通过 ...

  6. 数学建模系列-预测模型(一)灰色预测模型

    目录 1 灰色预测模型 1.1 灰色系统的定义与特点 1.2 灰色预测模型优缺点 1.3 灰色生成数列 1.4 灰色模型GM(1,1)实操步骤 1 数据检验 2 构建灰色模型 3 检验预测值 4 灰色 ...

  7. 数学建模系列--预测模型(二)---灰色预测模型

    正如前文所述,目前我们学习预测模型的第二类:灰色预测模型. 在控制领域,有一种方法将系统可以笼统的分为三类: 黑箱.白箱.灰箱. 其中黑箱是完全不可观的,因此只能通过大量的输入.输出数据进行建模,找到 ...

  8. 城市流动劳动力的数学模型matlab,数学建模_人口预测

    2007高教社杯全国大学生数学建模竞赛 承诺书 我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话.电子邮件.网上咨询等)与队外的任何人(包括 ...

  9. 2022年第五届中青杯数学建模-时间序列预测模型及基于多特征条件下的决策优化

    开放三孩背景下的生育政策研究   众所周知,人口的数量和结构是影响社会经济发展的重要因素.我国经历了"计划生育"到"全面二孩",再到"放开三孩&quo ...

  10. [数学建模]灰色关联分析--系统分析

    建模算法整理,文章主要介绍了 灰色关联分析.两个作用, 一是进行系统分析,判断影响系统发展的因素的重要性. 二是用于综合评价问题,给出研究对象或者方案的优劣排名. 本文主要介绍第一个应用 参考学习资料 ...

最新文章

  1. Mysql中对table的操作问题
  2. mysql镜像远程连接_Docker创建MySQL镜像并成功进行远程连接
  3. 计算机网络通信技术课程的基本知识点内容,河北《计算机网络与通信(2339)》自学考试大纲...
  4. SqlCommandBuilder
  5. Javascript继承4:洁净的继承者----原型式继承
  6. js控制文本框中的字符数
  7. python中的order_Hive中Order by和Sort by的区别是什么?
  8. spring容器_Spring容器文档阅读要点记录
  9. mysql-使用存储过程一次性批量创建多张表
  10. 2019windows上安装Mac OS 10.14过程详细截图
  11. 使用RomBuster获取你的网络路由器密码
  12. 系统讲解一下整站SEO优化都涉及到哪些工作?
  13. 视频传输协议的总结区分
  14. 计算机的基本组成和工作原理
  15. html5控制gif速度,用gifsicle优化GIF动图
  16. 周杰伦专辑《最伟大的作品》在哪看?当贝盒子畅享周董最新MV
  17. Google Go 语言从入门到应用必备开源项目
  18. 如何查询计算机上次登录时间,怎么查看电脑的上一次开机时间
  19. 个人技术博客的选择:CSDN、博客园、简书、知乎专栏、Github、新浪、个人建站等?
  20. New Age音乐启蒙与经典选介

热门文章

  1. [Violet]樱花
  2. 6轴机器人运动学逆解matlab,六轴机器人建模方法、正逆解、轨迹规划实例与Matalb Robotic Toolbox 的实现...
  3. [linux驱动开发] 基于gpiod API的platform总线多个led驱动开发
  4. Ubuntu下运行Open WebOS
  5. B2C电子商务系统研发——商品SKU分析和设计(二)
  6. StringUtils类API
  7. processon工具使用
  8. 机器学习中的隐变量/潜变量和隐藏空间/潜在空间
  9. C++反汇编obj文件(objconv)
  10. python基于PHP+MySQL的美食网站的设计与实现