精华内容
下载资源
问答
  • 灰色关联度怎么的,可以用计量软件吗,原理是什么?为了求什么?
  • 灰色关联度矩阵模型及其MATLAB实现

    千次阅读 2019-12-06 10:41:15
    灰色关联度矩阵是灰色系统另一个非常重要的领域,通常用于分析向量与向量之间或矩阵与矩阵之间的关联度,其实用性非常强。

    灰色关联度模型

    引入

    灰色关联度矩阵是灰色系统另一个非常重要的领域,通常用于分析向量与向量之间或矩阵与矩阵之间的关联度,其实用性非常强。

    基本原理

    (1)基本定义
    假设有一组参考数列:
    xj=(xj(1),xj(2),xj(3),...,xj(n)).j=1,2,3,...,s x_{j}=(x_{j}(1),x_{j}(2),x_{j}(3),...,x_{j}(n)). j=1,2,3,...,s

    比较数列:
    xi=(xi(1),xi(2),xi(3),...,xi(n)).i=1,2,3,...,t x_{i}=(x_{i}(1),x_{i}(2),x_{i}(3),...,x_{i}(n)). i=1,2,3,...,t

    由以上两个数列,定义关联度矩阵如下:
    灰色关联度就在
    (2)模型说明
    ①变量ζji(k)ζ_{ji}(k)表示的是第ii个比较数列与第jj个参考数列第kk个样本之间的关联系数。
    minminxj(k)xi(k)min min|x_{j}(k)-x_{i}(k)|maxmaxxj(k)xi(k)max max|x_{j}(k)-x_{i}(k)|表示的是参考数列矩阵与比较数列矩阵数值作差之后的最小值和最大值。把minminxj(k)xi(k)min min|x_{j}(k)-x_{i}(k)|maxmaxxj(k)xi(k)max max|x_{j}(k)-x_{i}(k)|耦合到变量中可以保证ζji(k)ζ_{ji}(k)之值位于[0,1]区间,同时上下对称的结构可以消除量纲不同和数值悬殊的问题。
    xj(k)xi(k)|x_{j}(k)-x_{i}(k)|式被称之为“Hamming”距离,Hamming距离的倒数被称之为反倒数距离,灰色关联度的本质就是通过反倒数的大小来判定关联程度:假设有曲线xix_{i}xjx_{j}上面的点(k,xi(k))(k,x_{i}(k))(k,xj(k))(k,x_{j}(k)),这两个点的Hamming距离越大,表示两条曲线距离越大,倒数也就越小。反过来,倒数越大,表示两个曲线之间的距离越小,因为曲线已经消除了量级之间的差异,则Hamming距离越小的曲线形态就越相似。因此,灰色关联度的本质其实是依据曲线态势相近程度来分辨数列的相关度。
    ④分辨率ρρ取值在[0,1]之间

    (3)定义数列相关度
    z(1)(k)=x(1)(k)+x(1)(k1)2k=2,3,4 z^{(1)}(k)=\frac{x^{(1)}(k)+x^{(1)}(k-1)}{2},k=2,3,4

    则称新数列z(1)=(z(1)(2),z(1)(3),...,z(1)(n))z^{(1)}=(z^{(1)}(2),z^{(1)}(3),...,z^{(1)}(n))x(1)x^{(1)}的紧邻均值数列。
    (4)定义GM(1,1)的灰微分方程
    由于ζji(k)ζ_{ji}(k)只能反映出点与点之间的相关性,相关性信息分散,不方便刻画数列之间的相关性,需要把它整合起来,所以我们在此,定义相关度:
    相关度
    如果把xix_{i}xjx_{j}之间的相关度写成矩阵形式,则有
    关联度的矩阵形式
    根据这个矩阵我们就可以很清楚得出,待比较数列从列可以看出其作用大小,参考数列从行可以看出其受影响程度的大小,而依据矩阵数值大小可以分析出比较数列矩阵中那些数列起到主要作用。比如某一列数值明显大于其他列,这样的数列叫做优势子因素,反之为劣势子因素;如果某一行数值明显大于其他行则称之为优势母因素,优势母因素比较敏感,容易受到子因素的驱动影响。

    MATLAB源码

    %灰色关联度矩阵模型
    clc;
    close;
    clear all;
    % 控制输出结果精度
    format short;
    % 原始数据,其中前五项为子因素,后两项为母因素
    x=[
    10	10	10	12	12	12	12	12	15	15	15	15	12	12	12	15	15	15	15	20	20	20	10	10	10	7	7	15	15	15	13	13	13	13	13	13
    1216.482	612.364	477.838	988.53	482.685	468.074	1263.494	1235.787	422.27	1276.28	494.07	464.21	454.431	736.462	530.722	507.105	1067.189	911.603	519.956	1703.432	1570.14	521.364	984.01	158.825	199.623	1536.96	402.327	305.36	1012.77	982.12	500	520	1100	1783.644	404.951	584.652
    910	910	910	707	707	707	707	707	1196	1196	1196	1196	1262	1262	1262	1004	1004	1004	1004	870	870	870	1023	1023	1023	1398	1398	1361	1361	1361	1702	1702	1702	1702	1702	1702
    804.35	804.35	804.35	877.89	877.89	877.89	877.89	877.89	785.66	785.66	785.66	785.66	788.43	788.43	788.43	818.99	818.99	818.99	818.99	841.59	841.59	841.59	874.38	874.38	874.38	823.76	823.76	784.29	784.29	784.29	764.43	764.43	764.43	764.43	764.43	764.43
    990.24	990.24	990.24	948.08	948.08	948.08	948.08	948.08	747.03	747.03	747.03	747.03	809.27	809.27	809.27	909.25	909.25	909.25	909.25	869.5	869.5	869.5	925.45	925.45	925.45	774.6	774.6	782.25	782.25	782.25	703.67	703.67	703.67	703.67	703.67	703.67
    20	20	20	26.5	26.5	26.5	26.5	26.5	21.8	21.8	21.8	21.8	22.5	22.5	22.5	17.98	17.98	17.98	17.98	16.7	16.7	16.7	22	22	22	19.6	19.6	30.5	30.5	30.5	22.8	22.8	22.8	22.8	22.8	22.8
    23.65	23.65	23.65	28	28	28	28	28	22.45	22.45	22.45	22.45	23.45	23.45	23.45	20	20	20	20	17	17	17	22.45	22.45	22.45	20	20	31.5	31.5	31.5	23	23	23	23	23	23
    ];
    n1=size(x,1);
    % 数据标准化处理
    for i = 1:n1
    x(i,:) = x(i,:)/x(i,1);
    end
    % 保存中间变量,亦可省略此步,将原始数据赋予变量data
    data=x;
    
    %% 分离数据
    % 分离参考数列(母因素)
    consult=data(6:n1,:);
    m1=size(consult,1);
    % 分离比较数列(子因素)
    compare=data(1:5,:);
    m2=size(compare,1);
    
    for i=1:m1
    for j=1:m2
    t(j,:)=compare(j,:)-consult(i,:);
    end
    min_min=min(min(abs(t')));
    max_max=max(max(abs(t')));
    % 通常分辨率都是取0.5
    resolution=0.5;
    % 计算关联系数
    coefficient=(min_min+resolution*max_max)./(abs(t)+resolution*max_max);
    % 计算关联度
    corr_degree=sum(coefficient')/size(coefficient,2);
    r(i,:)=corr_degree;
    end
    
    % 输出关联度值并绘制柱形图
    r
    bar(r,0.90);
    axis tight;
    legend('第一行','第二行','第三行','第四行','第五行');% 图例
    grid on;% 加入网格
    
    % 去掉X轴上默认的标签
    set(gca,'XTickLabel','');
    %  设定X轴刻度的位置,这里有2个母因素
    n=2;
    
    % 这里注意:x_range范围如果是[1 n]会导致部门柱形条不能显示出来,所以范围要缩一点
    x_value = 1:1:n;
    x_range = [0.6 n+.4];
    % 获取当前图形的句柄
    set(gca,'XTick',x_value,'XLim',x_range);
    
    % 在X轴上标记2个母因素
    profits={'第六行','第七行'};
    y_range = ylim;
    % 用文本标注母因素名称
    handle_date = text(x_value,y_range(1)*ones(1,n)+.018,profits(1:1:n));
    % y轴标记
    ylabel('影响程度');
    title('各项子因素对母因素的影响作用');
    
    
    展开全文
  • 产品健康度模型之指标关联性分析 我们这里做关联性分析的目的就是找出运维指标和运营指标的相关程度。这里重新贴一下指标的结构图:    指标离散化 这里需要说明的是,这些指标可能是连续的,也有可能是离散的...

    产品健康度模型之指标关联性分析

      我们这里做关联性分析的目的就是找出运维指标和运营指标的相关程度。这里重新贴一下指标的结构图:
      指标
      

    指标离散化

      这里需要说明的是,这些指标可能是连续的,也有可能是离散的,比如我们有运维指标a,b,c,以及运营指标d,e,这些指标都有可能是离散的或者连续的,并且我们的目标是将运维和运营指标两两计算关联性。这里我们就需要计算{a,d},{a,e},{b,d},{b,e},{c,d},{c,e}之间得关联性。
      当然,我们完全可以分情况讨论,对于离散VS离散、离散VS连续、连续VS连续指标分别采用不同的关联性分析的方法,但是分别采用不同的方法,那么关联性数值之间的又不具备可比性,在后面我们发现,我们需要这些关联性都是同质的特征。
      对于离散VS离散、离散VS连续、连续VS连续指标这三种情况,我们的处理就是将连续的指标离散化,这样就将问题转换成了衡量两个离散指标的概率依赖的问题。
      但是指标怎样进行离散化呢,对于连续指标aa的最大值为vmax,最小值为{v_{min}},我们找出间于最大值和最小值之间的n个值{v1,v2,...,vn},这样就形成了n+1个区间,我们这里的约束是每个区间的样本数是一样的。下面我们画出a的概率分布图,以及n=4的分段情况:
      分段
      这里我们保证每个区间的样本量相等的原因在于,很多连续值的指标分布很不均匀,或者存在很多异常值,而大部分样本分布在相对来说小的多的值区间内,用这种方法,我们可以保证每个离散值都代表等量的样本数。

    基于”互信息”的关联性分析

      其实前面已经讲过了皮尔森相关系数,这是一种衡量线性相关性的方法,但是我们这里存在离散特征,所以我们最终决定用概率依赖的方式来计算指标相关性。
      这样做的原因就是,在”样本数量很大“的情况下,任何相关性都会表现出概率依赖的特点,反过来讲,如果两个变量不存在概率依赖,那么这两个变量之间就是独立的,从而不会有任何相关关系(逆反命题)。
      我们知道互信息的计算公式为:
      I(x,y)=xXyYp(x,y)logp(x,y)p(x)p(y)
      并且有I(x,y)=H(x)H(x|y)=H(y)H(y|x)=H(x)+H(y)H(x,y)
      这里涉及到熵,联和熵、条件熵的概念,先关概念大家可以去维基百科一下。
      互信息经常在特征选择中用到,比如对于结果指标R,将一众指标计算和他的互信息,值越大说明非独立的成分越大(H(R)H(R|?)越大),所以选择出值更大的特征。同样的,我们对于每个运营指标R,做这样的特征筛选,不过为了保证统一性,我们设置筛选的阈值T,只要I(R,?)H(R)>T,我们就认为?这个运维特征可用。
      接下来,我们需要记住根据每个运营指标所选出来的运维指标名单和相关程度{运营指标->{{运维指标a,0,6},{运维指标c,0,4},…}}。
      也就是说每个运维指标可能在不只一个运营指标的名单中,以不同的权值出现,这个要留待后面用。
      
      

    展开全文
  • 灰色关联度分析

    千次阅读 多人点赞 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 ~

    展开全文
  • MATLAB灰色关联度分析

    千次阅读 2019-12-08 10:06:29
    灰色关联度分析(Grey Relation Analysis,GRA),是一种多因素统计分析的方法。简单来讲,就是在一个灰色系统中,我们想要了解其中某个我们所关注的某个项目受其他的因素影响的相对强弱,再直白一点,就是说:我们...
  • 很多甲方都会提关联分析,但你要在细问要什么样的关联分析,估计大多数甲方都不太能详细说出来,很多乙方对此也是藏着掖着,可能也是核心机密不愿意细说。下面就来聊一下我对关联分析模型的一点思考。 一、概述 ...
  • 灰色关联分析,从其思想方法上来看,属于...用于度量因素之间关联程度的灰色关联度,就是通过对因素之间的关联曲线的比较而得的。除了传统的Excel可以进行关联分析外,还可以用现有的软件进行分析 实现界面 ...
  • 内容 ...IBM SPSS 软件家族预测分析模型的商业应用初探系列 ...Statistics 和 Modeler作为 IBM SPSS 软件家族中重要的成员,是专业的科学统计、数据挖掘分析工具,其具有功能强大,应用广泛...Statistics中的模型
  • 个简单的demo记录下,防止忘记 先看原始数据: ...关联度分析代码: # -*- coding: utf-8 -*- from numpy import array import pandas as pd import seaborn as sns from matplotlib impo...
  • CMM是指“能力成熟度模型”,其英文全称为CapabilityMaturityModelforSoftware,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把...
  • 理查德森成熟度模型(Richardson Maturity Model) - 通往真正REST的步骤原文地址: Richardson Maturity Model - steps toward the glory of REST最近我在阅读Rest In Practice的草稿,这本书由我的一些同事撰写。...
  • A对B的提升为:0.67/0.75 = 0.89 即以A作为前提,对B出现的概率有什么影响,如果提升为1说明AB没有任何关联,如果小于1说明AB是互斥的,如果大于1,认为AB是有关联的,但在具体任务中认为提升大于3才是值得...
  • Gartner推出了BI成熟度模型,帮助企业应用“ITScore for BI and Analytics”进行成熟度评估,明确自己当前的特征,所处阶段,以及采取哪些步骤才能进入下一个阶段,让企业的BI和数据分析平台建设有路可循,有法可依...
  • 算法模型---关联规则挖掘学习

    千次阅读 2018-06-11 19:13:54
    关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。随着大量数据不停地收集和存储,许多业界人士对于从他们的数据库中挖掘关联规则越来越感兴趣。从大量商务事务记录中发现有趣的关联关系,可以帮助许多商务...
  • 这一篇就简单介绍一下灰色关联分析吧。...事实上越往后学,例如多元回归分析、运筹学相关、时间序列分析、各类预测模型、聚类分类等等,都涉及到很多有难度的数学推导。我自己即使有所理解和学习,但想要比较简单易
  • 层次数据模型     定义:层次数据模型是用树状<层次>结构来组织数据的数据模型。     满足下面两个条件的基本层次联系的集合为层次模型     1. 有且只有一个结点没有双亲结点,这个结点称为根结点...
  • 现在针对逻辑数据模型中所用到的三种数据模型---层次数据模型、网状数据模型以及关系数据模型做一个相信的介绍与对比分析。 一、层次数据模型 定义:层次数据模型是用树状&lt;层次&gt;结构来表示实体类型...
  • 最大熵模型The Maximum Entropy:模型

    千次阅读 2016-10-11 17:09:52
    最大熵模型相关的基础知识 [概率论:基本概念CDF、PDF ] 熵定义为: [信息论:熵与互信息 ] [最优化方法:拉格朗日乘数法 ] [参数估计:贝叶斯思想和贝叶斯参数估计 ] [参数估计:最大似然估计MLE ] 皮皮blog ...
  • 在进行数据分析过程中,我们通常需要使用各种模型来证明自己的分析观点,使自己的结论更具备说服力,同时也让自己的论证思路更具备逻辑性和条理性。 今天老李就给罗列了6个常用的数据分析模型,并附上实际的案例...
  • 通俗理解LDA主题模型

    万次阅读 多人点赞 2014-11-17 16:11:58
    通俗理解LDA主题模型 0 前言 印象中,最开始听说“LDA”这个名词,是缘于rickjin在2013年3月写的一个LDA科普系列,叫LDA数学八卦,我当时一直想看来着,记得还打印过一次,但不知是因为这篇文档的...
  • 大家打开某宝,会发现,购物网站越来越懂我们了,推荐的商品正好就是我们想买的。其实这里面用到了数据挖掘中的关联规则...应用目标:从订单数据集中找出关联度较高的商品。 创建数据集 下图的数据集为某商城的订单数
  • 2. 关于灰色关联度那些事 3. GM(1,1)模型简介以及相关实现 4. GM(1,N)模型简介以及相关实现、 5,模型检验 一、灰色系统概论 a 、概念来源: 灰色系统理论(Grey System Theory)的创立源于20世纪80年代。邓聚龙...
  • 2.1 维度模型 2.1.1 星型模型 2.1.2 雪花模型 2.1.3星座模型 2.2 范式模型 2.3 Data Vault模型 2.4 Anchor模型
  • – 预测评分准确、预测评分关联、分类准确、排序准确 第二层次:商业应用上的关键表现指标 – 用户受推荐影响后的转化率、客单价、购买品类数和活跃等的变化 第三层次:用户真实体验 推荐系统特殊评价指标...
  • 测试持续集成一直同自动化测试相关联。这在马丁福勒的文章或更早期Steven McConnell对日构建和冒烟测试的相关实践描述中都有提及。而且在企业持续集成的领域中,我们会考虑很多种类型的自动化测试和手工测试。尽管如...
  • logistic回归模型

    千次阅读 多人点赞 2020-04-13 17:44:45
    从这一期开始,我们准备介绍一系列机器学习算法模型,主要包括logistic回归,决策树,随机森林,关联规则,朴素贝叶斯,支持向量机模型,隐式马尔可夫模型,因子分析,主成分分析,聚类,多元线性回归,时间序列,...
  • 灰色关联分析

    千次阅读 2018-09-05 13:56:55
    灰色关联分析:对于两个系统之间的因素,其随时间或不同对象而变化的关联性大小的量度,称为关联度。在系统发展过程中,若两个...灰色关联度分析模型的建模思想:灰色关联度分析法是一种多因素统计分析方法,它是...
  • 主题模型TopicModel:Unigram、LSA、PLSA模型

    万次阅读 热门讨论 2015-01-09 20:49:55
    主题模型历史 Papadimitriou、Raghavan、Tamaki和Vempala在1998年发表的一篇论文中提出了潜在语义索引。1999年,Thomas Hofmann又在此基础上,提出了概率性潜在语义索引(Probabilistic Latent Semantic Inde...
  • 前面几篇介绍了关联规则的一些基本概念和两个基本算法,但实际在商业应用中,写算法反而比较少,理解数据,把握数据,利用工具才是重要的,前面的基础篇是对算法的理解,这篇将介绍开源利用数据挖掘工具weka进行管理...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 109,291
精华内容 43,716
关键字:

关联度模型怎么做