赞
踩
本次笔记内容内容来自清风老师的课程整理,增加了一些拓展资源以及自己的见解,如有侵权请联系删除。清风老师的数学建模课程可以在B站搜索到。
本文给出了excel和matlab两种计算灰色关联度的过程详解。
拓展链接: https://www.toutiao.com/i6818157258032022023/
系统分析:一般的抽象系统包含很多影响因素,多种因素的共同作用结果决定了该系统的发展态势。如社会系统、经济系统、农业系统、生态系统、教育系统等等。
探究因变量,需要很多的自变量来解释,就需要找到很多影响因素。
上述三种分析方法的不足之处:
在以往的研究中,多因素统计分析常采用相关与回归的方法。在进行多元回归时,要求样本足够大,且须呈典型分布,其计算量大,过程复杂繁琐。实际中,超过两个自变量的回归分析已不便手算,虽可借助计算机,但由于回归分析主要是数据幂、和、积和等的运算,计算过程中的误差可导致严重错误,使因素间的本质联系受到歪曲。
参考文献:谭学瑞, 邓聚龙. 灰色关联分析;多因素统计分析新方法[J]. 统计研究, 1995, 000(003):46-48.
优势:灰色关联分析对样本量的多少和样本有无规律都同样适用,而且计算量小,不会出现量化结果与定性分析结果不符的情况。
思想:根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线越接近,相应序列之间的关联度就越大,反之就越小。
灰色关联方法是灰色系统理论中新的分析方法,它根据因素间的相似或相异程度,来衡量因素之间的关联度,克服了传统数学评价模型方法的局限性。但是在指标权重确定上过于主观,可以采用熵权法等客观求权重的方法对权重进行确定。
参考:刘思峰. 灰⾊系统理论及其应用(第五版)[M]. 北京: 科学出版社, 2010: 62.
张凤太, 苏维词, 周继霞. 基于熵权灰色关联分析的城市生态安全评价[J]. 生态学杂志, 2008(07):193-198.
百度百科解释:
对于两个系统之间的因素,其随时间或不同对象而变化的关联性大小的量度,称为关联度。在系统发展过程中,若两个因素变化的趋势具有一致性,即同步变化程度较高,即可谓二者关联程度较高;反之,则较低。因此,灰色关联分析方法,是根据因素之间发展趋势的相似或相异程度,亦即“灰色关联度”,作为衡量因素间关联程度的一种方法。
分析哪一种产业对GDP总量影响最大。
产业数据
如果用回归分析,数据太小了,结果可能不显著。
下面是计算过程:
第一步:确定分析数列
确定反映系统行为特征的参考数列和影响系统行为的比较数列。反映系统行为特征的数据序列,称为参考数列。影响系统行为的因素组成的数据序列,称比较数列。
(1)参考数列(又称母序列)为X0=X0(k)∣k=1,2...n;
(2)比较数列(又称子序列)为Xi=Xi(k)∣k=1,2...n,i=1,2...m
确定分析数列(博客园图片)
确定分析数列(清风老师解释)
在本例中,国内生产总值是母序列(类似于因变量);第一、二、三产业是子序列(类似于自变量)。
第二步:对变量进行预处理(去量纲,缩小变量范围简化计算)
量纲:有单位表示的属性
无量纲:没有单位,只有数字意义
对母序列和子序列中的每个指标进行预处理:先求出每个指标的均值,再用该指标中的每个元素都除以其均值(均值化处理)。
公式:
无量纲化处理(图片来自CSDN)
excel中计算过程:
无量纲化处理的过程
第三步:计算子序列中各个指标与母序列的关联系数
计算关联系数步骤(图片来自CSDN博客)
(一)X0为子序列,X1、X2、X3为子序列。a表示两级最小差,b表示两级最大差。如何求解a、b 呢?
求a和b
excel中计算过程:比如需要计算第一个数0.8361的两极差,公式:=ABS(C10-$B10)
(二)求出a、b后就可以计算各个指标与母序列的关联系数。
关联系数求解
|x0(k)-xi(k)|为上面“求a和b”计算的表格。即为“用每一行的每个子序列中的数与母序列相减”。
计算结果:
关联系数计算结果
第四步:求灰色关联度
灰色关联度(CSDN博客)
灰色关联度为每一列的关联系数的平均值。
灰色关联度
结论:可以得到第一产业与国内生产总值的灰色关联度为0.5084,第二产业与国内生产总值的灰色关联度为0.6243,第三产业与国内生产总值的灰色关联度为0.7573.
灰色关联度越大,对母序列的影响越大。
通过比较三个子序列和母序列的关联度可以得到结论,该地区在2000~2005年间的国内生产总值受到第三产业的影响最大(因为其灰色关联度最大)。
%% 导入数据(数据和代码需要在一个文件夹下) clear;clc load gdp.mat % 导入数据 一个6*4的矩阵 %% 均值化处理 Mean = mean(gdp); % 求出每一列的均值以供后续的数据预处理 gdp = gdp ./ repmat(Mean,size(gdp,1),1); %size(gdp,1)=6, repmat(Mean,6,1)可以将矩阵进行复制,复制为和gdp同等大小,然后使用点除(对应元素相除),这些在第一讲层次分析法都讲过 disp('预处理后的矩阵为:'); disp(gdp) %% 关联系数计算 Y = gdp(:,1); % 母序列 X = gdp(:,2:end); % 子序列 absX0_Xi = abs(X - repmat(Y,1,size(X,2))) % 计算|X0-Xi|矩阵(在这里我们把X0定义为了Y) a = min(min(absX0_Xi)) % 计算两级最小差a b = max(max(absX0_Xi)) % 计算两级最大差b rho = 0.5; % 分辨系数取0.5 gamma = (a+rho*b) ./ (absX0_Xi + rho*b) % 计算子序列中各个指标与母序列的关联系数 disp('子序列中各个指标的灰色关联系数为:') disp(gamma) %% 灰色关联度计算 disp('子序列中各个指标的灰色关联度分别为:') disp(mean(gamma))
matlab计算结果
当样本个数n较大时,一般使用标准化回归,当样本个数n较少时,采用灰色关联分析。
例如Y1、Y2 是母序列,X1、X2、X3……Xn为子序列。可以首先计算Y1和子序列之间的灰色关联度,再计算Y2和子序列之间的灰色关联度。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。