精华内容
下载资源
问答
  • 灰色关联度分析

    千次阅读 多人点赞 2019-11-13 14:46:07
    灰色关联度分析 灰色关联度分析方法步骤及原理; 另附例题及代码。

    灰色关联度分析

    引言

    大家好,这是我的第一篇博客,我是一名通信工程专业的大二学生,在过了1年的学习后我才发现自己并不是很喜欢这个专业,因为在学校加入了数学建模工作室,也大大小小做过几次比赛,对于Matlab软件有一些基础的了解,慢慢的竟然感觉自己有点喜欢这个软件来敲代码了,因此我决定慢慢开始尽量系统的学习一下Matlab,同时因为要做建模比赛,所以会学习一些建模用的相关算法等等,因此我开了这一个大模块,用来记录我每一个学习的和Matlab相关的知识点,我本是一个萌新,学的东西可能很基础,不过如果看到本文的你觉得内容对你有所帮助,还是请帮我点个赞,谢谢啦。

    灰色关联度分析

    在我看来,灰色关联度分析即是一种对影响目标序列的相关因素进行定量分析的模型,他的基本原理就是将已知的目标序列数据和比较序列(即影响目标序列的因素所构成的序列)数据进行无量纲化处理之后,通过对比各个序列对目标序列的数据增长或减少的相似或相异程度来判断各个因素对目标序列的影响结果(权重)。
    如下图,即是某一无量纲化之后各因素的数据与目标序列数据变化趋势图,对灰色关联度分析而言,图形几何形状越是接近,关联程度也就越大。当然,如果要对更多更复杂的数据进行关联分析,肯定是无法用肉眼得到分析结果的,因此,我们肯定需要一种计算方法来得到我们想要的结果,这种计算方法即为灰色关联分析方法。
    无量纲化之后各因素的数据与目标序列数据变化趋势图

    原理和方法

    1.计算比较序列与目标序列之间的关联系数

    公式

    关联系数公式

    2.计算比较序列与目标序列之间的关联度

    在这里插入图片描述

    求解步骤

    Step1.数据无量纲化处理

    由于各指标的单位不同,需要对原始数据进行无量纲化处理,数据无量纲化处理的方法有均值化、初值化、区间值化、导数化、零化等。后面我给出的代码采用均值化法。

    Step2.求差序列

    即计算参考数列与比较序列的相应指标的绝对差值。

    Step3.求两级差

    即计算两级最大差值。

    Step4.计算关联系数

    将计算得到的两级差值代入关联系数公式求关联系数的值。

    Step5.计算灰色关联度及权重

    将求得的关联系数的值代入关联度公式中得到各指标与目标序列的关联度,最终利用得到的值归一化处理得到各指标的权重。

    例题数据

    要求计算各参考序列对目标序列的影响(权重)
    年份 目标序列 参考序列1 参考序列2 参考序列3 参考序列4 参考序列5 参考序列6
    2009 5.18 74.61 7.270 1.26 21.6 2.2685 223.3
    2010 7.33 99.33 10.046 14.95 16.8 1.5876 197.6
    2011 5.30 124.27 11.552 8.66 13.7 1.2158 154.5
    2012 4.45 137.31 11.980 14.15 12.3 0.9839 107.7
    2013 4.05 150.11 13.688 8.51 17.3 1.0903 149.9
    2014 6.35 160.52 14.674 2.54 27.8 1.5359 245.9
    2015 8.27 163.34 14.909 4.61 16.8 3.2937 245.3
    2016 11.7 172.77 15.203 7.88 29.3 2.3942 326.5
    2017 7.58 203.52 17.982 4.15 28.8 3.0424 334.9
    2018 4.46 216.10 18.571 3.32 24.6 3.578 265.5
    平均值 6.467 150.19 13.588 7.0 20.9 2.1 225.1

    代码

    clc;clear;close all;
    %输入原始已知数据
    A=[5.18 74.61   7.27    1.26    21.6    2.2685  223.3;
    7.33    99.33   10.046  14.95   16.8    1.5876  197.6;
    5.3     124.27  11.552  8.66    13.7    1.2158  154.5;
    4.45    137.31  11.98   14.15   12.3    -0.0161  107.7;
    4.05    150.11  13.688  8.51    17.3    1.0903  149.9;
    6.35    160.52  14.674  2.54    27.8    1.5359  245.9;
    8.27    163.34  14.909  4.61    16.8    3.2937  245.3;
    11.7    172.77  15.203  7.88    29.3    2.3942  326.5;
    7.58    203.52  17.982  4.15    28.8    3.0424  334.9;
    4.46    216.1   18.571  3.32    24.6    3.578   265.5];
    y=[6.467 150.19 13.588 7 20.9 2.1 225.1];
    %数据无量纲化处理
    x1=A(1:10,1)./y(1);x2=A(1:10,2)./y(2);x3=A(1:10,3)./y(3);
    x4=A(1:10,4)./y(4);x5=A(1:10,5)./y(5);x6=A(1:10,6)./y(6);
    x7=A(1:10,7)./y(7);
    B=[x1,x2,x3,x4,x5,x6,x7]; 
    %求差序列
    y1=abs(x1-x2);y2=abs(x1-x3);
    y3=abs(x1-x4);y4=abs(x1-x5);
    y5=abs(x1-x6);y6=abs(x1-x7);
    C=[y1,y2,y3,y4,y5,y6];
    %求两级差
    xmax=max(max(C)); 
    xmin=min(min(C)); 
    %计算目标和各指标的关联系数
    z=(xmin+0.5*xmax)./(C+0.5*xmax); 
    e=[];
    [t,n]=size(C);
    %计算目标与各指标的关联度
    for i=1:n
    z1=sum(z(1:10,i))/10;
    e=[e,z1];
    end
    %各指标的权重
    f=e./sum(e) 
    

    The end

    整篇文章的内容到这里也就结束了,因为是第一次写博客,很多功能都不会用所以做的不太好,希望大家多多包容,如果谁有什么问题欢迎来咨询我,我会在有时间的时候尽自己最大的能力帮助你,感谢大家的观看。

    展开全文
  • 灰色关联度分析(Grey Relation Analysis,GRA)原理详解

    万次阅读 多人点赞 2018-12-29 02:22:18
    灰色关联度分析(Grey Relation Analysis,GRA),是一种多因素统计分析的方法。简单来讲,就是在一个灰色系统中,我们想要了解其中某个我们所关注的某个项目受其他的因素影响的相对强弱,再直白一点,就是说:我们...

    释名

    灰色关联度分析(Grey Relation Analysis,GRA),是一种多因素统计分析的方法。简单来讲,就是在一个灰色系统中,我们想要了解其中某个我们所关注的某个项目受其他的因素影响的相对强弱,再直白一点,就是说:我们假设以及知道某一个指标可能是与其他的某几个因素相关的,那么我们想知道这个指标与其他哪个因素相对来说更有关系,而哪个因素相对关系弱一点,依次类推,把这些因素排个,得到一个分析结果,我们就可以知道我们关注的这个指标,与因素中的哪些更相关。

    ( note : 灰色系统这个概念的提出是相对于白色系统黑色系统而言的。这个概念最初是由控制科学与工程(hhh熟悉的一级学科)的教授邓聚龙提出的。按照控制论的惯例,颜色一般代表的是对于一个系统我们已知的信息的多少,白色就代表信息充足,比如一个力学系统,元素之间的关系都是能够确定的,这就是一个白色系统;而黑色系统代表我们对于其中的结构并不清楚的系统,通常叫做黑箱或黑盒的就是这类系统。灰色介于两者之间,表示我们只对该系统有部分了解。)

    举例

    为了说明灰色关联度分析的应用场景,我们利用下图进行说明:

    在这里插入图片描述

    该图来源于参考文献1。这篇文献研究的内容是旅游业发展的影响因子,看该表格,第一行为五年的旅游总收入,代表着旅游业发展的程度,而下面的这些要素就是我们需要分析的因子,比如在校大学生数,旅行社数,星级饭店数,A级景区数等等。最终目的是要得到一个排序,从而说明这些因子对旅游总收入的关联性的程度。

    操作步骤与原理详解

    (1) 确立母序列

    (参考序列,在上面栗子中就是1998~2002年的旅游总收入序列)和子序列(比较序列,也就是需要确立顺序的因素序列,上栗中的除了第一行以外的所有因素都可以作为参考序列)

    为了后面的表述方便,这里统一一下notation:

    我们用x_i(k)表示第i个因素的第k个数值
    用上面的栗子来说
    比如第一个因素是在校大学生人数,那么x_1(1)就表示在校大学生人数在1998年的取值,也就是341,x_1(2)就是1999年的取值,
    而x_2(1)就是表示旅游从业人数在1998年的数值。以此类推。
    我们用x_0(k)表示母序列,i≥1的表示子序列,也就是要分析的要素的序列。
    如果不写括号,比如x_i ,就代表这个元素的整个序列,也就是向量 x_i = [x_i(1), x_i(2), ... , x_i(n)] 
    n为每个向量的维度,也就是每个元素的特征的数量,在上栗中,n就是5,因为有五年的数据,代表五维向量。
    以下所有表述都用该notation表示。
    

    详解: 这个就是我们任务的目的(找到子序列和参考序列的关联程度),所以不需要再解释了吧~

    (2)归一化,或者叫 无量纲化

    详解: 因为我们的这些要素是不同质的东西的指标,因此可能会有的数字很大有的数字很小,但是这并不是由于它们内禀的性质决定的,而只是由于量纲不同导致的,因此我们需要对它们进行无量纲化。这个操作一般在数据处理领域叫做归一化(normalization),也就是减少数据的绝对数值的差异,将它们统一到近似的范围内,然后重点关注其变化和趋势。
    如下图所示,这是上面表格中前3个元素随年的变化曲线,以及作为母序列的旅游总收入:
    在这里插入图片描述

    可以看到,有两个曲线绝对数值很大,而另外两个很小,如果不做处理必然导致大的数值的影响会”淹没“掉小数值的变量的影响。

    所以我们要对数据进行归一化处理,主要方法有如下几个:

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

    公式: x_i(k)' = x_i(k) / x_i(1)   i = 1,...,m, k = 1,...,n 
    (m为因素个数,n为每个因素的数据维度,仍如上栗,n=5,m=3(我们只看前三个因素,就是曲线图里画的这三种,和旅游总收入的关联,数据维度为5,即五年))
    

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

    公式: x_i(k)' = x_i(k) / ( mean(x_i) )        (除以均值)
    其中 : mean(x_i) = (1/n) sum_k=1^n (x_i(k))     (求第i个因素序列的均值)
    

    其余还有如区间化,即把序列的值规范到一个区间,比如[0, 1],之间。这个方法实际上在数据处理中应用比较多,但是在GRA中似乎常用均值化或者初值化,所以在此不介绍。

    这里我们按照参考文献中的采用的方法,用初值化进行归一化,得到的结果如下图:

    在这里插入图片描述

    可以看到,归一化以后的数据,量级差别变小了,这是为了后面提供铺垫,因为我们关注的实际上是曲线的形状的差异,而不希望绝对数值对后面的计算有影响。

    (3)计算灰色关联系数

    先放上公式:
    在这里插入图片描述

    详解:
    首先,我们把i看做固定值,也就是说对于某一个因素,其中的每个维度进行计算,得到一个新的序列,这个序列中的每个点就代表着该子序列与母序列对应维度上的关联性(数字越大,代表关联性越强)。
    仔细观察这个公式,rho是一个可调节的系数,取值为(0,1),大于零小于一,这一项的目的是为了调节输出结果的差距大小,我们放在后面讲。我们先假设把rho取成0,那么,这个式子就变成了

    pseudo_zeta_i(k) = min min |x_0(k) - x_i(k)| / |x_0(k) - x_i(k)| = constant / |x_0(k) - x_i(k)|
    

    我们看上面这个式子,可以发现,分子上这个数值,对于所有子序列来说都是一样的(,分子上这个数实际上就是所有因素的所有维度中,与母序列(参考序列,即我们要比较的序列)距离最近的维度上的距离。为什么要这样做呢?这样来想,假如我们没有进行归一化,或者不是用的初值化,而是用的均值化或者其他方法,可能会导致曲线之间,也就是母序列和各个子序列之间仍然有一段距离,那么这个距离最小值与下面的每个维度的距离相除,实际上也可以看成是一种取消量纲的手段。对于所有子序列,这个分子是相同的,所以实际上,这个系数pseudo_zeta是与第k个维度上,子序列与母序列的距离(差的绝对值,通常叫做l1范数(l1-norm))成反比,也就是说,这两个数距离越远,我们认为越不相关,这是符合直觉的。

    当然,如果用了初值化归一化数据,如上面的图2所示,min min |x_0(k) - x_i(k)| 对每个i都会变成0,这样就不好了,因为这样一来,所有的zeta_i(k)都成了0,是无意义的。所以这时候我们就看到后面的 rho max max这一项的作用了。这一项对于每个i来说也是一个不变的常数constant,所以可以理解为给上面那个式子的分子分母同时加上某个数值,如下所示:

    zeta_i(k) = (aconstant + bconstant) / (|x_0(k) - x_i(k)| + bconstant)
    

    这样做的目的是什么呢? 我们举个栗子: 对于两个分数: 1/5 和 1/4 ,它们的分子一样,分母相差为1,这时候他们的值相差1/20,也就是0.05,这就是没有+rho max max那一项的情况,分子相同,分母的差代表着与参考序列的距离。 如果我们给他们分子分母同时加上20,那么就是21/25和21/24,它们相差为0.035,可以看到,加入这一项会导致同样的距离的点的系数差,会因为计算而变小。很显然地,rho取得越大,不同zeta系数的差距就越小。

    另外,由于分子上是min min,也就是距离的全局最小值,这就导致下面的分母必然大于分子(不考虑 rho max max 项),而且,如果分母非常大,曲线距离非常远,那么,zeta接近0; 相反,如果x_i和x_0在所有维度上的差完全一样,那么分数的值就是1。这样zeta取值范围就是0~1之间,0表示不相关,1表示强关联性。这也符合认知。考虑上rho max max 项之后,我们知道对于一个真分数,分子分母都加一个同样的值,仍然是真分数(实际上是一个添加溶质的溶液的问题)。也就是说,仍然是0到1。

    总结来说,rho是控制zeta系数区分度的一个系数,rho取值0到1, rho越小,区分度越大,一般取值0.5较为合适。zeta关联系数取值落在0到1之间。

    接上栗,我们对上述三个子序列做出关联系数zeta的序列,结果如下:
    在这里插入图片描述
    其实从这个图中已经可以看出,大学生这一因素对旅游也的相关性普遍要高一些,从业人员相对影响少一些。星级饭店的数量居中。

    (4) 计算关联系数均值,形成关联序

    根据上图其实已经可以看出大概的趋势,但是这只是因为这个恰好所有维度上的趋势比较一致,实际上,我们得到zeta关联系数的值以后,应该对每个因素在不同维度上的值求取均值,换句话说,也就是对于上面那些zeta 的曲线,同一个颜色的求取均值。结果如下:

    >> mean(zeta_1)
    ans =
       0.7505
    >> mean(zeta_2)
    ans =
        0.5848
    >> mean(zeta_3)
    ans =
       0.7154
    

    可以看到,根据关联系数大小,排序结果为:

    大学生人数 > 星级饭店数量 > 从业人员人数

    这和参考文献论文中的结论是一致的:

    在这里插入图片描述

    (由于论文中用了所有的因子,导致max max 这个全局最大值不同,所以计算出的关联度数值与复现计算的结果数值不一样,但是这三个因子的关联度的排序是一致的,说明关联度是一个相对的指标,它反映的是不同因子与参考内容的关联程度)

    总结

    GRA算法本质上来讲就是提供了一种度量两个向量之间距离的方法,对于有时间性的因子,向量可以看成一条时间曲线,而GRA算法就是度量两条曲线的形态和走势是否相近。为了避免其他干扰,凸出形态特征的影响,GRA先做了归一化,将所有向量矫正到同一个尺度和位置,然后计算每个点的距离。最后,通过min min 和max max 的矫正,使得最终输出的结果落在0到1之间,从而符合系数的一般定义。rho调节不同关联系数之间的差异,换句话说,就是输出的分布,使其可以变得更加稀疏或者紧密。以数学角度要言之,该算法即度量已归一化的子向量与母向量的每一维度的l1-norm距离的倒数之和,并将其映射到0~1区间内,作为子母向量的关联性之度量的一种策略。

    附录:MATLAB代码

    下面是该博文中为举栗子复现的参考文献1中的计算过程MATLAB代码:

    % Grey relation analysis
    
    clear all
    close all
    clc
    
    zongshouru = [3439, 4002, 4519, 4995, 5566];
    daxuesheng = [341, 409, 556, 719, 903];
    congyerenyuan = [183, 196, 564, 598, 613];
    xingjifandian = [3248, 3856, 6029, 7358, 8880];
    
    % define comparative and reference
    x0 = zongshouru;
    x1 = daxuesheng;
    x2 = congyerenyuan;
    x3 = xingjifandian;
    
    % normalization
    x0 = x0 ./ x0(1);
    x1 = x1 ./ x1(1);
    x2 = x2 ./ x2(1);
    x3 = x3 ./ x3(1);
    
    % global min and max
    global_min = min(min(abs([x1; x2; x3] - repmat(x0, [3, 1]))));
    global_max = max(max(abs([x1; x2; x3] - repmat(x0, [3, 1]))));
    
    % set rho
    rho = 0.5;
    
    % calculate zeta relation coefficients
    zeta_1 = (global_min + rho * global_max) ./ (abs(x0 - x1) + rho * global_max);
    zeta_2 = (global_min + rho * global_max) ./ (abs(x0 - x2) + rho * global_max);
    zeta_3 = (global_min + rho * global_max) ./ (abs(x0 - x3) + rho * global_max);
    
    % show
    figure;
    plot(x0, 'ko-' )
    hold on
    plot(x1, 'b*-')
    hold on
    plot(x2, 'g*-')
    hold on
    plot(x3, 'r*-')
    legend('zongshouru', 'daxuesheng', 'congyerenyuan', 'xingjifandian')
    
    figure;
    plot(zeta_1, 'b*-')
    hold on
    plot(zeta_2, 'g*-')
    hold on
    plot(zeta_3, 'r*-')
    title('Relation zeta')
    legend('daxuesheng', 'congyerenyuan', 'xingjifandian')
    

    参考文献:

    1. 马晓龙. 旅游业发展影响因子灰色关联分析[J]. 人文地理, 2006, 21(2):37-40.
    2. 谭学瑞, 邓聚龙. 灰色关联分析:多因素统计分析新方法[J]. 统计研究, 1995, 12(3):46-48.
    3. 刘思峰, 蔡华, 杨英杰, et al. 灰色关联分析模型研究进展[J]. 系统工程理论与实践, 2013, 33(8):2041-2046.

    2018年12月29日02:06:16
    to Rita ~

    展开全文
  • 阅读文献中涉及到灰色关联度分析,于是便于上网查阅,在CSDN上查到一篇比较通俗易懂的文章,但是其中有些部分讲解的无法理解,于是便决定写一篇关于灰色关联度分析的文章,在查阅了有关资料后本文将从以下几个方面去...

    阅读文献中涉及到灰色关联度分析,于是便于上网查阅,在CSDN上查到一篇比较通俗易懂的文章,但是其中有些部分讲解的无法理解,于是便决定写一篇关于灰色关联度分析的文章,在查阅了有关资料后本文将从以下几个方面去介绍灰色关联度

    1.灰色关联度定义

    2.灰色关联度如何计算

    3.Matlab程序详细解析

    1.灰色关联度定义

    灰色关联度定义:对于两个系统之间的因素,其随时间或不同对象而变化的关联性大小的量度,称为关联度。在系统发展过程中,若两个因素变化的趋势具有一致性,即同步变化程度较高,即可谓二者关联程度较高;反之,则较低。因此,灰色关联分析方法,是根据因素之间发展趋势的相似或相异程度,亦即“灰色关联度”,作为衡量因素间关联程度的一种方法。------取自百度百科

    2e26312052ac157bf2577079655cd0da.png
    图1

    其实很好理解,如上图图1所示,旅游总收入与许多因素息息相关,如在校大学生人数,旅游人数,星级饭店数等,其中我们为了探究哪个因素对旅游总收入影响最大,我们便提出了灰色关联度分析法。

    2.灰色关联度如何计算

    ①母序列与子序列:为了计算灰色关联度,我们首先得确定母序列与子序列,母序列便是你想要研究的目标,如图1中旅游总收入,子序列则是影响母序列的因素,如校大学生人数,旅游人数,星级饭店数等等。

    ②归一化:首先解释下为什么要归一化,如图2所示,显然不同种类的数据差别过大,此外单位也不是一个量级的,因此必须做归一化处理,在此我们采用初值化处理,即将每个种类的数据除以该种类数据1998年的数据,处理后的数据如图3所示。

    6b0f7e233a4ef5cea9da34de3adf3230.png
    图2

    d12df7f7130ade92cfc3bd26853b14b8.png
    图3

    ③灰色关联系数计算公式:其具体计算公式如图4

    其中X_0(K)代表旅游总收入在K年份的值

    X_i(K),则代表第i个因素在K年份的值(i=1,2,3)

    其中对于min min |X0(K)-X_i(K)| 与 max max |X0(K)-X_i(K)| 都是定值,以min min |X0(K)-X_i(K)| 为例,该式其实很好理解首先固定i,如令i=1,则式子就代表在不同年份下,寻找旅游总收入与在校大学生人数之间差值的最小值,假设找到 X1,同理,则再令i=2,找到 X2再令i=3,找到 X3, 最后我们需要再X1,X2,X3中选取最小值X,同理max max |X0(K)-X_i(K)| 也为定值。

    由于做了初值化处理,由图3也显然得出,min min |X0(K)-X_i(K)| 为0,所以ρ不能为0,ρ的取值通常在0-1之间,本次实验选取ρ=0.5。

    01ccecf9f312d40ee6c17d524a633fb1.png
    图4

    3.Matlab代码

    ①取ρ=0.5

    • clear
    • travel_sum_money=[3439 4002 4519 4995 5566];
    • student_number=[341 409 556 719 903];
    • travel_people_number=[183 196 564 598 613];
    • hotel_number=[3248 3856 6029 7358 8880];
    • x_0=travel_sum_money;
    • x_1=student_number;
    • x_2=travel_people_number;
    • x_3=hotel_number;
    • %归一化处理
    • x0=x_0./x_0(1);
    • x1=x_1./x_1(1);
    • x2=x_2./x_2(1);
    • x3=x_3./x_3(1);
    • %用矩阵进行计算,通过两个·min(max)求得其中最小值(最大值)
    • g_min=min(min(abs([x1;x2;x3]-[x0;x0;x0])));
    • g_max=max(max(abs([x1;x2;x3]-[x0;x0;x0])));
    • %取ρ=0.5
    • zeta1=(g_min+g_max*0.5)./(abs(x0-x1)+g_max*0.5);
    • zeta2=(g_min+g_max*0.5)./(abs(x0-x2)+g_max*0.5);
    • zeta3=(g_min+g_max*0.5)./(abs(x0-x3)+g_max*0.5);
    • %求关联系数平均值
    • average1=mean(zeta1);
    • average2=mean(zeta2);
    • average3=mean(zeta3);
    • figure(1);
    • plot(zeta1,'g-*');
    • hold on
    • plot(zeta2,'b-*');
    • hold on
    • plot(zeta3,'r-*');
    • hold on
    • legend('大学生数量','旅游人数','酒店数量');
    • title('灰色关联系数');
    • figure(2);
    • plot(x_1,'g-*');
    • hold on
    • plot(x_2,'b-*');
    • hold on
    • plot(x_3,'r-*');
    • hold on
    • plot(x_0,'k-*');
    • hold on
    • legend('大学生数量','旅游人数','酒店数量','总收入');
    • title('未经归一化');
    • figure(3)
    • plot(x1,'g-*');
    • hold on
    • plot(x2,'b-*');
    • hold on
    • plot(x3,'r-*');
    • hold on
    • plot(x0,'k-*');
    • hold on
    • legend('大学生数量','旅游人数','酒店数量','总收入');
    • title('归一化')

    f9379194896824d9256ba40d607ddcd6.png
    图5

    图5为关联系数平均值,可知影响因素为大学生人数>酒店数量>旅游人数

    distance1=(0.7505-0.7154)/0.7505=4.67688%

    distance2=(0.7154-0.5848)/0.7154=18.2555%

    ②取ρ=0.1

    b7e29df80f870f480b6d6d098b385493.png
    ρ=0.1时的灰色关联系数

    ba2fd7198462aff312226b9ae3a65b33.png
    ρ=0.1时的灰色关联系数平均值

    distance1=(0.1501-0.1431)/0.1501=4.6635%

    distance2=(0.1431-0.1170)/0.1431=18.239%

    展开全文
  • 阅读文献中涉及到灰色关联度分析,于是便于上网查阅,在CSDN上查到一篇比较通俗易懂的文章,但是其中有些部分讲解的无法理解,于是便决定写一篇关于灰色关联度分析的文章,在查阅了有关资料后本文将从以下几个方面去...

    阅读文献中涉及到灰色关联度分析,于是便于上网查阅,在CSDN上查到一篇比较通俗易懂的文章,但是其中有些部分讲解的无法理解,于是便决定写一篇关于灰色关联度分析的文章,在查阅了有关资料后本文将从以下几个方面去介绍灰色关联度

    1.灰色关联度定义

    2.灰色关联度如何计算

    3.Matlab程序详细解析

    1.灰色关联度定义

    灰色关联度定义:对于两个系统之间的因素,其随时间或不同对象而变化的关联性大小的量度,称为关联度。在系统发展过程中,若两个因素变化的趋势具有一致性,即同步变化程度较高,即可谓二者关联程度较高;反之,则较低。因此,灰色关联分析方法,是根据因素之间发展趋势的相似或相异程度,亦即“灰色关联度”,作为衡量因素间关联程度的一种方法。------取自百度百科

    c09fb7b470eb02b649791ab98f99301d.png
    图1

    其实很好理解,如上图图1所示,旅游总收入与许多因素息息相关,如在校大学生人数,旅游人数,星级饭店数等,其中我们为了探究哪个因素对旅游总收入影响最大,我们便提出了灰色关联度分析法。

    2.灰色关联度如何计算

    ①母序列与子序列:为了计算灰色关联度,我们首先得确定母序列与子序列,母序列便是你想要研究的目标,如图1中旅游总收入,子序列则是影响母序列的因素,如校大学生人数,旅游人数,星级饭店数等等。

    ②归一化:首先解释下为什么要归一化,如图2所示,显然不同种类的数据差别过大,此外单位也不是一个量级的,因此必须做归一化处理,在此我们采用初值化处理,即将每个种类的数据除以该种类数据1998年的数据,处理后的数据如图3所示。

    65cd52efc453b9d918f5884aa221b1b6.png
    图2

    be33968671a2c8682905d4e9b1a0f61b.png
    图3

    ③灰色关联系数计算公式:其具体计算公式如图4

    其中X_0(K)代表旅游总收入在K年份的值

    X_i(K),则代表第i个因素在K年份的值(i=1,2,3)

    其中对于min min |X0(K)-X_i(K)| 与 max max |X0(K)-X_i(K)| 都是定值,以min min |X0(K)-X_i(K)| 为例,该式其实很好理解首先固定i,如令i=1,则式子就代表在不同年份下,寻找旅游总收入与在校大学生人数之间差值的最小值,假设找到 X1,同理,则再令i=2,找到 X2再令i=3,找到 X3, 最后我们需要再X1,X2,X3中选取最小值X,同理max max |X0(K)-X_i(K)| 也为定值。

    由于做了初值化处理,由图3也显然得出,min min |X0(K)-X_i(K)| 为0,所以ρ不能为0,ρ的取值通常在0-1之间,本次实验选取ρ=0.5。

    fe3a85de951cd36c9d13ee86bb96de2e.png
    图4

    3.Matlab代码

    ①取ρ=0.5

    • clear
    • travel_sum_money=[3439 4002 4519 4995 5566];
    • student_number=[341 409 556 719 903];
    • travel_people_number=[183 196 564 598 613];
    • hotel_number=[3248 3856 6029 7358 8880];
    • x_0=travel_sum_money;
    • x_1=student_number;
    • x_2=travel_people_number;
    • x_3=hotel_number;
    • %归一化处理
    • x0=x_0./x_0(1);
    • x1=x_1./x_1(1);
    • x2=x_2./x_2(1);
    • x3=x_3./x_3(1);
    • %用矩阵进行计算,通过两个·min(max)求得其中最小值(最大值)
    • g_min=min(min(abs([x1;x2;x3]-[x0;x0;x0])));
    • g_max=max(max(abs([x1;x2;x3]-[x0;x0;x0])));
    • %取ρ=0.5
    • zeta1=(g_min+g_max*0.5)./(abs(x0-x1)+g_max*0.5);
    • zeta2=(g_min+g_max*0.5)./(abs(x0-x2)+g_max*0.5);
    • zeta3=(g_min+g_max*0.5)./(abs(x0-x3)+g_max*0.5);
    • %求关联系数平均值
    • average1=mean(zeta1);
    • average2=mean(zeta2);
    • average3=mean(zeta3);
    • figure(1);
    • plot(zeta1,'g-*');
    • hold on
    • plot(zeta2,'b-*');
    • hold on
    • plot(zeta3,'r-*');
    • hold on
    • legend('大学生数量','旅游人数','酒店数量');
    • title('灰色关联系数');
    • figure(2);
    • plot(x_1,'g-*');
    • hold on
    • plot(x_2,'b-*');
    • hold on
    • plot(x_3,'r-*');
    • hold on
    • plot(x_0,'k-*');
    • hold on
    • legend('大学生数量','旅游人数','酒店数量','总收入');
    • title('未经归一化');
    • figure(3)
    • plot(x1,'g-*');
    • hold on
    • plot(x2,'b-*');
    • hold on
    • plot(x3,'r-*');
    • hold on
    • plot(x0,'k-*');
    • hold on
    • legend('大学生数量','旅游人数','酒店数量','总收入');
    • title('归一化')

    fd4e10a38f6a256cdaccdb83bee9d0c9.png
    图5

    图5为关联系数平均值,可知影响因素为大学生人数>酒店数量>旅游人数

    distance1=(0.7505-0.7154)/0.7505=4.67688%

    distance2=(0.7154-0.5848)/0.7154=18.2555%

    ②取ρ=0.1

    bbf567e0aad7b9274fd08ce169f06625.png
    ρ=0.1时的灰色关联系数

    7d6c0b1842039d30108846db73a10860.png
    ρ=0.1时的灰色关联系数平均值

    distance1=(0.1501-0.1431)/0.1501=4.6635%

    distance2=(0.1431-0.1170)/0.1431=18.239%

    展开全文
  • 灰色关联度分析灰色关联度分析法是一种多因素统计分析方法,它是以各因素的样本数据为依据用灰色关联度来描述因素间关系的强弱、大小和次序。若样本数据反映出的两因素变化的态势基本一致,则它们之间的关联度较大...
  • 灰色关联度分析excel实现,使用excel实现灰色关联度分析
  • 灰色关联度理论灰色系统理论自从邓聚龙教师在 80 年代提出后就快速发展起来了,许多学者也对其...灰色关联度分析是灰色系统的重要部分,随着灰色系统理论的发展,它的作用也越来越大。石显:灰色关联度方法​zhuanl...
  • 灰色关联度分析,听名字很高大上,实际上就是算关联度的一个方法.就是想看看某几个因素中,哪个因素对事情的影响更大.比如 这个例子就算想看,其他这么一堆因子中,对旅游总收入的影响,哪个更大一些.个人从结果上看,还挺...
  • 灰色关联度分析桥梁监测数据预处理过程中,对数据进行可信度评估的研究不多,异常检测方法的研究很多,但依然存在一些问题,存在过度剔除的问题,数据插补技术创新不足。一般应用的方法都是通过历史数据趋势模型和...
  • 国产灰色关联度分析软件,可以计算各种灰色关联的计算
  • 释名灰色关联度分析(Grey Relation Analysis,GRA),是一种多因素统计分析的方法。简单来讲,就是在一个灰色系统中,我们想要了解其中某个我们所关注的某个项目受其他的因素影响的相对强弱,再直白一点,就是说:...
  • 基于灰色关联度分析的河道水质评价,陈玲,张健,简要介绍了灰色关联度的基本原理和分析过程,并采用此方法对苏南老城区典型河道-常州市北市河进行了12月的水质评价,选取了罗汉桥
  • 应用主成分分析和灰色关联度分析法分析中国乳制品质量安全的影响因素
  • 江苏省GDP的灰色关联度分析,赵伟,,作为我国外向型经济最发达的省市之一,江苏省在全国的经济发展中有着重要的引导作用。本文在地区生产总值三部门经济支出法核算的
  • MATLAB灰色关联度分析

    千次阅读 2019-12-08 10:06:29
    灰色关联度分析(Grey Relation Analysis,GRA),是一种多因素统计分析的方法。简单来讲,就是在一个灰色系统中,我们想要了解其中某个我们所关注的某个项目受其他的因素影响的相对强弱,再直白一点,就是说:我们...
  • 在此基础上,有学者对邓氏灰关联度进行了改进,提出了一种三维灰关联分析模型,拓宽了灰关联分析模型的应用范围。本章对常见的一维灰关联分析模型、三维灰关联分析模型以及灰色关联聚类方法的基本原理和计算步骤进行...
  • 灰色关联度分析法为基础,建立煤炭消耗量与煤炭产量、煤炭价格、煤炭探明储量、煤炭净进口额关联分析模型,分析了2002-2012年的数据,研究发现煤炭产量是影响煤炭消耗量的主要关联因素,同时利用Eviews软件实现了煤炭...
  • 基于灰色关联度分析的土壤水盐动态变化研究,于国强,李占斌,依据多年观测资料与实地调查,应用灰色关联分析方法对洛惠灌区地下水矿化度、埋深与土壤含盐量之间的关系进行了系统分析,结果表
  • 福岛核事故后放射性扩散的灰色关联度分析,王泽雷,周涛,日本福岛核事故达到事故等级最高的7级,发生了严重的放射性泄漏,对周围环境造成巨大影响。通过灰色关联分析方法,以福岛第一核�
  • 基于灰色关联度分析的县域房地产市场影响因素评价,张金萍,陈龙乾,以江苏丰县为例,对影响县域房地产市场的经济、社会因素进行灰色关联度评价,认为对丰县房地产市场有效需求影响程度最大的三个指
  • 灰色关联度分析(Grey Relation Analysis,GRA)

    万次阅读 多人点赞 2019-05-09 20:08:58
    1,灰色关联度分析(Grey Relation Analysis,GRA)原理详解 2,灰色关联分析法 3,灰色关联分析(GRA)的理论及应用(matlab和python) 4Python实现 灰色关联分析 与结果可视化 ...
  • 很好用的灰色关联度排序与分析,关联系数设置的为0.5。
  • 1:灰色关联度分析 GRA(Grey Relation Analysis )灰色预测的概念:白色系统是指一个系统的内部特征是完全已知的黑色系统是指一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系加以研究灰色系统内部...
  • 北京市大气可吸入颗粒物影响因素灰色关联度分析,张记刚,周涛,通过灰色关联法,以北京市大气可吸入颗粒物的浓度为对照序列,对北京市大气中可吸入颗粒物浓度与气候因素的相关程度作相关分析。
  • 采用灰色关联分析原理和方法,在以往研究影响条带煤柱及其覆岩破坏因素的基础上,利用灰色关联分析法构建了灰色关联度分析评价模型,以量化方法解决了评价指标因素排序问题,得出各影响因素的顺序,最终确定出主要影响...
  • 论文研究-灰色关联度分析在变量筛选应用中的误区.pdf, 探讨了多元回归建模中灰色关联度分析应用于变量筛选时存在的问题及其原因 ;结合实例阐明 ,GM(1 ,n )模型本身无法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 543
精华内容 217
关键字:

灰色关联度分析