灰色关联分析
灰色关联分析的基本思想 是根据序列曲线几何形状的相似程度来判断其联系是否紧密,曲线越接近,相应序列之间的关联度就越大,反之则越小。
此方法可用于 进行系统分析,也可应用于对问题 进行综合评价。
一、概述
一般的抽象系统,如社会系统、经济系统、农业系统、生态系统、教育系统等都包含有许多种因素,多种因素共同作用的结果决定了该系统的发展态势。人们常常希望知道在众多的因素中,哪些是主要因素,哪些是次要因素;哪些因素对系统发展影响大,哪些因素对系统发展影响小;哪些因素对系统发展起推动作用需强化发展,哪些因素对系统发展起阻碍作用需加以抑制;这些都是系统分析中人们普遍关心的问题。例如,粮食生产系统,人们希望提高粮食总产量,而影响粮食总产量的因素是多方面的,有播种面积以及水利、化肥、土壤、种子、劳力、气候、耕作技术和政策环境等。为了实现少投人多产出,并取得良好的经济效益、社会效益和生态效益,就必须进行系统分析。
二、模型实现
灰色关联分析步骤实现大致分为以下几个步骤:
- 指标正向化
- 确定分析数列
- 对变量进行预处理
- 计算子序列中各个指标与母序列的关联系数
- 计算灰色关联度,并得出结论
在实际建模中,以上步骤不是特别固定,要根据实际的问题进行分析,下面拿两道例题进行说明。
1. 应用一:进行系统分析
下表为某地区国内生产总值的统计数据(以百万元计),问该地区从 2000 年到 2005 年之间,哪一种产业对 GDP 总量影响最大。
第一步:指标正向化
所谓正向化处理,就是将极小型、中间型以及区间型指标统一转化为极大型指标。具体的正向化方法请查看:TOPSIS法(优劣解距离法)
最终得到正向化处理的矩阵为X:
X
=
[
x
11
x
12
⋯
x
1
m
x
21
x
22
⋯
x
2
m
⋮
⋮
⋱
⋮
x
n
1
x
n
2
⋯
x
n
m
]
X= \begin{bmatrix} x_{11} & x_{12} & \cdots &x_{1m} \\ x_{21}& x_{22} & \cdots &x_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ x_{n1}& x_{n2} & \cdots &x_{nm} \end{bmatrix}
X=⎣⎢⎢⎢⎡x11x21⋮xn1x12x22⋮xn2⋯⋯⋱⋯x1mx2m⋮xnm⎦⎥⎥⎥⎤
因为指标变量 国内产值、第一产业、第二产业、第三产业 都是为正向化指标,因此无需正向化。
第二步:确定分析数列
- 母序列(又称参考数列,母指标):能反映系统应为特征的数据序列,其类似于因变量 Y Y Y,此处记为 x 0 x_0 x0。
- 子序列(又称比较数列,子指标):影响系统行为的因素组成的数据序列,其类似于自变量 X X X,此处级位 ( x 1 , x 2 , ⋯ , x m ) (x_1,x_2,\cdots,x_m) (x1,x2,⋯,xm)
在本例中,国内总产值就是母序列,第一、第二和第三产业就是子序列。
第三步:对变量进行预处理
对变量进行预处理的目的:1. 去除量纲的影响 2. 缩小变量范围简化计算
对母序列和子序列中的每个指标进行预处理,先求出每个指标的均值,再用该指标中的每个元素都除以其均值。
设标准化矩阵为
Z
Z
Z,
Z
Z
Z 中元素记为
z
i
j
z_{ij}
zij:
z
i
j
=
x
i
j
x
ˉ
i
j
z_{ij}=\frac{x_{ij}}{\bar x_{ij}}
zij=xˉijxij
得到标准化矩阵 Z:
Z
=
[
z
11
z
12
⋯
z
1
m
z
21
z
22
⋯
z
2
m
⋮
⋮
⋱
⋮
z
n
1
z
n
2
⋯
z
n
m
]
Z= \begin{bmatrix} z_{11} & z_{12} & \cdots &z_{1m} \\ z_{21}& z_{22} & \cdots &z_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ z_{n1}& z_{n2} & \cdots &z_{nm} \end{bmatrix}
Z=⎣⎢⎢⎢⎡z11z21⋮zn1z12z22⋮zn2⋯⋯⋱⋯z1mz2m⋮znm⎦⎥⎥⎥⎤
本例中,得到的最终标准化矩阵矩阵为:
第四步:计算子序列中各个指标与母序列的关联系数
定义灰色系数,即各指标的关联系数为:
y
(
x
0
(
k
)
,
x
i
(
k
)
)
=
a
+
ρ
b
∣
x
0
(
k
)
−
x
i
(
k
)
∣
+
ρ
b
(
i
=
1
,
2
,
⋯
,
m
,
k
=
1
,
2
,
⋯
,
n
)
y(x_0(k),x_i(k))=\frac{a+\rho b}{\mid x_0(k)-x_i(k)\mid + \rho b}\quad( i=1,2,\cdots,m,\quad k=1,2,\cdots,n)
y(x0(k),xi(k))=∣x0(k)−xi(k)∣+ρba+ρb(i=1,2,⋯,m,k=1,2,⋯,n)
其中a 为两极最小差,b 为两极最大差,ρ 为分辨系数(一般取值0.5)
a = m i n i m i n k ∣ x 0 ( k ) − x i ( k ) ∣ b = m a x i m a x k ∣ x 0 ( k ) − x i ( k ) ∣ a=\mathop{min}\limits_{i}\mathop{min}\limits_{k} \mid x_0(k) -x_i(k)\mid\\ b=\mathop{max}\limits_{i}\mathop{max}\limits_{k} \mid x_0(k) -x_i(k)\mid a=iminkmin∣x0(k)−xi(k)∣b=imaxkmax∣x0(k)−xi(k)∣
那么根据以上步骤首先得出中间的差值矩阵:
根据以上矩阵得出 两级最小差
a
a
a = 0.0006,两级最大差
b
b
b = 0.1862。
最后根据关联系数公式,最终计算得出关联系数矩阵:
举例说明: 0.4751 = ( a + ρ b ) ( ∣ x 0 ( 1 ) − x 1 ( 1 ) ∣ + ρ b ) = ( 0.0006 + 0.5 × 0.1862 ) ( 0.1041 + 0.5 × 0.1862 ) 0.4751 = \frac{( a + ρb ) }{( | x_0(1)-x_1(1) | + ρb )} = \frac{( 0.0006 + 0.5×0.1862)}{(0.1041 + 0.5×0.1862)} 0.4751=(∣x0(1)−x1(1)∣+ρb)(a+ρb)=(0.1041+0.5×0.1862)(0.0006+0.5×0.1862)
第五步:计算灰色关联度,并得出结论
定义 y ( x 0 , x i ) y(x_0, x_i) y(x0,xi) 为灰色关联度,即将关联系数矩阵每列求均值。
y ( x 0 , x i ) = 1 n ∑ k = 1 n y ( x 0 ( k ) , x i ( k ) ) y(x_0,x_i)=\frac{1}{n}\sum_{k=1}^{n}{y(x_0(k),x_i(k))} y(x0,xi)=n1k=1∑ny(x0(k),xi(k))
那么我们得出: y ( x 0 , x 1 ) = 0.5084 , y ( x 0 , x 2 ) = 0.6243 , y ( x 0 , x 3 ) = 0.7573 。 y(x_0, x_1)= 0.5084,y(x_0, x_2) = 0.6243,y(x_0, x_3) = 0.7573。 y(x0,x1)=0.5084,y(x0,x2)=0.6243,y(x0,x3)=0.7573。
最终我们得出该地区在2000年至2005年间的国内总产值受第三产业影响最大。
2. 应用二:进行综合评价问题
综合评价问题的步骤大致分为以下几步:
- 对指标进行正向化
- 对正向化矩阵进行预处理
- 将预处理后的具有真每一行取出最大值构成母序列
- 计算各个指标与母序列的灰色关联度
- 计算各个指标的权重
- 计算每个评价对象的得分
上面步骤加红的部分,值得注意,当指标间没什么关系的时候,选择每行中最大的构成母序列。
前四步,与上文的应用一对应,接下来求得指标的权重是将求得的灰色关联度进行归一化。然后计算每个评价对象的得分。上文我们通过标准化处理得到标准化矩阵 Z:
Z
=
[
z
11
z
12
⋯
z
1
m
z
21
z
22
⋯
z
2
m
⋮
⋮
⋱
⋮
z
n
1
z
n
2
⋯
z
n
m
]
Z= \begin{bmatrix} z_{11} & z_{12} & \cdots &z_{1m} \\ z_{21}& z_{22} & \cdots &z_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ z_{n1}& z_{n2} & \cdots &z_{nm} \end{bmatrix}
Z=⎣⎢⎢⎢⎡z11z21⋮zn1z12z22⋮zn2⋯⋯⋱⋯z1mz2m⋮znm⎦⎥⎥⎥⎤
最后计算每个评价对象的得分:
S
k
=
∑
i
=
1
m
Z
k
i
ω
i
,
k
=
1
,
2
,
⋯
,
n
S_k=\sum_{i=1}^{m}{Z_{ki}\omega_i},\quad k=1,2,\cdots,n
Sk=i=1∑mZkiωi,k=1,2,⋯,n
三、模型扩展(★)
- 选择用标准化回归或者灰色关联分析的具体时机:
当样本个数 n 较大时,一般使用标准化回归。当样本个数较少时,选择使用灰色关联分析。 - 如果母序列中含有多个指标应如何分析?
例如:Y1 和 Y2 是母序列,X1,X2,…,Xm 是子序列。那么应首先计算 Y1 和 X1,X2,…,Xm 的灰色关联度进行分析,然后再计算 Y2 和 X1,X2,…,Xm 的灰色关联度进行分析。 - 灰色关联分析与熵权法都可进行客观的赋权,主要区别在于熵权法是根据数据的变异程度进行赋权,而灰色关联分析是根据序列几何形状的相似程度来进行赋权。这里推荐用熵权法,如果要用灰色关联分析,那么就需要有相应的统计图,这样更具说服力。
- 灰色数学的相关概念是国人提出来的,美赛不建议用!
本文借鉴了数学建模清风老师的课件与思路,如果大家发现文章中有不正确的地方,欢迎大家在评论区留言,也可以点击查看下方链接查看清风老师的视频讲解~