灰色关联分析(Grey Relation Analysis,GRA)

灰色系统

这个概念的提出是相对于白色系统黑色系统而言的。在控制理论中,颜色一般代表的是对于一个系统我们已知的信息的多少,白色系统就代表信息完全明确,比如一个具体的力学系统,元素之间的关系都是能够确定的,这就是一个白色系统;而黑色系统代表我们对于其中信息完全不明确,黑箱或黑盒的就是这类系统。灰色介于两者之间,表示我们只对该系统有部分了解,部分信息明确,部分信息不明确。

作为实际问题,灰色系统是大量存在的,绝对的白色或者黑色系统是很少的。

灰色关联度分析

灰色关联分析是指对一个系统的发展变化态势的定量描述与比较的方法,基本思想是通过确定参考数据列和若干个比较数据列的几何形状相似程度来判断其联系是否紧密,越相似就说明关联度越大。

简单来讲,就是在一个灰色系统中,想要了解所关注的某个指标项目受其他因素影响程度的相对强弱,可以对这些影响因素进行排序,得到分析结果,便可得到所关注的这个指标与哪些因素更相关,进而有效地调整系统的运行。

数理统计中的回归分析、方差分析、主成分分析等都是用来进行系统分析的方法,但存在局限性:要求有大量数据和要求样本服从某个典型的概率分布,要求各因素数据与系统特征数据之间呈线性关系且各因素之间彼此无关。而灰色关联分析的方法可以有效弥补上述方
法的局限性。

灰色关联分析的步骤

  1. 确定关注的指标,即“参考序列”,使用序列x0x_{0}x0​表示

    确定需要确定顺序的因素序列,即“比较序列”,使用序列 xi(i=1,2...N)x_{i}(i=1,2...N)xi​(i=1,2...N)表示

  2. 确定指标是否能充分解释说明要探究的问题,需要对选取的指标进行检验,即验证所选指标的显著性

    可以使用SPSS做相关性分析

    (当不确定比较序列的显著性时,需要进行此步骤)

  3. 无量纲化

    因为以上的每种序列数据都有不同的单位,因此可能会有的数字很大有的数字很小,但是这并不是由于它们内在的性质决定的,而只是由于量纲不同导致的,因此我们需要对它们进行无量纲化。

    1. 初值化:即,把某一序列的数据统一除以最初的值,由于同一个序列的数据量级差别不大,所以通过除以初值就能将这些值都整理到1这个量级附近。
      Xi(k)=xixi(1)(k=1,2,...m;i=1,2,...N)X_{i}(k)=\frac{x_{i}}{x_{i}(1)}(k=1,2,...m;i=1,2,...N) Xi​(k)=xi​(1)xi​​(k=1,2,...m;i=1,2,...N)
      其中, i表示第i个指标,k表示某一指标的具体维度数据,xi(1)x_{i(1)}xi(1)​表示第i个因素的第一个维度值

    2. 均值化:即,把某一序列的数据除以均值,由于数量级大的序列均值比较大,所以除掉以后就能归一化到1的量级附近。
      Xi(k)′=xi(k)mean(xi)X_{i}(k)'=\frac{x_{i}(k)}{mean(x_{i})} Xi​(k)′=mean(xi​)xi​(k)​

对归一化以后的数据,曲线的形状的差异减小,绝对数值不会对后面的计算有影响。

  1. ​ 计算比较序列的灰色关联系数

    所谓关联程度,实质上是曲线间几何形状的差别程度。因此曲线间差值大小,可作为关联程度的衡量尺度。

    故,我们可以计算参考数列与比较数列的灰色关联系数ξ(xi)ξ(x_{i})ξ(xi​)

    对于一个参考数列X0有若干个比较数列X1, X2,…, Xn,各比较数列与参考数列在各个时刻(即曲线中的各点)的关联系数ξ(xi)ξ(x_{i})ξ(xi​)可由下列公式算出:

    a=max(∣x0(k)−xi(k)∣)a=max(|x_{0}(k)-x_{i}(k)|)a=max(∣x0​(k)−xi​(k)∣)

    所有比较序列的各个维度中距离参考序列最大的值

    b=min(∣x0(k)−xi(k)∣)b=min(|x_{0}(k)-x_{i}(k)|)b=min(∣x0​(k)−xi​(k)∣)

    所有比较序列中各个维度中距离参考序列最小的值
    γ(x0(k),xi(k))=a+ρb∣x0(k)−xi(k)∣+ρbγ(x_{0}(k),x_{i}(k))=\frac{a+ρb}{|x_{0}(k)-x_{i}(k)|+ρb} γ(x0​(k),xi​(k))=∣x0​(k)−xi​(k)∣+ρba+ρb​
    其中 ρ是控制γγγ系数区分度的一个系数,ρ取值0到1, ρ越小,区分度越大,ρ一般取值0.5较为合适,γγγ关联系数取值落在0到1之间。

关于ρ的具体分析

  1. 计算每个比较序列的关联度

    因为关联系数是比较序列与参考序列在各个时刻(即曲线中的各点)的关联程度值,所以它不止一个。

    而信息过于分散不便于进行整体性比较。因此有必要将各个时刻(即曲线中的各点)的关联系数集中为一个值,即求其平均值,作为比较数列与参考数列间关联程度的数量表示。

    某个比较序列对参考序列的关联程度计算公式如下:
    γ(x0,xi)=1n∑k=1nγ(x0(k),xi(k))γ(x_{0},x_{i})=\frac{1}{n}\sum\limits_{k=1}^n γ(x_{0}(k),x_{i}(k)) γ(x0​,xi​)=n1​k=1∑n​γ(x0​(k),xi​(k))

  2. 得到每个比较序列的关联序

    因素间的关联程度,主要是用关联度的大小次序描述,而不仅是关联度的大小。

    将m个子序列对同一母序列的关联度按大小顺序排列起来,便组成了关联序,它反映了对于参考序列来说各比较序列的“优劣”关系。

灰色关联分析法总结

在灰色关联分析中,把某两个序列之间的几何相似程度使用距离来表示。

为避免干扰,凸出形态特征的影响,GRA算法把所有序列数据归一化,减小曲线差异。

从数学角度来说,该算法即度量已归一化的子向量与母向量的每一维度的距离,作为子母向量的关联性之度量的一种策略。

参考文献

[1]姚睿宽.基于灰色关联分析法的河南省粮食产量影响因素研究[J].安徽农学通报,2022,28(03):44-48.DOI:10.16377/j.cnki.issn1007-7731.2022.03.052.
[2] 百度百科:灰色关联分析法

灰色关联分析法详细步骤解释相关推荐

  1. 数学建模常用算法—灰色关联分析法(GRA)

    解决问题 灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密.曲线越接近,相应序列之间的关联度就越大,反之就越小. 一般的抽象系统,如社会系统.经济系统.农业系统.生态系统.教 ...

  2. 数学建模:评价性模型学习——灰色关联分析法(GRA模型)

    目录 前言 一.灰色关联分析 1.什么是灰色关联分析? 2.流程介绍 二.综合评价 1.数据无量纲化处理 2.确定参考序列 3.确定权重 4.计算灰色关联系数 5.计算灰色加权关联度 6.代码 总结 ...

  3. 灰色关联分析法——Excel实操

    把信息完全明确的系统称为白色系统,把信息完全不明确的系统称为黑色系统,信息部分明确.部分不明确的系统称为灰色系统.当事物之间.因素之间.相互关系比较复杂,样本个数n较少时,采用灰色关联分析法. 灰色关 ...

  4. 【数据挖掘】关联规则之灰色关联分析法

    灰色关联分析法 利用灰色关联分析的九个步骤: 1.根据分析目的确定分析指标体系,收集分析数据. 设n个数据序列形成如下矩阵: 其中m为指标的个数, 2.确定参考数据列 参考数据列应该是一个理想的比较标 ...

  5. 综合评价与决策方法04——灰色关联分析法

    综合评价与决策方法04--灰色关联分析法 顶!!! 数学建模 综合评价与决策方法04--灰色关联分析法 前言 一.灰色关联分析法 肝!!! 前言 评价方法大体上可分为两类,其主要区别在确定权重的方法上 ...

  6. 数学建模常用模型04:灰色关联分析法

    数学建模常用模型04:灰色关联分析法 灰色关联分析法 本文所用的资料参考来源:美赛资料网:美赛资料网 与灰色预测模型一样,比赛不能优先使用,灰色关联往往可以与层次分析结合使用.层次分析用在确定权重上面 ...

  7. R语言灰色关联分析法

    R语言灰色关联分析法 输入数据 数据的标准化/归一化 求灰色系数 求差序列和最大值最小值 求关联系数 计算关联度并排序 所有代码 灰色关联度分析(Grey Relation Analysis,GRA) ...

  8. 灰色关联分析法详解及python实践

    1. 关于灰色关联分析 1.1. 什么是灰色关联分析 灰色关联分析是指对一个系统发展变化态势的定量描述和比较的方法,其基本思想是通过确定参考数据列和若干个比较数据列的几何形状相似程度来判断其联系是否紧 ...

  9. 灰色关联分析法(GRA)-C++实现

    目录 1. 前言 2. 理论基础 3. 代码 1. 前言 最近小白在跟进一个项目,其中运用到了灰色关联分析法用来分析样本数据.同时在阅读了一些原理资料后,设计了一个模块化的C++程序(其实也不算模块化 ...

  10. python 灰色关联分析法(GRA)求权重

    我遇到的问题: 假设现在有p个指标,g个参评单位.已经告诉你这g个参评单位在p个指标上的得分分别为多少,那么如何确定这p个指标的权重应该为多少? 原理 1.构成矩阵如下: 2.首先对矩阵做行均值化处理 ...

最新文章

  1. 关于spring cloud 各种组件的停更/升级/替换
  2. php中如何上传非表单类数据,PHP Post获取不到非表单数据的问题解决办法
  3. java 百亿计算器_设计一个一百亿的计算器
  4. Acwing第 35 场周赛【完结】
  5. 【企业管理】人力资源是CEO的第一工程
  6. d3.js中选择元素和绑定数据
  7. 课程设计之第二次冲刺----第八天
  8. 12GB内存版华为P30、P30 Pro工信部入网:售价或将突破7000元
  9. 在Vue.js中使用Mixin
  10. 圆台下料展开计算方法_冲压件展开计算方法(二),转发给每一位冲压人
  11. A simple brute force problem.
  12. 2022G3锅炉水处理复训题库及答案
  13. Java项目案例-猜数小游戏和多级菜单系统.....
  14. 骑行318、 2016.7.23
  15. 程序设计第二十二题 空心三角形
  16. GPU深度发掘 -- GPGPU数学基础教程
  17. Vue动态设置路由title
  18. 第一次写博客,给大家推荐几个C语言视频教程
  19. 11. 机器人正运动学---姿态描述之四元数
  20. 微信收藏导出到PC端的方法,不要再傻傻的用网页版转换了!

热门文章

  1. django踩坑记录
  2. idea中出现Authentication failed for的问题
  3. An unexpected error prevented the server from fulfilling your request. (HTTP 500)
  4. linux基础-命令
  5. 汽车4G车载TBOX智能信息终端
  6. html实现百度换肤,案例实战(二):百度脑图网站换肤
  7. 01.14_学习Java的day23(详解)
  8. Linux内核抢占机制(preempt)
  9. 高仿富途牛牛-组件化(四)-优秀的时钟
  10. 【计几】二维计算几何基础