文章目录

  • 1 问题导入
  • 2 实质分析
    • 2.1 是什么
    • 2.2 为什么
    • 2.3 怎么做
  • 3 竞赛参考
    • 3.1 代码
    • 3.2 word文档
    • 3.3 资料

1 问题导入

恐怖主义是人类的共同威胁,打击恐怖主义是每个国家应该承担的责任。对恐怖袭击事件相关数据的深入分析有助于加深人们对恐怖主义的认识,为反恐防恐提供有价值的信息支持。
对未来反恐态势的分析评估有助于提高反恐斗争的针对性和效率。下图是对2015年–2018年12个季度的某地区恐怖袭击事件数量统计,请你们依据该数据,建立适当的数学模型,预测未来2年的恐怖事件数量1

疑惑:给的数据较少,该如何预测?


2 实质分析

2.1 是什么

灰色预测2是利用GM模型对系统行为特征的发展变化规律进行估计预测。
灰色预测在工业、农业、商业等经济领域,以及环境、社会和军事等领域中都有广泛的应用。特别是依据目前已有的数据对未来的发展趋势做出预测分析。

2.2 为什么

1.事件为灰因白果3. #结果明确,影响因素复杂且未知
2. 数据量少
3. 数据是等间距或者非等间距
4. 预测需要可检验性. #希望预测结果科学性严谨,经得起检验

2.3 怎么做

为了对所给数据的变化过程进行研究和预测,我们使用灰色预测GM(1,1)4模型,将离散的数据生成随机性小且有规律的生成数,再建立起微分方程进行求解。

具体步骤如下:


  1. 数据级比检验

原因:保障GM(1,1)模型的可行性,需要对已知数据列做必要的处理。

原始数据x(0)x^{(0)}x(0):

x(0)=(x(0)(1),x(0)(2),⋯,x(0)(n))x^{(0)}=(x^{(0)}(1),x^{(0)}(2),\cdots,x^{(0)}(n)) x(0)=(x(0)(1),x(0)(2),⋯,x(0)(n))

计算数列的级比λ(k)\lambda(k)λ(k):
λ(k)=x(0)(k−1)x(0)(k),k=2,3,⋯,n\lambda(k)=\frac{x^{(0)}(k-1)}{x^{(0)}(k)},k=2,3,\cdots,n λ(k)=x(0)(k)x(0)(k−1)​,k=2,3,⋯,n

如果所有的级比λ(k)\lambda(k)λ(k)都落在(e−2n+1,e2n+2)(e^{-\tfrac{2}{n+1}},e^{\tfrac{2}{n+2}})(e−n+12​,en+22​)内,则数列x(0)x^{(0)}x(0)可以作为模型GM(1,1)的数据进行灰色预测。如果没通过,对数列x(0)x^{(0)}x(0)做变化处理,使其落入范围内。即取适当的常数ccc,做平移交换:

y(0)(k)=x(0)(k)+c,k=1,2,⋯,ny^{(0)}(k)=x^{(0)}(k)+c,k=1,2,\cdots,n y(0)(k)=x(0)(k)+c,k=1,2,⋯,n
再进行级比检验,直至通过或者更换模型。

  1. 数据累加和微分方程构造

对原始数据列x(0)x^{(0)}x(0)做一次累加(AGO)生成数列x(1)x^{(1)}x(1):

x(1)=(x(1)(1),x(1)(2),⋯,x(1)(n))x^{(1)}=(x^{(1)}(1),x^{(1)}(2),\cdots,x^{(1)}(n)) x(1)=(x(1)(1),x(1)(2),⋯,x(1)(n))
其中:
x(1)(k)=∑i=1kx(0)(i),k=1,2,⋯,nx^{(1)}(k)=\sum_{i=1}^{k}x^{(0)}(i),k=1,2,\cdots,n x(1)(k)=i=1∑k​x(0)(i),k=1,2,⋯,n

对应的微分方程为:(aaa为发展系数,bbb为灰作用量)
dx(1)dt+ax(1)(t)=b\frac{dx^{(1)}}{dt}+ax^{(1)}(t)=b dtdx(1)​+ax(1)(t)=b

  1. 系数求解(构造数据矩阵与数据向量)与微分方程求解

数据矩阵BBB:
B=[−z(1)(2)1−z(1)(3)1⋮⋮−z(1)(n)1]B= \begin{bmatrix} -z^{(1)}(2) & 1 \\ -z^{(1)}(3) & 1 \\ \vdots & \vdots \\ -z^{(1)}(n) & 1 \\ \end{bmatrix} B=⎣⎢⎢⎢⎡​−z(1)(2)−z(1)(3)⋮−z(1)(n)​11⋮1​⎦⎥⎥⎥⎤​
数据向量YYY:
Y=[x(0)(2)x(0)(3)⋮x(0)(n)]Y= \begin{bmatrix} x^{(0)}(2) \\ x^{(0)}(3) \\ \vdots \\ x^{(0)}(n) \\ \end{bmatrix} Y=⎣⎢⎢⎢⎡​x(0)(2)x(0)(3)⋮x(0)(n)​⎦⎥⎥⎥⎤​

其中z(1)z^{(1)}z(1)为加权平均值:
z(1)(k)=0.5x(1)(k)+0.5x(1)(k−1),k=2,3,⋯,nz^{(1)}(k)=0.5x^{(1)}(k)+0.5x^{(1)}(k-1),k=2,3,\cdots,n z(1)(k)=0.5x(1)(k)+0.5x(1)(k−1),k=2,3,⋯,n

计算系数μ^\hat{\mu}μ^​(最小二乘法):
μ^=(a,b)T=(BTB)−1BTY\hat{\mu}=(a,b)^T=(B^TB)^{-1}B^TY μ^​=(a,b)T=(BTB)−1BTY

对前面的微分方程求解可得:
x^(1)(k+1)=(x(0)(1)−ba)e−ak+ba,k=1,2,⋯,n−1\hat{x}^{(1)}(k+1)=(x^{(0)}(1)-\frac{b}{a})e^{-ak}+\frac{b}{a},k=1,2,\cdots,n-1 x^(1)(k+1)=(x(0)(1)−ab​)e−ak+ab​,k=1,2,⋯,n−1
x^(0)(k+1)=x^(1)(k+1)−x^(1)(k),k=1,2,⋯,n−1\hat{x}^{(0)}(k+1)=\hat{x}^{(1)}(k+1)-\hat{x}^{(1)}(k),k=1,2,\cdots,n-1 x^(0)(k+1)=x^(1)(k+1)−x^(1)(k),k=1,2,⋯,n−1
x^(1)(1)=x^(0)(1)=x(0)(1)\hat{x}^{(1)}(1)=\hat{x}^{(0)}(1)=x^{(0)}(1) x^(1)(1)=x^(0)(1)=x(0)(1)
由上面三式可得:(最终结果)
x^(0)(k+1)=(x(0)(1)−ba)(1−ea)e−ak,k=1,2,⋯,n−1\hat{x}^{(0)}(k+1)=(x^{(0)}(1)-\frac{b}{a})(1-e^a)e^{-ak},k=1,2,\cdots,n-1 x^(0)(k+1)=(x(0)(1)−ab​)(1−ea)e−ak,k=1,2,⋯,n−1

  1. 残差检验与级比偏差检验

残差检验ε(k)\varepsilon(k)ε(k):
ε(k)=x(0)(k)−x^(0)(k)x(0)(k),k=1,2,⋯,n\varepsilon(k)=\frac{x^{(0)}(k)-\hat{x}^{(0)}(k)}{x^{(0)}(k)}, k=1,2,\cdots,n ε(k)=x(0)(k)x(0)(k)−x^(0)(k)​,k=1,2,⋯,n
如果ε(k)\varepsilon(k)ε(k)<0.2,则可认为达到一般要求;如果ε(k)\varepsilon(k)ε(k)<0.1,则认为达到较高的要求。

级比偏差检验ρ(k)\rho(k)ρ(k):
ρ(k)=1−(1−0.5a1+0.5a)λ(k)\rho(k)=1-(\frac{1-0.5a}{1+0.5a})\lambda(k) ρ(k)=1−(1+0.5a1−0.5a​)λ(k)
如果ρ(k)\rho(k)ρ(k)<0.2,则可认为达到一般要求;如果ρ(k)\rho(k)ρ(k)<0.1,则认为达到较高的要求。

注:在真实做题的时候,满足一个即可,满足两个更好。


为了避免查重,可以直接放图片(如何做图?)


3 竞赛参考

3.1 代码

Matlab代码

clc,clear;
x0 = [4.012 3.761 3.66  3.532 3.46  3.629 3.321 3.177 2.719 3.023 2.8   2.358]';
c = 1;
x0 = x0+c;
n = length(x0);
lamda = x0(1:n-1)./x0(2:n); %计算级比
range = minmax(lamda');
x1 = cumsum(x0); %累加运算
z = zeros(1, n);
for i=2:nz(i) = 0.5*(x1(i)+x1(i-1));
end
B = [-z(2:n)', ones(n-1,1)];
Y = x0(2:n);
u = B\Y; %u(1)=a, u(2)=b
%微分方程
syms x(t)
x = dsolve(diff(x)+u(1)*x==u(2), x(0) == x0(1)); %微分方程求解
x=vpa(x,6); %小数形式显示微分方程的解
x1hat = subs(x, t, (0:n-1)); %求已知数据的预测值
x1hat = double(x1hat); %符号数转成数值类型
x0hat = [x0(1), diff(x1hat)]; %差分运算,还原数据
epsilon = (x0'-x0hat)/(x0'); %计算残差
rho = 1-(1-0.5*u(1))/(1+0.5*u(1))*lamda'; %计算级比偏差
%预测
px1hat = subs(x, t, (0:n+3)); %求已知数据的预测值
px1hat = double(px1hat); %符号数转成数值类型
px0hat = [x0(1), diff(px1hat)]; %差分运算,还原数据
px0hat = px0hat-c; %  注意:代码文件仅供参考,请勿直接用在论文中

3.2 word文档

3.3 资料


注意:本文word、源代码、参考资料等等可关注公众号“小鹏数学建模”,回复“灰色2”或“灰色上手”即可获得

关注公众号“小鹏数学建模”,建模之路不再困难


  1. [1]第十五届“华为杯”中国研究生数学建模竞赛—C题. ↩︎

  2. [2]司守奎,孙兆亮.数学建模算法与应用[M].国防工业出版社,2015. ↩︎

  3. [3]邓聚龙.灰色系统基本方法.国防工业出版社,2005. ↩︎

  4. [4]王永晨,潘永惠,樊立华,林喆.灰色预测和灰色关联分析在医院管理中的应用[J].中国医院统计,2000(04):218-220. ↩︎

灰色预测模型--两秒直接上手相关推荐

  1. 机器学习(MACHINE LEARNING)MATLAB灰色预测模型

    文章目录 1 概述 2 灰色模型介绍 3 精度检验等级参照表 4 代码 1 概述 灰色预测模型(Gray Forecast Model)是一种基于小样本数据进行预测的模型.灰色预测模型所需建模信息少, ...

  2. 灰色系统与灰色预测模型

    灰色系统与模糊数学.黑箱方法的区别 主要在于对系统内涵与外延处理态度不同: 研究对象内涵与外延的性质不同. 灰色系统着重外延明确.内涵不明确的对象,模糊数学着重外延不明确.内涵明确的对象. " ...

  3. 运用自回归滑动平均模型、灰色预测模型、BP神经网络三种模型分别预测全球平均气温,并进行预测精度对比(附代码、数据)

    大家好,我是带我去滑雪,每天教你一个小技巧!全球变暖是近十年来,人们关注度最高的话题.2022年夏天,蔓延全球40℃以上的极端天气不断刷新人们对于高温的认知,人们再也不会像从前那样认为全球变暖离我们遥 ...

  4. 灰色预测模型_python

    灰色系统理论及其应用系列博文: 一.灰色关联度分析法(GRA)_python 二.灰色预测模型GM(1,1) 三.灰色预测模型GM(1,n) 四.灰色预测算法改进1-背景值Z 五.灰色预测改进2-三角 ...

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

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

  6. 数学建模:预测性模型学习——灰色预测模型(GM(1,1)模型)

    目录 前言 一.模型实现 1.流程介绍 2.灰色生成 1.累加生成算子 2.均值生成算子 3.可行性分析(级比检验) 4.建立GM(1,1)模型 1.数据预处理: 2.建立模型: 3.构造数据矩阵B及 ...

  7. 数学建模|预测方法:灰色预测模型

    简介 灰色系统理论是由华中理工大学邓聚龙教授于1982年提出并加以发展的.二十几年来,引起了不少国内外学者的关注,得到了长足的发展.目前,在我国已经成为社会.经济.科学技术在等诸多领域进行预测.决策. ...

  8. 灰色预测模型介绍及MATLAB代码实现

    文章目录 1. 按 2. 灰色模型介绍 3. 精度检验等级参照表 4. matlab代码 5. 实验数据 5.1. 测试一 5.2. 测试二 1. 按 灰色预测模型\color{red}灰色预测模型灰 ...

  9. matlab灰色关联逻辑分析模型,灰色理论灰色预测模型和灰色关联度分析matlab通用代码...

    %该程序用于灰色关联分析,其中原始数据的第一行为参考序列,1至15行为正相关序列,16至17为负相关序列 clc,clear load x.txt %把原始数据存放在纯文本文件x.txt 中 %如果全 ...

最新文章

  1. vue 热更新无反应_不吹不黑谈谈 vue 的 SFC 和 template
  2. 台积电新工艺路线图披露:7nm最快明年4月试产
  3. mysql怎样循环插入数据_你向 Mysql 数据库插入 100w 条数据用了多久?
  4. Apple watch 开发指南(1) 预览
  5. 系统分析师资料_如何成为一名数据分析师?
  6. python--面向对象
  7. sql between包括两端吗_技术分享:T-SQL 之语法艺术(一)
  8. ElasticSearch 如何使用 TDigest 算法计算亿级数据的百分位数?
  9. 使用MIB来监控你的应用(tuxedo mib)
  10. jQuery图片轮播插件 jQuery Cycle Plugin
  11. hash 图像检索方法汇总
  12. 概率论与数理统计 基本概念
  13. spark本地项目报错:Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
  14. 十六进制字符串与byte数组与ASCII码互相转换
  15. Spring ,Spring Tolls Suit 任何版本下载
  16. 专注中小企业 ERP 系统解决方案(源码JavaVue)
  17. 2023年了,推荐 5 款 API 管理工具
  18. C语言初学知识准备(Linux方面)
  19. Event loop/浏览器的事件循环机制
  20. 谷燕西:商业银行,区块链时代的牺牲品

热门文章

  1. 智学网登录不了java_智学网常见问题解决方法介绍
  2. 请编写一个程序,使用字典存储学生信息,学生信息包括学号和姓名,请根据学生学号从小到大的顺序输出学生信息。
  3. python+opencv-12 黑帽和礼帽运算
  4. Adobe Fireworks CS5 | Adobe Dreamweaver CS5 | Adobe Photoshop CS5 Extended 绿色精简版最新下载地址...
  5. 1404:我家的门牌号(C C++)
  6. CS入门学习笔记3-廖雪峰python教程-函数
  7. 揭秘POS机套现江湖:代理商层层抽佣,支付机构“默许”?
  8. F4键无法在Excel里正常使用
  9. 详解 SCI SCIE SSCI
  10. 【Java】2.Java体系架构(SE的组成概念图)