【数学建模】清风数模更新5 灰色关联分析

灰色关联分析综述

诸如经济系统、生态系统、社会系统等抽象系统都包含许多因素,系统整体的发展受各个因素共同影响。

为了更好地推动系统发展,我们需要清楚哪些因素是主要的,哪些是次要的,哪些是积极的,哪些是消极的,这就要求我们进行系统分析。

数理统计中的系统分析方法包括回归分析、方差分析和主成分分析,它们都存在一些不足之处,当数据样本较少时,灰色关联分析方法可以较好地克服那些不足。

因此,当样本个数较大时,一般使用标准化回归;当样本个数较少时,才使用灰色关联分析。

灰色关联分析的基本思想,是根据序列曲线的几何形状的相似程度来判断其联系是否紧密,曲线越接近,相似序列之间的关联度就越大,反之就越小。

接下来我们用两个例题来介绍一下灰色关联分析的两种应用。

应用一:进行系统分析

【数学建模】清风数模更新5 灰色关联分析_第1张图片

 第一步:画统计图并分析

【数学建模】清风数模更新5 灰色关联分析_第2张图片

 由图可知:

  1. 四个变量均呈上升趋势;
  2. 第二产业的增幅较为明显;
  3. 第二产业和第三产业的差距在后三年相差更大。

第二步:确定分析数列

母序列(参考数列、母指标):能反映系统行为特征的数据序列。类似于因变量Y,这里记作X0

子序列(比较序列、子指标):影响系统行为的因素组成的数据序列。类似于自变量X,记作X1~Xn

在例题中,国内生产总值就是母序列,第一、第二和第三产业就是子序列。

第三步:对变量进行预处理

目的:去量纲,缩小变量范围以简化计算。

对母序列和子序列中的每个指标进行预处理先求出每个指标的均值,再用该指标的每个元素除以其均值

【数学建模】清风数模更新5 灰色关联分析_第3张图片

 第四步:计算子序列中各个指标与母序列的关联系数

【数学建模】清风数模更新5 灰色关联分析_第4张图片

 第五步:求出灰色关联度

 第六步:比较关联度,得出结论

对这个例题来说,该地区在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(mean(gamma))

应用二:综合评价问题

题目:评价下表中20条河流的水质情况。(用Topsis结合熵权法也可以解决)

【数学建模】清风数模更新5 灰色关联分析_第5张图片

 解题步骤

  1. 对指标正向化
  2. 对正向化后的矩阵进行预处理
  3. 将预处理后的矩阵每一行取出最大值构成母序列
  4. 计算各个指标与母序列的灰色关联度
  5. 计算各个指标灰色关联度的权重
  6. 计算各个评价对象的得分(用权重计算)
  7. 对得分进行归一化

【数学建模】清风数模更新5 灰色关联分析_第6张图片

你可能感兴趣的:(数学建模,数学建模,matlab)