灰色关联分析的基本思想 是根据序列曲线几何形状的相似程度来判断其联系是否紧密,曲线越接近,相应序列之间的关联度就越大,反之则越小。
此方法可用于 进行系统分析,也可应用于对问题 进行综合评价。
一般的抽象系统,如社会系统、经济系统、农业系统、生态系统、教育系统等都包含有许多种因素,多种因素共同作用的结果决定了该系统的发展态势。人们常常希望知道在众多的因素中,哪些是主要因素,哪些是次要因素;哪些因素对系统发展影响大,哪些因素对系统发展影响小;哪些因素对系统发展起推动作用需强化发展,哪些因素对系统发展起阻碍作用需加以抑制;这些都是系统分析中人们普遍关心的问题。例如,粮食生产系统,人们希望提高粮食总产量,而影响粮食总产量的因素是多方面的,有播种面积以及水利、化肥、土壤、种子、劳力、气候、耕作技术和政策环境等。为了实现少投人多产出,并取得良好的经济效益、社会效益和生态效益,就必须进行系统分析。
灰色关联分析步骤实现大致分为以下几个步骤:
在实际建模中,以上步骤不是特别固定,要根据实际的问题进行分析,下面拿两道例题进行说明。
下表为某地区国内生产总值的统计数据(以百万元计),问该地区从 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⎦⎥⎥⎥⎤
因为指标变量 国内产值、第一产业、第二产业、第三产业 都是为正向化指标,因此无需正向化。
第二步:确定分析数列
在本例中,国内总产值就是母序列,第一、第二和第三产业就是子序列。
第三步:对变量进行预处理
对变量进行预处理的目的: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年间的国内总产值受第三产业影响最大。
综合评价问题的步骤大致分为以下几步:
上面步骤加红的部分,值得注意,当指标间没什么关系的时候,选择每行中最大的构成母序列。
前四步,与上文的应用一对应,接下来求得指标的权重是将求得的灰色关联度进行归一化。然后计算每个评价对象的得分。上文我们通过标准化处理得到标准化矩阵 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
本文借鉴了数学建模清风老师的课件与思路,如果大家发现文章中有不正确的地方,欢迎大家在评论区留言哦~