spss进行灰色关联分析_灰色关联度分析

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

1.灰色关联度定义

2.灰色关联度如何计算

3.Matlab程序详细解析

1.灰色关联度定义

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

spss进行灰色关联分析_灰色关联度分析_第1张图片
图1

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

2.灰色关联度如何计算

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

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

spss进行灰色关联分析_灰色关联度分析_第2张图片
图2

spss进行灰色关联分析_灰色关联度分析_第3张图片
图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。

spss进行灰色关联分析_灰色关联度分析_第4张图片
图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

spss进行灰色关联分析_灰色关联度分析_第5张图片
ρ=0.1时的灰色关联系数

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

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

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

你可能感兴趣的:(spss进行灰色关联分析)