灰色预测模型GM(1,1) 与例题分析

2023-05-16

灰色预测模型


灰色预测的概念

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

  • 白色系统是指一个系统的内部特征是完全已知的,既系统信息是完全充分的。
  • 黑色系统是一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系来加以观测研究。
  • 灰色系统介于白色和黑色之间,灰色系统内的一部分信息是已知的,另一部分信息是未知的,系统内各因素间有不确定的关系。

(2)灰色预测法

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

关联分析

  关联分析实际上是动态过程发展态势的量化比较分析。所谓发展态势比较,也就是系统各时期有关统计数据的集合关系的比较。

  例如,某地区1977~1983年总收入与养猪、养兔收入资料见下表格。

1977197819791980198119821983
总收入182022404448
养猪101516243840
养兔3212102218

根据该表格,做曲线图:

image

  由上图易看出,曲线 A(总收入)与曲线 B(养猪收入)发展趋势比较接近,而与 曲线 C(养兔收入)相差较大,因此可以判断,该地区对总收入影响较直接的是养猪业, 而不是养兔业。

  很显然,几何形状越接近,关联程度也就越大。当然,直观分析对于稍微复杂些 的问题则显得难于进行。因此,需要给出一种计算方法来衡量因素间关联程度的大小。


灰色生成数列

  灰色系统理论认为,尽管客观表象复杂,但总是有整体功能的,因此必然蕴含某种内在规律。关键在于如何选择适当的方式去挖掘和利用它。灰色系统时通过对原始数据的整理来寻求其变化规律的,这是一种就数据寻求数据的现实规律的途径,也就是灰色序列的生产。一切灰色序列都能通过某种生成弱化其随机性,显现其规律性。数据生成的常用方式有累加生成累减生成加权累加生成

(1)累加生成(AGO)

  设原始数列为 x(0)=(x0(1),x0(2),.x0(n)) ,令

x(1)(k)=i=1kx(0)(i),k=1,2,...,n

x(1)=(x1(1),x1(2),.x1(n))

  称所得到的新数列为数列 x(0) 的1次累加生成数列。类似的有

x(r)(k)=i=1kx(r1)(i),k=1,2,...,n,r1

  称为 x(0) 的r次累加生成数列。

(2)累减生成(IAGO)

  如果原始数列为 x(1)=(x1(1),x1(2),.x1(n)) ,令

x(0)(k)=x(1)(k)x(1)(k1),k=2,3,...,n

  称所得到的数列 x(0) x(1) 的1次累减生成数列。 可以看出,通过累加数列的到的新数列,可以通过累减生成还原出原始数列。

(3)加权邻值生成

  如果原始数列为 x(1)=(x1(1),x1(2),.x1(n)) ,称任意一对相邻元素 x(0)(k1),x(0)(k) 互为邻值。对于常数 α[0,1] ,令

z(0)(k)=αx(0)(k)+(1α)x(0)(k1),k=2,3,,n

  由此得到的数列称为邻值生成数,权 α 也称为生成系数。 特别地,当生成系数 α=0.5 时,则称该数列为均值生成数,也称为等权邻值生成数。

累加生成的特点

  一般经济数列都是非负数列。累加生成能使任意非负数列、摆动的与非摆动的,转化为非减的、递增的。

image

image


灰色模型GM(1,1)

  灰色系统理论是基于关联空间、光滑离散函数等概念定义灰导数与灰微分方程,进而用离散数据列建立微分方程形式的动态模型,即灰色模型是利用离散随机数经过生成变为随机性被显著削弱而且较有规律的生成数,建立起的微分方程形式的模型,这样便于对其变化过程进行研究和描述。

  G表示grey(灰色),M表示model(模型)

  定义 x(1) 的灰导数为

d(k)=x(0)(k)=x(1)(k)x(1)(k1)

  令 z(1)(k) 为数列 x(1) 的邻值生成数列,即
z(1)(k)=αx(1)(k)+(1α)x(1)

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

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

  将时刻k=2,3,…,n代入上式有

x(0)(2)+αz(1)(2)=bx(0)(3)+αz(1)(3)=b...x(0)(n)+αz(1)(n)=b

  引入矩阵向量记号:
u=[ab]Y=x(0)(2)x(0)(2)...x(0)(n)B=z(1)(2)z(1)(3)...z(1)(n)11...1

  于是GM(1,1)模型可表示为 Y=Bu .

  那么现在的问题就是求a和b的值,我们可以用一元线性回归,也就是最小二乘法求它们的估计值为

u=[ab]=(BTB)1BTY


GM(1,1)的白化型

  对于GM(1,1)的灰微分方程,如果将时刻k=2,3,…,n视为连续变量t,则之前的 x(1) 视为时间t函数,于是灰导数 x(0)(k) 变为连续函数的导数 dx(1)(t)dt ,白化背景值 z(1)(k) 对应于导数 x(1)(t) 。于是GM(1,1)的灰微分方程对应于的白微分方程为:

dx(1)(t)dt+ax(1)(t)=b


GM(1,1)灰色预测的步骤

1.数据的检验与处理

  为了保证GM(1,1)建模方法的可行性,需要对已知数据做必要的检验处理。

  设原始数据列为 x(0)=(x0(1),x0(2),.x0(n)) ,计算数列的级比

λ(k)=x(0)(k1)x(0)(k),k=2,3,...,n

  如果所有的级比都落在可容覆盖区间 X=(e2n+1,e2n+1) 内,则数列 x(0) 可以建立GM(1,1)模型且可以进行灰色预测。否则,对数据做适当的变换处理,如平移变换:
y(0)(k)=x(0)(k)+c,k=1,2,...,n

  取c使得数据列的级比都落在可容覆盖内。

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

  不妨设 x(0)=(x0(1),x0(2),.x0(n)) 满足上面的要求,以它为数据列建立GM(1,1)模型

x(0)(k)+αz(1)(k)=b

  用回归分析求得a,b的估计值,于是相应的白化模型为
dx(1)(t)dt+ax(1)(t)=b

  解为
x(1)(t)=(x(0)(1)ba)ea(t1)+ba

  于是得到预测值
x̂ (1)(k+1)=(x(0)(1)ba)eak+ba,k=1,2,...,n1

  从而相应地得到预测值:
x̂ (0)(k+1)=x̂ (1)(k+1)x̂ (1)(k),k=1,2,...,n1

3.检验预测值

(1)残差检验:计算相对残差

ε(k)=x(0)(k)x̂ (0)(k)x(0)(k),k=1,2,...,n

  如果对所有的 |ε(k)|<0.1 ,则认为到达较高的要求;否则,若对所有的 |ε(k)|<0.2 ,则认为达到一般要求。

(2)级比偏差值检验:计算

ρ(k)=110.5a1+0.5aλ(k)

  如果对所有的 |ρ(k)|<0.1 ,则认为达到较高的要求;否则,若对于所有的 |ρ(k)|<0.2 ,则认为达到一般要求。


灰色预测计算实例

image

image

image

image

image

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

灰色预测模型GM(1,1) 与例题分析 的相关文章

  • 安卓获取APP对应的Android id的原理分析

    android id 的生成原理是由系统生成的随机数 xff0c 并与应用 app 签名 xff0c 经过 HmacSHA256 算法生成的 xff1b 从 android 8 以后开始就是随机的了 xff0c 每个应用获取到的简要步骤 x
  • 将 Word 转换为 Markdown格式 【详细教程】

    文章目录 前言 下载安装Writage Word Markdown 下载安装Pandoc 再次Word Markdown总结 提示 xff1a 以下是本篇文章正文内容 xff0c 学习内容将会持续更新 前言 俗话说 好记性不如烂笔头 在我们
  • JAVA校验SQL语句与格式化语句

    想看实现直接滑倒左下边的工具类 xff0c 前边在说得是解决思路 前言 现在需要向数据库中某张表中的某个字段中 xff0c 插入的值为SQL语句 xff0c 但是要保证插入SQL语句的正确性 xff0c 而且还需要进行格式化 xff0c 就
  • 获取墨墨背单词里面的单词书中的单词

    首先 xff0c 其实是直接尝试抓包获取的 xff0c 不过在抓包的信息中没发现类似的内容 xff0c 然后就去百度了以下 xff0c 发现还是有聪明人 把下载的 apk 文件解压缩一下 xff0c 把里面的 assets 文件夹里面的 m
  • 2021年Redis面试题(持续更新)

    目录 1 redis基础redis 中的数据类型有哪些为什么说redis能够快速执行 2 Redis中的五种数据结构string 字符串 list 列表 set 集合 hash 哈希 zset 有序集合 3 Redis的持久化Redis 的
  • 吐槽一下csdn博客选中文字之后的悬浮窗

    悬浮窗出来的莫名其妙 xff0c 还会挡文字 xff0c 展示一下我框一段文字出现的一百种情况 xff0c csdn是否考虑出一个设置可以自定义把这个功能关闭和开启 看文章很自然的会选中文字一行一行的看 xff0c 我相信很多人都是这样的
  • c语言基础

    基本语法 预定义常量及类型 函数结果状态代码 span class token macro property span class token directive hash span span class token directive k
  • c语言实现基础的排序

    1 插入排序 1 1 直接插入排序 span class token keyword void span span class token function insert sort span span class token punctua
  • 流程图怎么画

    前言 最近在看博客的时候发现很多流程图都不是流程图 xff0c 想画成流程图但是总有些时候会变了样子 xff0c 所以我就想说说流程图到底因该怎么画 组成 流程图一般由由圆角矩形 矩形 菱形 平行四边形 箭头组成 作用 流程图一般都是用圆角
  • mybatis-plus使用中遇到的问题

    mybatis plus使用中遇到的问题 mapper配置问题mybatis plus与mybatis冲突mybatis plus与pagehelper冲突 最近新搭一个测试项目 xff0c 使用了 mybatis plus当前的最新版本
  • 解决“将截断字符串或二进制数据。语句已终止。”的问题

    在EF中 xff0c 使用CodeFirst给实体添加约束的时候 xff0c 使用NeGut控制台进行更新到数据库中 xff0c 先使用add migration migrationName命令进行创建 xff08 migrationNam
  • Struts2的基本原理与实现

    Struts2是什么 百度说的 Struts2是一个基于MVC设计模式的Web应用框架 xff0c 它本质上相当于一个servlet xff0c 在MVC设计模式中 xff0c Struts2作为控制器 Controller 来建立模型与视
  • 如何用EA优雅的画流程图

    绘制流程图 1 首先在EA中新建一个流程图 xff1a 2 添加图形 添加需要的图形 xff0c 同时每个图形上面有附加的说明 xff0c 说明和图形之间的相对位置是可以移动的 不过对于画流程图来说 xff0c 还是建议将说明放在图形的正中
  • Android获得手机唯一设备ID号

    在安卓的工程中 xff0c 往往需要获得手机设备唯一的ID号 xff0c 我们可以用TelephonyManager类来获得 xff1a 首先声明一个TelephonyManager类的对象 xff1a 接着声明一个String类型的变量
  • (综合)xorg-xserver相关完全解析

    本文主要是从以下几个方面介绍xorg xserver 相关的知识 1 linux系统图形界面框架 2 xserver 和x client启动过程 3 图形2d xff0c 3d加速原理简介 4 xserver主分支代码解析 5 xserve
  • 小新 Pro 13‘ 2020 macOS 安装教程

    小新 Pro 13 2020 macOS 安装教程 电脑配置 CPU xff1a Intel Core i5 10210U CPU 64 1 60GHz 4C8T RAM xff1a 板载 16 GB 2666 MHz DDR4 硬盘 xf
  • IDEA社区版创建spring boot项目的安装插件

    由于最近idea的官方查的有点严 xff0c pojie的企业版idea总失效 xff0c 现在给大家说一下社区版idea创建spring项目的一个方法 xff01 xff01 xff01 在项目实战中了解到的IDEA创建springboo
  • 软件工程论述题:衡量模块独立性的两个标准是什么?各表示什么含义?

    8 衡量模块独立性的两个标准是什么 各表示什么含义 内聚和耦合 内聚 又称为块内联系 指模块内部各成分之间相互关联的程度 以高内聚为设计目标 耦合 也称块间联系 模块之间相互联系程度的度量 联系越紧密 耦合性越强 独立性越差 以低耦合为设计
  • linux如何查看wifi信号强弱

    在linux中观察wifi信号强弱 xff0c 可以通过dBm数值来判断 现在来看这个所谓的dBm xff0c 数值范围在 XX 0之间 这个数越大 xff0c 信号强度越高 50dBm 0dBm范围内 xff0c 恭喜你 xff0c 你的
  • Edge浏览器的书签(收藏夹)文件夹地址在哪?

    最近因为工作电脑经常重装系统 xff0c 所以每次重装系统之前都要备份一些数据 xff0c Edge浏览器这两年突然香了起来 xff0c 插件yyds xff01 所以平时生活还是使用Edge会多一点 xff0c 但是收藏夹备份却吃了大亏

随机推荐

  • CCS5.4+Proteus8的F28027实践课二、定时器0控制LED流水灯

    刚游泳回来 xff0c 看到昨晚那篇博客访问量比较高 xff0c 对我是莫大的鼓励 xff0c 所以马不停蹄的去找了相关的手册准备我们今天的课程 今天我们要说的是用定时器0产生的定时中断让LED闪烁 大家都是大部分都是工科出身 xff0c
  • dns2tcp搭建DNS隧道绕过校园网

    1 问题场景 在学校是如果校园网没钱了 xff0c 难道就不能上网了 xff1f xff1f xff1f xff1f 对于从事技术的人来说尤其是学计算机出身的人来说这是不能容忍的 我们看下面场景 xff1a 当我们校园网没有认证时 xff0
  • 关闭浏览器的跨域

    无损关闭浏览器的跨域 关闭浏览器的安全模式 注意 xff01 这样会导致一些网站无法访问 xff0c 比如谷歌无法登录等 所以建议使用一个非主要的浏览器开启 编辑桌面的chrome 或者 edge 浏览器快捷方式 右键快捷方式 xff0c
  • CentOS安装MySQL(YUM源安装)

    安装mysql主要分为两种方式 xff0c 本次简单介绍使用YUM源进行安装mysql xff0c 如果不是使用docker xff0c 可以跳过步骤1 2 1 docker环境准备 在安装mysql之前 xff0c 请先确认使用的cent
  • 将门禁卡写入到手机、手环,加密卡也能写

    前言 准备材料 IC卡操作 读取IC卡数据 xff08 必看 xff09 写入到小米手环 写入到带有NFC的手机 复制IC卡 ID卡操作 读取ID卡数据 复制ID卡 前言 门禁卡大多以IC卡 ID卡为主IC卡又分为UID CUID等等只有I
  • Ubuntu中开启ssh服务的方法

    我们可以在网上看到很多关于Ubuntu开启SSH服务的文章 xff0c 但是介绍的有很多方法都是不够理想的 xff0c 这些方法都无法实现远程登录到Ubuntu上 xff0c 那么下面就让小编为大家分享Ubuntu中开启ssh服务的方法 s
  • fedora 的kde桌面无法输入中文问题

    简单三步 xff1a xff08 1 xff09 xff1a sudo yum y install ibus 安装ibus拼音库 xff08 2 xff09 xff1a sudo yum y install im chooser 安装拼音切
  • go切片常见错误

    x1f447 下面代码会输出什么 xff1f slices span class token operator 61 span span class token function make span span class token pun
  • OpenVINO的部署和使用

    现在几乎每家硬件或互联网公司都推出了自家的机器学习框架 xff0c 小米的mace 谷歌的TensorFlow Facebook的Torch等等 今天要介绍的是Inter公司出品的OpenVINO OpenVINO主要分为Model Opt
  • Mybatis-Plus分页插件

    引言 xff1a MyBatis Plus自带分页插件 xff0c 只要简单的配置即可实现分页功能 1 添加Configuration配置类 64 Configuration 64 MapperScan 34 com atguigu myb
  • 关于manjaro命令行界面方块乱码

    通常情况下这些方块乱码是中文 xff0c 其实这篇文档讲的很清楚 xff0c 如果 etc locale conf中有设置LANG 61 zh CN UTF 8就会导致tty乱码 解决办法也如文档所说有两个 xff1a 首先是修改 etc
  • 如何安装arm交叉工具链及问题解决

    在进行基于arm的嵌入式linux开发时 xff0c 首先要安装交叉工具链 要按照交叉工具链首先要获得交叉工具链的压缩包 xff0c 我这里用的是开发板上自带的压缩包 xff1a arm linux gcc 4 5 1 v6 vfp tgz
  • 04)go语言使用优化 启动时不打开CMD控制台,后台运行

    一 生成没有cmd窗口的exe程序 1 目前go语言生成exe我是在goland运行时设置了输出路径 xff0c 运行时就会产生exe可执行文件 2 默认是执行的go bulid指令 xff0c 生成的ext双击打开是有CMD窗口的 xff
  • C#使用RDP远程桌面

    由于本人是做数据库维护经常使用到远程桌面 xff0c 但是windows自带的远程桌面难以区分很不方便 xff0c 所以我自己写了一个RDP RDP一共修改了两次 第一种思路就是使用windows自带的RDP xff0c 保存成RDP文件
  • 【Altium秘籍】room 复制报错的解决办法

    在使用多通道绘图时 nbsp 有时会出现 nbsp 后加的通道 无法拷贝room格式 nbsp 仔细看会发现 是由于新建的 room 不属于原来的 类中 这个原因 个人觉得是 软件的bug nbsp 更新数据时遗漏导致 数据不同步 目前 n
  • 将多边形点按照逆时针排序

    Point center bool PointCmp const Point amp a const Point amp b if a x gt 61 0 amp amp b x lt 0 return true if a x 61 61
  • 排队论入门学习 (for 数学建模)

    排队论入门学习 xff08 for 数学建模 xff09 文字部分引用了很多浙大数学建模排队论ppt中的内容 xff0c 本人做个总结和代码实现 为什么研究排队论 xff1f 研究排队问题 xff0c 就是要把排队的时间控制到一定的程度内
  • 层次分析法(AHP)

    层次分析法 xff08 AHP xff09 问题的提出 日常生活中有许多决策问题 决策是指在面临多种方案时需要依据一定的标准选择某一种方案 购物 xff1a 买钢笔 xff0c 一般要依据质量 颜色 实用性 价格等方面的因素来选择某一只钢笔
  • 遗传算法解决TSP问题(c++实现)

    遗传算法 遗传算法简介 遗传算法 Genetic Algorithms xff0c 简称 GA 是一种基于自然选择原理和自然遗传机制的搜索 寻优 算法 xff0c 它是模拟自然界中的生命进化机制 xff0c 在人工系统中实现特定目标的优化
  • 灰色预测模型GM(1,1) 与例题分析

    灰色预测模型 灰色预测的概念 xff08 1 xff09 灰色系统 白色系统和黑色系统 白色系统是指一个系统的内部特征是完全已知的 xff0c 既系统信息是完全充分的 黑色系统是一个系统的内部信息对外界来说是一无所知的 xff0c 只能通过