最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 释名灰色关联度分析(GreyRelation),操作步骤与原理详解

    发布名称

    灰色关联分析(GRA)是一种多元统计分析方法。简单来说,在一个灰色系统中,我们想知道我们关注的某个项目的相对强度受其他因素的影响。说得更直白一点,就是:我们假设并且知道某个指标可能和其他几个因素有关,那么我们想知道这个指标跟哪个其他因素比较相关,哪个因素比较弱,以此类推,对这些因素进行排序并得到分析结果,我们可以知道我们关心的指标与哪些因素更相关。

    (注:灰色系统的概念是相对于白系统和黑系统提出的。这个概念是由控制科学与工程(hhh熟悉的一级学科)教授邓聚龙最先提出的。按照惯例在控制论中,颜色一般代表我们对一个系统的了解程度,白色代表足够的信息。例如,在机械系统中,可以确定元素之间的关系,即为白色系统;而黑色系统则代表我们的理解。结构不清晰的系统通常被称为黑匣子或黑匣子。灰色介于两者之间,表示我们只了解部分系统。)

    例子

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

    图来源于参考文献1。本文献研究的内容是旅游发展的影响因素。看表,第一行是5年旅游总收入,代表旅游发展程度,以下要素是我们需要分析的因素。大学生数量、旅行社数量、星级酒店数量、A级景区数量等。最终的目标是获得一个能够说明这些因素与总体相关程度的排名旅游收入。

    操作步骤及原理详解(1)建立父序列

    (参考序列,上图栗子中,是1998-2002年旅游总收入序列)和子序列(比较序列,即需要建立顺序的因子序列,栗子中除第一个外的所有因子行可以用作参考序列。)

    为了以下表达方便,这里统一记号:

    我们用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)归一化,或无量纲化。

    详细解释:因为我们的这些元素是不均匀事物的指标,可能有大数和小数,但这不是由它们的内在属性决定的,而只是由不同的维度决定的。,所以我们需要对它们进行无量纲化。这种操作在数据处理领域一般称为归一化,即减少数据的绝对数值差异,将它们统一到一个近似范围内,然后关注它们的变化和趋势。

    如下图,这是上表前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)|
    

    看上面的公式,我们可以发现,分子上的值对于所有子序列(,分子上的数字其实就是所有因子的所有维度灰色关联度分析r语言,而父序列(参考序列,也就是我们的序列)要比较的)是最近维度上的距离。为什么要这样做?这样想,如果我们不使用归一化,或者我们不使用初始值,而是使用均值或其他方法,也许会导致曲线之间的距离,也就是父序列和每个子序列之间的距离,那么这个距离的最小值除以下面各个维度的距离,其实可以看成是一种取消维度.意思是.对于所有子序列,这个分子都是一样的,所以实际上,系数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来说也是一个常数常数,所以可以理解为对上式的分子和分母加上一定的值,如下图:

    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)计算相关系数的均值形成相关阶

    从上图可以看出大势所趋灰色关联度分析r语言,但这只是因为各个维度的趋势是比较一致的。实际上,我们得到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-范数距离的倒数之和,并将其映射到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')
    

    参考文献:马小龙。旅游发展影响因素的灰色关联分析[J].人文地理, 2006, 21(2):37-40.@>谭雪芮, 邓聚龙. 灰色关联分析:多元统计分析新方法[J]. 统计研究, 1995, 12(3):46-48.刘思峰,蔡华,杨英杰,等.灰色关联分析模型研究进展[J].系统工程理论与实践,2013,33(8): 2041-2046.

    2018 年 12 月 29 日 02:06:16

    给丽塔~

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 释名灰色关联度分析(GreyRelation),操作步骤与原理详解

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论