三、数学建模之灰色关联分析【清风数学建模个人笔记】
目录
灰色关联分析概述
应用一:进行系统分析
什么是系统分析
步骤
代码
应用二用于综合评价
步骤:
灰色关联分析概述
当样本个数n较大时使用标准化回归;当样本个数n较少时,才使用灰色关联分析
系统分析的方法:回归分析、方差分析、主成分分析等
灰色关联分析对样本量的多少和样本有误规律都同样适用,而且计算量小,十分方便,更不会出现量化结果与定性分析结果不相符的情况
灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线越接近,相应序列之间的关联程度就越大,犯组织就越小
综合评价的方法:层次分析法,优劣解距离法等
应用一:进行系统分析
什么是系统分析
一般的抽象系统,如社会系统、经济系统、农业系统、生态系统、教育系统等都是多种因素共同作用的结果决定了该系统的发展态势。在这些众多因素中,哪些是主要因素,哪些是次要因素;哪些因素对系统发展影响大,哪些影响小;哪些因素对系统发展起推动作用需强化发展,哪些因素对系统发展起阻碍作用需加以抑制
步骤
例题:
下表为某地区国内生产总值的统计数据(以百万元计),问该地区从2000年到2005年之间哪一种产业对GDP总量影响最大。
年份 |
国内生产总值 |
第一产业 |
第二产业 |
第三产业 |
2000 |
1988 |
386 |
839 |
763 |
2001 |
2061 |
408 |
846 |
808 |
2002 |
2335 |
422 |
960 |
953 |
2003 |
2750 |
482 |
1258 |
1010 |
2004 |
3356 |
511 |
1577 |
1268 |
2005 |
3806 |
561 |
1893 |
1352 |
第一步画统计图
画图分析
第二步确定分析序列
第三步对变量进行预处理
先求出每个指标的均值,再用该指标中的每个元素都除以其均值
目的:去量纲、缩小变量范围简化计算
第四步计算序列中各个指标与母序列的关联系数
第五步计算灰色关联度
本例中n=6,m=3
两极最小差:每一个子序列与母序列作差后求绝对值
灰色关联度:对第四步求出的关联度表格求算术平均值,该值为该子序列与母序列的灰色关联度
第六步比较三个子序列与母序列的关联度得出结论
美赛不推荐用
代码
load gdp.mat % 导入数据 一个6*4的矩阵
% 不会导入数据的同学可以看看第二讲topsis模型,我们也可以自己在工作区新建变量,并把Excel的数据粘贴过来
% 注意Matlab的当前文件夹一定要切换到有数据文件的这个文件夹内
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))
应用二用于综合评价
例题:
步骤:
第五步相当于归一化,归一化后更方便分析
%% 灰色关联分析用于综合评价模型例题的讲解
clear;clc
load data_water_quality.mat
% 不会导入数据的同学可以看看第二讲topsis模型,我们也可以自己在工作区新建变量,并把Excel的数据粘贴过来
% 注意Matlab的当前文件夹一定要切换到有数据文件的这个文件夹内%% 判断是否需要正向化
[n,m] = size(X);
disp(['共有' num2str(n) '个评价对象, ' num2str(m) '个评价指标'])
Judge = input(['这' num2str(m) '个指标是否需要经过正向化处理,需要请输入1 ,不需要输入0: ']); %1if Judge == 1Position = input('请输入需要正向化处理的指标所在的列,例如第2、3、6三列需要处理,那么你需要输入[2,3,6]: '); %[2,3,4]disp('请输入需要处理的这些列的指 标类型(1:极小型, 2:中间型, 3:区间型) ')Type = input('例如:第2列是极小型,第3列是区间型,第6列是中间型,就输入[1,3,2]: '); %[2,1,3]% 注意,Position和Type是两个同维度的行向量for i = 1 : size(Position,2) %这里需要对这些列分别处理,因此我们需要知道一共要处理的次数,即循环的次数X(:,Position(i)) = Positivization(X(:,Position(i)),Type(i),Position(i));% Positivization是我们自己定义的函数,其作用是进行正向化,其一共接收三个参数% 第一个参数是要正向化处理的那一列向量 X(:,Position(i)) 回顾上一讲的知识,X(:,n)表示取第n列的全部元素% 第二个参数是对应的这一列的指标类型(1:极小型, 2:中间型, 3:区间型)% 第三个参数是告诉函数我们正在处理的是原始矩阵中的哪一列% 该函数有一个返回值,它返回正向化之后的指标,我们可以将其直接赋值给我们原始要处理的那一列向量enddisp('正向化后的矩阵 X = ')disp(X)
end%% 对正向化后的矩阵进行预处理
Mean = mean(X); % 求出每一列的均值以供后续的数据预处理
Z = X ./ repmat(Mean,size(X,1),1);
disp('预处理后的矩阵为:'); disp(Z)%% 构造母序列和子序列
Y = max(Z,[],2); % 母序列为虚拟的,用每一行的最大值构成的列向量表示母序列【max()函数用法自己搜吧】
X = Z; % 子序列就是预处理后的数据矩阵%% 计算得分
absX0_Xi = abs(X - repmat(Y,1,size(X,2))) % 计算|X0-Xi|矩阵
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) % 计算子序列中各个指标与母序列的关联系数
weight = mean(gamma) / sum(mean(gamma)); % 利用子序列中各个指标的灰色关联度计算权重
score = sum(X .* repmat(weight,size(X,1),1),2); % 未归一化的得分
stand_S = score / sum(score); % 归一化后的得分
[sorted_S,index] = sort(stand_S ,'descend') % 进行排序
三、数学建模之灰色关联分析【清风数学建模个人笔记】相关推荐
- 数学建模之灰色关联分析(GRA)
本文参考的是司守奎,孙兆亮主编的数学建模算法与应用(第二版) 灰色关联分析不仅能够用做关联分析,也能够用于评价. 其具体分析步骤如下: 第一步,需要确定评价对象和参考数列. 评价对象一般指的就是待分析 ...
- 数学建模之灰色关联分析
灰色关联分析 灰色关联分析的基本思想 是根据序列曲线几何形状的相似程度来判断其联系是否紧密,曲线越接近,相应序列之间的关联度就越大,反之则越小. 此方法可用于 进行系统分析,也可应用于对问题进行综合评 ...
- 【数学建模】灰色关联分析 + Matlab代码实现
文章目录 一.学习内容: 二.学习时间: 三.学习产出: 3.1 灰色关联分析基本思想 3.2 运用灰色关联分析的基本步骤 3.3 灰色关联分析代码实现(Matlab) 3.3.1 应用一:分析产业对 ...
- 《零基础数学建模》——灰色关联分析(GRA)关于系统分析与综合评价的应用
目录 前言 一.模型定义 二.模型思想 三.模型实现与应用 应用一:系统分析 step1:指标正向化step1:指标正向化step1:指标正向化 step2:确定分析数列step2:确定分析数列s ...
- 关联矩阵古林法的matlab代码,[转载][原创]灰色关联分析及Matlab程序实现
灰色系统理论由我国著名学者邓聚龙教授于1982提出.灰色关联分析是灰色系统理论的一个分支,应用灰色关联分析方法对受多种因素影响的事物和现象从整体观念出发进行综合评价是一个被广为接受的方法. 一.灰色关 ...
- matlab读取jra55数据,[转载][原创]灰色关联分析及Matlab程序实现
灰色系统理论由我国著名学者邓聚龙教授于1982提出.灰色关联分析是灰色系统理论的一个分支,应用灰色关联分析方法对受多种因素影响的事物和现象从整体观念出发进行综合评价是一个被广为接受的方法. 一.灰色关 ...
- 关于灰色关联分析以及灰色预测初步理解
前言 最近初步的学习了灰色关联分析跟灰色预测的知识,做个简要的笔记 一.灰色关联分析 1.引言 我们分析的问题都存在很多指标,也可以说是多种系统作用因素共同决定,当我们准备做出决定时,会找到哪个变量对 ...
- 清风数学建模学习笔记——灰色关联分析(GRA)详细解读与案例分析
灰色关联分析 灰色关联分析的基本思想 是根据序列曲线几何形状的相似程度来判断其联系是否紧密,曲线越接近,相应序列之间的关联度就越大,反之则越小. 此方法可用于 进行系统分析,也可应用于对问题 ...
- 数学建模笔记——灰色关联分析
灰色关联分析是什么 灰色关联分析同层次分析法和TOPSIS法一样,可以用来进行系统分析的方法.但与其他方法不同的是灰色关联分析对样本数量要求不高,计算量较小,且不会出现量化结果与定性分析结果不符的情况 ...
- [数学建模]灰色关联分析--系统分析
建模算法整理,文章主要介绍了 灰色关联分析.两个作用, 一是进行系统分析,判断影响系统发展的因素的重要性. 二是用于综合评价问题,给出研究对象或者方案的优劣排名. 本文主要介绍第一个应用 参考学习资料 ...
最新文章
- Linux服务器安装JDK、Tomcat配置web网站
- Docker Hub 官方仓库发布编程语言包
- 104.路由协议有哪些?
- linux进程卡住_鸿蒙系统,Linux? Android?
- Highcharts 中文参考文档
- Couldn't find leader offsets for Set([smt,0], [smt,1], [smt,2])
- oracle中用户连接相关
- 前端学习(2030)vue之电商管理系统电商系统之提交代码
- [sh]shift参数左移用法
- asp连接linux下的oracle,如何从ASP连接到Oracle Server?
- 腾讯云弹性微服务TEM
- 千兆以太网交叉线_什么是交叉以太网电缆? 比较交叉与跳线
- GPT:Improving Language Understanding by Generative Pre-Training(2018-6-12)
- 大数据挖掘永恒的定律?符号回归(Symbolic Regressor)
- ZSL (zero shutter lag)
- 2018年全国多校算法寒假训练营练习比赛(第二场)A	吐泡泡 【模拟】
- datax安装记录备忘
- 利用LSTM进行空气指数预测
- android mediaserver Stagefright 漏洞分析
- 免费获得微软MCSD证书