GM(灰度预测模型)

2023-10-31

根据某市1-6月的交通事故数量,建立灰色模型预测GM(1,1)G表示grey,M表示model预测7.8月份的交通事故数量(要求做精度检验)

 

灰色预测的概念

(1)灰色系统、白色系统和黑色系统

白色系统是指一个系统的内部特征是完全已知的,既系统信息是完全充分的。

黑色系统是一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系来加以观测研究。

灰色系统介于白色和黑色之间,灰色系统内的一部分信息是已知的,另一部分信息是未知的,系统内各因素间有不确定的关系。

(2)灰色预测法

灰色预测法是一种预测灰色系统的预测方法。

灰色预测通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况。

 

原始数据

月份

1

2

3

4

5

6

事故数量

83

95

130

141

156

185

 

使用matlab将原始数据的直观图像绘制出来

line([1,2,3,4,5,6],[83,95,130,141,156,185],'Marker','o');

观察能够发现月份关于交通事故的数量为递增增长,离散分布在一个一次函数附近。

 

1.将原始数据写入矩阵

A = [83,95,130,141,156,185];

 

2.原数据进行处理从而弱化随机序列的波动性和随机性,对数据进行降噪。

一般处理的方法有累加(AGO),累减(IAGO),邻值加权,一次或多次级比(数列错位相除),对数变化等处理后使数据表现出明显的规律和趋势。对于这个原始数据来说直接使用累加就可以达到使数据的规律和趋势更加明显的作用。累加生成能使任意非负数列、摆动的与非摆动的,转化为非减的、递增的。

B = cumsum(A);

我们可以看累加后的数据图像

A = [83,95,130,141,156,185];

B = cumsum(A);

line([1,2,3,4,5,6],B,'Marker','o');

一次函数趋势更加明显,也就体现了累加的意义。同样适用其他处理方法的意义也在于此处。

 

3.求新生成数列的灰导数方程

不知道灰导数是什么没关系,先来看一下灰导数的求法就明白了但是此时要记住这个数列是我们累加后的数列。

灰导数其实就是相邻两项数据的差值,这也就体现了我们为什么一定要将原始数据处理成为一个一次函数趋势明显的数列。所以也可以看出来其实在整个灰度预测中怎样将原始数据处理成为一次函数趋势明显的数列是灰色模型的核心之一。也就是说我们如果不能消除突变或者灾变数据也就不适合使用灰色模型。

 

4.求数列的紧邻均值

这一步骤是进一步为灰微分方程的建立打下基础,是灰微分方程更加健壮。

 

5.建立GM(1,1)灰微分方程(一般的凡是表示未知函数、未知函数的导数与自变量之间的关系的方程,叫做微分方程。表达式:)

于是定义GM(1,1)的灰微分方程模型为d(k)+az(1)(k)=b或x(0)(k)+az(1)(k)=b

其实也就是d(x)=k z(1)(x)+b(y=kx+b)

其中,x(0)(k)x(0)(k)称为灰导数,a称为发展系数,z(1)(k)称为白化背景值,b称为灰作用量

这步可以看到我们求紧邻均值的作用,使用均值来平滑数列的突变。

下面就将这个问题转换为知道一组数据就回归方程的问题(只不过这组数据被我们处理后变得一次函数趋势及其明显),我们用高中的最小二乘法求出a,b的数值。

 

for i=1:(n-1)

C(i) = (B(i)+B(i+1))/2;

end

 

6.白化GM(1,1)模型

我们此时得到的数据是离散状态的散点图,但是想要已知一个月份得到交通事故的数量,需要将这个灰色模型白化,得到确切的关系式从而计算结果。所以白化过程就是由离散回归连续的过程,但是这期间可能信息对等,也可能增加伪信息,这便是灰色模型成为灰色的一个原因。

7.求解模型

此时将离散方程转化为连续方程后d(k)不再是一个简单的差量,而被取了极限变为了微分,我们使用不定积分将函数的最终表达式求出。

这里我们只需要将我们的微分积分转化为下面的微分方程的形式然后求解即可。

8.模型检验

 

9.模型的预测

由于灰度模型适用范围有限,所以我们在以后适用GM时可以先使用下面的方法对模型进行简单的估计,如果满足条件就可以使用GM求解。

Λ(k)=x(0)(k-1)/x(0)(k)【这个式子称为级比】 若Λ(k)落在((e)^(-2/n+1),(e)^ (2/n+1))便适合使用GM求解。

 

10.预测结果

月份

1

2

3

4

5

6

结果

83.0000

103.7144

119.7793

138.3327

159.7598

184.5059

月份

7

8

9

10

11

12

结果

213.0851

246.0911

284.2096

328.2325

437.7914

379.0744

 

 

源代码:

clear

syms a b;

c = [a b]';

A = [83,95,130,141,156,185]; %将数据写入一维数组

n = length(A);

B = cumsum(A); %将A中的数据累加

for i=1:(n-1)

C(i) = (B(i)+B(i+1))/2; %求紧邻均值并且生成累加矩阵

end

%计算a,b参数

D=A;D(1)=[];

D=D';

E=[-C;ones(1,n-1)];

c=inv(E*E')*E*D;

c=c';

a=c(1);b=c(2);

%预测后续数据

F=[];F(1)=A(1);

for i=2:(n+6)

F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; %算出不定积分结果将F算出

end

G=[];G(1)=A(1);

for i=2:(n+6)

G(i)=F(i)-F(i-1); %累减还原

end

t1=1:6;

t2=1:12;

G

plot(t1,A,'o',t2,G)

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GM(灰度预测模型) 的相关文章

  • 2019年数学建模国赛A题

    前几天中秋节比完了 选的A题 我们学校好多组都选了A题 C题的很少 大家都怕找不到数据 我们组刚开始觉得A B都能做 就是C题可能没有数据无法下手 加上之前做小区道路的时候 用了仿真软件解题 我觉得很不靠谱 我主要是写论文的 然后一起建了数
  • 2020年深圳杯C题

    C题 无线可充电传感器网络充电路线规划 摘要 物联网的快速发展带动了无线传感器网络WSN在生活中的广泛运用 无线传感器网络中包括若干传感器以及一个数据中心 这些传感器的电池均需要移动充电器提供能量来维持正常的工作 移动充电器的能量一方面用于
  • 2020年高教社建模国赛真题A题--炉温曲线

    2020年高教社杯全国大学生数学建模竞赛题目 请先阅读 全国大学生数学建模竞赛论文格式规范 A题 炉温曲线 在集成电路板等电子产品生产中 需要将安装有各种电子元件的印刷电路板放置在回焊炉中 通过加热 将电子元件自动焊接到电路板上 在这个生产
  • 基于改进二进制粒子群算法的电力系统机组组合——复现

    目录 文章摘要 研究背景 二进制粒子群算法 代码运行效果 本文代码分享 文章摘要 提出了1种改进的BS0 二进制粒子群 方法求解机组组合问题 首先 利用优先顺序法确定初始的机组组合 根据这个结果 确定优化窗口的范围 在此范围内利用BPSO进
  • 闻达(Wenda):基于Chatglm6b的知识库+大语言模型融合项目

    背景 随着ChatGPT模型的一炮而红 大语言模型已然风靡全球 成为了全世界闪烁的焦点 目前 越来越多的研发人员投入到大语言模型的扩展开发中 闻达 Wenda 便是其中一项重要成果 闻达源于清华大学开源的ChatGLM6b项目 作为少有的在
  • 为不同的调制方案设计一个单载波系统(映射器-信道-去映射器)(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 本代码为不同的调制方案 BPSK QPSK
  • 什么是思维导图?6 个开源免费的思维导图软件

    目录 15款思维导图工具推荐 什么是思维导图 6 个开源免费的思维导图软件 当前推荐 Freeplane 离线应用 有免安装版本 跨平台 目前 2023年 还在更新中 下载 https sourceforge net projects fr
  • 全国大学生数学建模竞赛——大赛介绍与赛后总结

    全国大学生数学建模竞赛 训练过程及赛后总结 前言 今天是2018年9月18日 一个特殊的日子 距离全国大学生数学建模大赛已经过去两天了 三天两夜的比赛 每天晚上几乎做到凌晨 确实很辛苦 但是现在回过头来看看 无论成绩如何 一切的辛苦与努力都
  • MATLAB实现函数拟合

    目录 一 理论知识 1 拟合与插值的区别 2 几何意义 3 误差分析 二 操作实现 1 数据准备 2 使用cftool 拟合工具箱 三 函数拟合典例 四 代码扩展 一 理论知识 1 拟合与插值的区别 通俗的说 插值的本质是根据现有离散点的信
  • C++连接sqlserver

    项目结构 ConsoleApplication cpp include
  • 机器学习(三)K-means聚类(手肘法、轮廓系数、可视化代码)

    K means聚类 聚类是无监督学习当中非常重要的一部分 能够在没有标签的情况下将数据分类 说到聚类 最常用也是最重要的一个算法就是K means算法 算法介绍 K means是一种非常简单快速高效的算法 只需要迭代几次即可 其原理用一句话
  • 数学建模之BP神经网络

    1 BP网络基本数学原理 BP网络是一种多层前馈神经网络 它的名字源于在网络训练中 调整网络权值的训练算法是反向传播算法 即BP学习算法 BP网络是一种具有三层或者三层以上神经元的神经网络 包括输入层 隐含层和输出层 上下层之间实现全连接
  • 【数学建模笔记 24】数学建模的时间序列模型

    24 时间序列模型 定义 时间序列是按时间顺序排列的 随时间变化且相互关联的数据序列 分析时间序列的方法构成数据分析的一个重要领域 即时间序列分析 一个时间序列往往是以下几类变化形式的叠加 长期趋势变动 T t T t Tt 朝一定方向的变
  • 2022亚太数学杯数学建模竞赛C题(思路、程序......)

    目录 一 英文题目及数据 二 中文翻译题目参考 2 1 题目 2 2 题目 三 思路 程序参考 四 参考文献 一 英文题目及数据 Canada s 49 6 C has set a new temperature record for re
  • 数学建模:18 粒子群算法

    目录 基础的粒子群算法 流程图 核心公式 改进惯性权重 线性递减的惯性权重 非线性递减的惯性权重 自适应的惯性权重 随机的惯性权重 改进学习因子 压缩学习因子 非对称学习因子 改进 自动退出迭代 测试函数 Matlab 自带的粒子群函数 p
  • matlab遗传算法(GA)详解(一)算法入门

    遗传算法 Genetic Algorithm GA 是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型 是一种通过模拟自然进化过程搜索最优解 所找到的解是全局最优解 的方法 参数编码 初始群体的设定 适应度函数的设计 遗传
  • 数模培训第二周——图论模型

    图论中最短路算法与程序实现 图论中的最短路问题 包括无向图和有向图 是一个基本且常见的问题 主要的算法有Dijkstra算法和Floyd算法 Floyd算法 简介 Floyd Warshall算法 英语 Floyd Warshall alg
  • 开关电容转换器的合成器研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码实现
  • 2020年认证杯SPSSPRO杯数学建模D题(第二阶段)让电脑桌面飞起来全过程文档及程序

    2020年认证杯SPSSPRO杯数学建模 D题 让电脑桌面飞起来 原题再现 对于一些必须每天使用电脑工作的白领来说 电脑桌面有着非常特殊的意义 通常一些频繁使用或者比较重要的图标会一直保留在桌面上 但是随着时间的推移 桌面上的图标会越来越多
  • 2024年华数杯国际赛B题:光伏发电功率 思路模型代码解析

    2024年华数杯国际赛B题 光伏发电功率 Photovoltaic Power 一 问题描述 中国的电力构成包括传统能源发电 如煤 油和天然气 可再生能源发电 如水电 风能 太阳能和核能 以及其他形式的电力 这些发电模式在满足中国对电力的巨

随机推荐

  • protoc 同时编译多个.protoc文件

    官方的示例 只是编译一个文件的命令行 protoc proto path IMPORT PATH cpp out DST DIR java out DST DIR python out DST DIR go out DST DIR ruby
  • Navicat16连接Oracle报错:Oracle library is not loaded

    1 有时候我们在用navicat的时候连接oracle的时候 它会提示我们Oracle library is not loaded 这时候我们要首先验证本机上是否已安装oracle的客户端 如果已安装客户段 navicat中的oci dll
  • 什么是MMU,MMU的作用

    I 什么是MMU MMU的作用 MMU是Memory Management Unit的缩写 针对各种CPU MMU是个可选的配件 MMU负责的是虚拟地址与物理地址的转换 提供硬件机制的内存访问授权 现在的多用户多进程操作系统 需要MMU 才
  • element ui菜单导航栏的动态创建

  • mysql的dba是什么意思_【数据库】mysql dba是什么意思?

    MySQL DBA意思是MySQL数据库管理员 DBA就是数据库管理员的意思 要成为MySQL DBA 不是会哪些东西的问题 而是一定要对MySQL数据库方方面面都得非常精通才行 DBA的职责是 安装和升级数据库服务器 以及应用程序工具 数
  • 前端关于单点登录SSO的知识

    转自前端关于单点登录的知识 什么是单点登录 单点登录 Single Sign On 简称为 SSO 是目前比较流行的企业业务整合的解决方案之一 SSO的定义是在多个应用系统中 用户只需要登录一次就可以访问所有相互信任的应用系统 SSO一般都
  • 前端 HTML空格的六种方式

    HTML提供了5种空格实体 space entity 它们拥有不同的宽度 非断行空格 是常规空格的宽度 可运行于所有主流浏览器 其他几种空格 在不同浏览器中宽度各异 它叫不换行空格 全称No Break Space 它是最常见和我们使用最多
  • Android项目混淆ProGuard详解

    关于混淆 可以借助工具proguardgui bat来了解或者写混淆文件 proguardgui bat是谷歌提供的可视化混淆文件编写工具 proguardgui bat位于android sdk 的tools proguard bin目录
  • python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)

    导读 这篇文章主要介绍如何利用opencv来对图像添加各类噪声 原图 1 高斯噪声 高斯噪声就是给图片添加一个服从高斯分布的噪声 可以通过调节高斯分布标准差 sigma 的大小来控制添加噪声程度 sigma越大添加的噪声越多图片损坏的越厉害
  • 新华三数字化转型与实践 附下载地址

    随着数字技术 智能技术的持续发展 市场环境的不断变化 百行百业相继进入了数字化转型的深水区 这是时代发展的必然 更是建设繁荣数字经济的基础 因此 如何进行数字化转型便成为百行百业需要共同面对的问题 作为数字化解决方案领导者 新华三自身的数字
  • 【高频java面试题】JVM的底层结构

    1 问 说说JVM的底层结构 从左图可知 JVM主要包括四个部分 1 类加载器 ClassLoader 在JVM启动时或者在类运行时将需要的class加载到JVM中 右图表示了从java源文件到JVM的整个过程 可配合理解 关于类的加载机制
  • Python基础语法【5】—— 结构数据类型之元组

    文章目录 一 创建元组 1 使用 直接创建元组 2 使用tuple 函数创建元组 二 访问元组元素 1 使用索引方式访问 2 使用切片方式访问 三 修改元组元素 1 对元组重新进行赋值 2 使用 拼接元组 元组概念 元组和列表类似 也是由一
  • 历年计算机科学领域中各大顶会的获奖文章 ICCV、AAAI、CVPR...

    Original address https jeffhuang com best paper awards html By Conference AAAI ACL CHI CIKM CVPR FOCS FSE ICCV ICML ICSE
  • git submodule的使用

    转自 http webfrogs me 2013 03 20 git submodule 开发过程中 经常会有一些通用的部分希望抽取出来做成一个公共库来提供给别的工程来使用 而公共代码库的版本管理是个麻烦的事情 今天无意中发现了git的gi
  • 【sql基础】条件查询

    写在前面 作者简介 鲸海鹿林 博客主页 鲸海鹿林的主页 名言警句 keep calm and carry on SQL6 查找条件 是 例如 查找学生表中来自北京 city 的学生id和name select id name from st
  • Go + Redis 实现分布式锁

    文章目录 一 前言 1 1 需要对交易订单加锁原因 1 2 加锁方案 二 Go Redis 实现分布式锁 2 1 为什么需要分布式锁 2 2 分布式锁需要具备特性 2 3 实现 Redis 锁应先掌握哪些知识点 2 4 golang 连接r
  • Linux安装MySQL(超详细,附图安装)

    一 安装MySQL服务 1 查看是否已经安装了MySQL rpm qa grep mysql 如果什么都没有 就是还没有装过MySQL 2 下载MySQL安装包 wget i c http dev mysql com get mysql57
  • 项目实战(一)HTML5+CSS3+JS完成前端网站的制作

    css样式 padding 0 margin 0 box sizing border box html body font family segoe UI Tahoma Geneva verdana sans serif line heig
  • c++求数组中最大值最小值

    用algorithm中的 max element min element 这两个函数返回的是位置指针 max element可以获得最大值 1 普通数组用法 include
  • GM(灰度预测模型)

    根据某市1 6月的交通事故数量 建立灰色模型预测GM 1 1 G表示grey M表示model 预测7 8月份的交通事故数量 要求做精度检验 灰色预测的概念 1 灰色系统 白色系统和黑色系统 白色系统是指一个系统的内部特征是完全已知的 既系