灰色关联分析(GRA)

        一般的抽象系统,如社会系统、经济系统、农业系统、生态系统、教育系统等都包含有许多种因素,多种因素共同作用的结果决定了该系统的发展态势。人们常常希望知道在众多的因素中,哪些是主要因素,哪些是次要因素;哪些因素对系统发展影响大,哪些因素对系统发展影响小;哪些因素对系统发展起推动作用需强化发展,哪些因素对系统发展起阻碍作用需加以抑制;这些都是系统分析中人们普遍关心的问题。例如,粮食生产系统,人们希望提高粮食总产量,而影响粮食总产量的因素是多方面的,有播种面积以及水利、化肥、土壤、种子、劳力、气候、耕作技术和政策环境等。为了实现少投人多产出,并取得良好的经济效益、社会效益和生态效益,就必须进行系统分析。

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

  此方法可用于 进行系统分析,也可应用于对问题 进行综合评价

一、步骤

1. 指标正向化

正向化的具体步骤可见:Topis模型

2.  确定分析数列

    选取参考数列:能反映系统应为特征的数据序列,一般取每一列的最大值,即相当于一个虚拟的最好评价对象的各指标值,此处记为x0

    选取比较序列:影响系统行为的因素组成的数据序列,其类似于自变量 X ,此处记为[x1,x2......]

3. 对变量进行预处理

归一化:

目的是去除量纲的影响,缩小变量范围简化计算。

设标准化矩阵为Z,Z中元素记为zij:

z_{ij}=\frac{x_{ij}}{\sum_{i=1}^{n}x_{ij}}

4. 计算灰色关联系数

   ps:计算这一步之前,也可以先确定各指标对应的权重。

灰色关联分析(GRA)_第1张图片

一般来说,ρ越大,分辨率越大;ρ越小,分辨率越小。

然后根据关联系数公式,最终计算得出关联系数矩阵。

5. 计算灰色关联度,并得出结论

定义 y(x0,xi) 为灰色关联度,即将关联系数矩阵每列求均值

灰色关联分析(GRA)_第2张图片

 如果事先确定了各部分的权重,则计算加权平均值。

二、代码

灰色关联分析步骤
【1】确定比较对象(评价对象)(就是数据,并且需要进行规范化处理,就是标准化处理)和参考数列,并对变量进行正向化处理
【2】确定各个指标权重,可用层次分析确定 (也可以不确定权重)
【3】计算灰色关联系数 
【4】计算灰色加权关联度 
【5】评价分析

clc,clear;
x1=[1.14 1.49 1.69 2.12 2.43 4.32 5.92 6.07 7.85;
    3.30 3.47 3.61 3.80 4.00 4.19 4.42 4.61 4.80;
    6.00 6.00 6.00 7.50 7.50 7.50 9.00 9.00 9.00;
    1.20 1.20 1.80 1.80 1.80 2.40 2.70 3.60 4.00;
    4.87 5.89 6.76 7.97 8.84 10.05 11.31 12.25 11.64]%原始数据5行9列
x=x1;
for i=1:5
    for j=1:9
  x(i,j)=x(i,j)/x1(1,j)
 end
end
x1=x
for i=1:5
    for j=1:9
  x(i,j)=abs(x(i,j)-x1(i,1))
 end
end
max=x(1,1)
min=x(1,1)
for i=1:5
    for j=1:9
 if x(i,j)>=max
     max=x(i,j)
 end
  end
end
for i=1:5
    for j=1:9
 if x(i,j)<=min
     min=x(i,j)
  end
  end
end
k=0.5 %分辨系数取值
l=(min+k*max)./(x+k*max)%求关联系数矩阵
guanliandu=sum(l')/n    %n为方案数,随便取个常数,不影响最后的排序结果。
[rs,rind]=sort(guanliandu,'descend') %对关联度进行排序

你可能感兴趣的:(数学建模,算法)