灰色关联分析

请注意,文章中部分理解可能已被笔者废弃,本文最后更新于:2 个月前

请注意,本文最后更新于2022.2.28,其中一些理解可能已被笔者推翻或废弃。

灰色关联分析(GRA)

灰色关联度分析(Grey Relation Analysis)
可以在一个灰色系统中,衡量某个项目受其他的因素影响的相对强弱。

两个系统之间的因素,随时间或不同对象而变化的关联性大小的量度,称为关联度。两个因素变化即同步变化程度较高,即可谓二者关联程度较高;反之,则较低。因此,灰色关联分析方法,根据因素之间发展趋势的相似相异程度,为衡量因素间关联程度提供了量化的度量。

灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线越接近,相应序列之间的关联度就越大,反之就越小。

基本步骤

确定分析序列

  1. 母序列(又称参考序列、母指标)

能反映系统行为特征的数据序列,类似于因变量 YY ,记为

Y=[y1,y2,...,ym]TY=[y_1,y_2,...,y_m]^T

  1. 子序列(又称比较序列、子指标)

影响系统行为的因素组成的数据序列,类似于因变量 XX ,记为

Xnm=[x11x12x1mx21x22x2mxn1xn2xnm]X_{nm}=\left[\begin{array}{cccc} x_{11} & x_{12} & \cdots & x_{1 m} \\ x_{21} & x_{22} & \cdots & x_{2 m} \\ \vdots & \vdots & \ddots & \vdots \\ x_{n 1} & x_{n 2} & \cdots & x_{n m} \end{array}\right]

其中nn 为年份数量,mm 为要素的个数

数据预处理

由于不同要素具有不同量纲和数据范围范围,因此我们需要对它们进行归一化(常用均值化)去量纲,将它们统一到近似的范围内,然后重点关注其变化和趋势。

y~k=ykyiˉ,yiˉ=1nk=1nyk\widetilde{y}_{k}=\frac{y_{k}}{\bar{y_i}}, \quad \bar{y_i}=\frac{1}{n} \sum_{k=1}^{n} y_{k}

x~ki=xkix_iˉ,x_iˉ=1nk=1nxki,(i=1,2,...m)\widetilde{x}_{ki}=\frac{x_{ki}}{\bar{x_{\_i}}}, \quad \bar{x_{\_i}}=\frac{1}{n} \sum_{k=1}^{n} x_{ki}, (i=1,2,...m)

注:下文继续用 XX 代指预处理后的 X~\widetilde{X}YY 代指 Y~\widetilde{Y}

计算灰色关联系数

计算子序列中各个指标与母序列的关联系数

a=miniminkx0(k)xi(k),b=maximaxkx0(k)xi(k)a=\min _{i} \min_{k}\left|x_{0}(k)-x_{i}(k)\right|, \quad b=\max _{i} \max_{k}\left|x_{0}(k)-x_{i}(k)\right|

为两极最小差和最大差。

构造

zk,j=ξj(k)=a+ρbxkjyj+ρbz_{k,j}=\xi_j(k)=\frac{a+\rho b}{|x_{kj}-y_j|+\rho b}

构成 ZZ

其中ρ\rho为分辨系数,一般取0.5

计算关联度

rj=1nk=1nξj(k)=1nk=1nzkjr_j=\frac{1}{n} \sum_{k=1}^{n} \xi_j(k) = \frac{1}{n} \sum_{k=1}^{n} z_{kj}

基于关联度计算权重的综合评价

本质是构造虚拟母指标,以各个指标与母指标的灰色关联度 rjr_j 代表指标权重,再以此权重对每个观测值做简单加权得到结果为评价。

权重 wjw_j 反应的是指标与样本最大值的关联度,指标下的观测值在同截面数据中最大的数目越多,与母序列相似程度愈高, wjw_j 愈大。所以得到的综合评价结果仅仅是未加权结果的更平缓曲线(?)

本方法疑是来源清风的数学建模视频,在互联网上流传。与灰色关联分析的决策方法相异,正确性存疑。
(2.28)

1. 正向化预处理

记正向化后的数据为:

Xnm=[x11x12x1mx21x22x2mxn1xn2xnm]X_{nm}=\left[\begin{array}{cccc} x_{11} & x_{12} & \cdots & x_{1 m} \\ x_{21} & x_{22} & \cdots & x_{2 m} \\ \vdots & \vdots & \ddots & \vdots \\ x_{n 1} & x_{n 2} & \cdots & x_{n m} \end{array}\right]

其中nn 为年份数,mm 为指标数

2. 去除量纲

每个数 xijx_{ij} 除以每一列的平均值 x_iˉ\bar{x_{\_i}} ,记作 ZZ ,有

zki=xkix_iˉ,x_iˉ=1nk=1nxki,(i=1,2,...m)z_{ki}=\frac{x_{ki}}{\bar{x_{\_i}}}, \quad \bar{x_{\_i}}=\frac{1}{n} \sum_{k=1}^{n} x_{ki}, (i=1,2,...m)

Znm=[z11z12z1mz21z22z2mzn1zn2znm]Z_{nm}=\left[\begin{array}{cccc} z_{11} & z_{12} & \cdots & z_{1 m} \\ z_{21} & z_{22} & \cdots & z_{2 m} \\ \vdots & \vdots & \ddots & \vdots \\ z_{n 1} & z_{n 2} & \cdots & z_{n m} \end{array}\right]

3. 构造母序列

构造虚拟指标表示每个观测值的最优值 Y=[y1,y2,...,yn]TY=[y_1,y_2,...,y_n]^T 其中

yi=max(zi1,zi2,...,zim)y_i=max(z_{i1},z_{i2},...,z_{im})

4. 计算关联系数

记差值矩阵为 KK,有

K=[k11k12k1mk21k22k2mkk1kn2knm]=[z11y1z12y1z1my1z21y2z22y2z2my2zn1ynzn2ynznmyn]K=\left[\begin{array}{cccc} k_{11} & k_{12} & \cdots & k_{1 m} \\ k_{21} & k_{22} & \cdots & k_{2 m} \\ \vdots & \vdots & \ddots & \vdots \\ k_{k 1} & k_{n 2} & \cdots & k_{n m} \end{array}\right]=\left[\begin{array}{cccc} |z_{11}-y_1| & |z_{12}-y_1| & \cdots & |z_{1 m}-y_1| \\ |z_{21}-y_2| & |z_{22}-y_2| & \cdots & |z_{2 m}-y_2| \\ \vdots & \vdots & \ddots & \vdots \\ |z_{n 1}-y_n| & |z_{n 2}-y_n| & \cdots & |z_{n m}-y_n| \end{array}\right]

a=miniminjkij,b=maximaxjkija=\min _{i} \min_{j}\left|k_{ij}\right|, \quad b=\max_{i} \max _{j}\left|k_{ij}\right|

为两极最小差和最大差。

5. 计算指标关联度

ξij=a+ρbkij+ρb\xi_{ij}=\frac{a+\rho b}{|k_{ij}|+\rho b}

其中ρ\rho为分辨系数,一般取0.5

rj=1ni=1nξijr_j=\frac{1}{n} \sum_{i=1}^{n} \xi_{ij}

其中rjr_j 为第 jj 个指标的灰色关联度

6. 计算指标权重

wj=rjk=1mrk(j=1,2,...,m)w_j=\frac{r_j}{\sum_{k=1}^{m} r_k} (j=1,2,...,m)

7. 计算得分

Si=j=1mZijrjS_i= \sum_{j=1}^{m} Z_{ij} \cdot r_j

8. 结果处理

S~i=Sik=1mSk(i=1,2,,n)\tilde{S}_i=\frac{S_i}{\sum_{k=1}^{m} S_k} (i=1,2,\cdots,n)

基于灰色关联分析的综合评价

1. 数据处理

记横轴为指标,纵轴为样本编号的矩阵 XX 经每个指标规范化(纵轴方向归一化/标准化)后为

Znm=[z11z12z1mz21z22z2mzn1zn2znm]Z_{nm}=\left[\begin{array}{cccc} z_{11} & z_{12} & \cdots & z_{1 m} \\ z_{21} & z_{22} & \cdots & z_{2 m} \\ \vdots & \vdots & \ddots & \vdots \\ z_{n 1} & z_{n 2} & \cdots & z_{n m} \end{array}\right]\\

2. 构造虚拟样本

记虚拟母样本为 YY ,其每个元素取对应指标的最优值,

Y=[y1,y2,,ym]Y=\left[y_1,y_2,\dotsb,y_m\right]

其中

yj=max(z1j,z2j,,znj)y_j=\max(z_{1j},z_{2j},\dotsb,z_{nj})

3. 计算关联系数

记差值矩阵为 KK ,有

K=[k11k12k1mk21k22k2mkk1kn2knm]=[z11y1z12y2z1mymz21y1z22y2z2mymzn1y1zn2y2znmym]K=\left[\begin{array}{cccc} k_{11} & k_{12} & \cdots & k_{1 m} \\ k_{21} & k_{22} & \cdots & k_{2 m} \\ \vdots & \vdots & \ddots & \vdots \\ k_{k 1} & k_{n 2} & \cdots & k_{n m} \end{array}\right]=\left[\begin{array}{cccc} |z_{11}-y_1| & |z_{12}-y_2| & \cdots & |z_{1 m}-y_m| \\ |z_{21}-y_1| & |z_{22}-y_2| & \cdots & |z_{2 m}-y_m| \\ \vdots & \vdots & \ddots & \vdots \\ |z_{n 1}-y_1| & |z_{n 2}-y_2| & \cdots & |z_{n m}-y_m| \end{array}\right]\\

a=miniminjkij,b=maximaxkkija=\min _{i} \min_{j}\left|k_{ij}\right|, \quad b=\max_{i} \max _{k}\left|k_{ij}\right|\\

4.计算指标关联度

ρ=0.5\rho=0.5 ,记

ξij=a+ρbkij+ρb\xi_{ij}=\frac{a+\rho b}{|k_{ij}|+\rho b}\\

得到第 ii 个样本的灰色关联度,即评价结果为 rir_i

ri=1mj=1mξij    ri=j=1mwjξijr_i=\frac{1}{m} \sum_{j=1}^{m} \xi_{ij} \ \ 或 \ \ r_i= \sum_{j=1}^{m} w_j\xi_{ij}

其中 wjw_j 为指标的权重,

以此作为各个观测值的评价结果。

*去量纲化方法

初值化

顾名思义,就是把这一个序列的数据统一除以最开始的值,由于同一个因素的序列的量级差别不大,所以通过除以初值就能将这些值都整理到1这个量级附近。

f(x(k))=x(k)x(1)=y(k),x(1)0f(x(k))=\frac{x(k)}{x(1)}=y(k), \quad x(1) \neq 0

均值化

顾名思义,就是把这个序列的数据除以均值,由于数量级大的序列均值比较大,所以除掉以后就能归一化到1的量级附近。

f(x(k))=x(k)xˉ=y(k),xˉ=1nk=1nx(k)f(x(k))=\frac{x(k)}{\bar{x}}=y(k), \quad \bar{x}=\frac{1}{n} \sum_{k=1}^{n} x(k)

百分比变换

f(x(k))=x(k)maxkx(k)=y(k)f(x(k))=\frac{x(k)}{\max _{k} x(k)}=y(k)

倍数变换

f(x(k))=x(k)minkx(k)=y(k),minkx(k)0f(x(k))=\frac{x(k)}{\min _{k} x(k)}=y(k), \quad \min_{k} x(k) \neq 0

归一化变换

f(x(k))=x(k)x0=y(k)f(x(k))=\frac{x(k)}{x_{0}}=y(k)

极差最大值变换

f(x(k))=x(k)minkx(k)maxkx(k)=y(k)f(x(k))=\frac{x(k)-\min _{k} x(k)}{\max_{k} x(k)}=y(k)

区间值变换

f(x(k))=x(k)minkx(k)maxkx(k)minkx(k)=y(k)f(x(k))=\frac{x(k)-\min _{k} x(k)}{\max_{k} x(k)-\min _{k} x(k)}=y(k)

参考