【数学建模】灰色关联分析 + Matlab代码实现

您所在的位置:网站首页 gray代码 【数学建模】灰色关联分析 + Matlab代码实现

【数学建模】灰色关联分析 + Matlab代码实现

2023-07-22 06:24| 来源: 网络整理| 查看: 265

文章目录 一、学习内容:二、学习时间:三、学习产出:3.1 灰色关联分析基本思想3.2 运用灰色关联分析的基本步骤3.3 灰色关联分析代码实现(Matlab)3.3.1 应用一:分析产业对GDP的影响程度3.3.2 应用二:灰色关联分析评价河流情况 3.4 补充:如何导入数据3.5 总结

一、学习内容: 灰色关联分析的基本思想运用灰色关联分析的基本步骤灰色关联分析代码实现(Matlab) 二、学习时间:

2020.12.11

三、学习产出: 3.1 灰色关联分析基本思想

在这里插入图片描述

3.2 运用灰色关联分析的基本步骤 确定分析数列 母序列(又称参考数列,母指标):能反映系统行为特征的数据序列——>类似与因变量Y子序列(又称比较数列,子指标):影响系统行为的因素组成的数据序列——>类似与自变量X 对变量进行预处理(去量纲,缩小变量范围,简化计算),先求出每个指标列的均值,再用该指标列的每一个元素都除以该指标列的均值用子序列中每一个元素减去对应母序列中同一行的那个元素,并取绝对值,由此得到一个新矩阵new_X。记a为矩阵中的最小元素,b为矩阵中的最大元素,分辨系数ro通常为0.5,那么每一个元素对应母序列的关联系数为 a+ro*b./(new_X+ro*b)然后,我们再对得到的关联系数矩阵求每一列均值,得到的最后结果gamma就是每一个指标对于母序列的灰色关联度 3.3 灰色关联分析代码实现(Matlab) 3.3.1 应用一:分析产业对GDP的影响程度

数据:

在这里插入图片描述

由于第一产业、第二产业、第三产业的量纲相同,去量纲步骤可以跳过。大家在使用时需要注意自己的数据量纲是否相同。

%% 应用一:分析产业对GDP的影响程度 clear;clc; load data.mat; r = size(data,1); c = size(data,2); %第一步,对变量进行预处理,消除量纲的影响(大家在使用时需要注意自己的数据量纲是否相同) %avg = repmat(mean(data),r,1); %data = data./avg; %定义母序列和子序列 Y = data(:,1); %母序列 X = data(:,2:c); %子序列 Y2 = repmat(Y,1,c-1); %把母序列向右复制到c-1列 absXi_Y = abs(X-Y2) a = min(min(absXi_Y)) %全局最小值 b = max(max(absXi_Y)) %全局最大值 ro = 0.5; %分辨系数取0.5 gamma = (a+ro*b)./(absXi_Y+ro*b) %计算子序列中各个指标与母序列的关联系数 disp("子序列中各个指标的灰色关联度分别为:"); ans = mean(gamma)

输出结果为:

子序列中各个指标的灰色关联度分别为: ans = 0.7319 0.8983 0.8518 3.3.2 应用二:灰色关联分析评价河流情况

数据:

在这里插入图片描述

%应用二:灰色关联分析评价河流情况 clear;clc; load X.mat; %获取行数列数 r = size(X,1); c = size(X,2); %首先,把我们的原始指标矩阵正向化 %第二列中间型--->极大型 middle = input("请输入最佳的中间值:"); M = max(abs(X(:,2)-middle)); for i=1:r X(i,2) = 1-abs(X(i,2)-middle)/M; end %第三列极小型--->极大型 max_value = max(X(:,3)); X(:,3) = abs(X(:,3)-max_value); %第四列区间型--->极大型 a = input("请输入区间的下界:"); b = input("请输入区间的下界:"); M = max(a-min(X(:,4)),max(X(:,4))-b); for i=1:r if (X(i,4)复制)除题头外的数据 在这里插入图片描述 在matlab中的变量内部的左上角,右键->粘贴 在这里插入图片描述 在这里插入图片描述 将变量data另存为data.mat文件(注意:需要存在和你代码的同一目录下) 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 然后就可以全选代码,右键运行啦! 在这里插入图片描述

3.5 总结 灰色关联分析法的优势在于,它弥补了采用数理统计方法系统分析所导致的缺憾,对样本量的多少和样本有无规律都适用,而且计算量小,十分方便,更不会出现与定性结果不符合的情况。但是灰色关联分析仅在我国有部分学者使用,在国际上并没有得到太多认可,而且当数据量较大的时候,使用标准化回归的方法是更好的选择,只有在数据很少万不得已的情况下,才考虑灰色关联分析,当然,你也可以两者综合考虑。值得一提的是,在灰色关联分析中,母序列有多个的情况,我们只需要分开计算即可,也就是说,每一个母序列,都对应一个完整的子序列。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3