东莞网站建设 光龙企业关键词优化公司
news/
2025/9/28 0:19:31/
文章来源:
东莞网站建设 光龙,企业关键词优化公司,浙江进出口贸易公司名录,网站备案要注意什么系统分析:
一般的抽象系统#xff0c;如社会系统#xff0c;经济系统#xff0c;农业系统#xff0c;生态系统#xff0c;教育系统等都包含有许多种因素#xff0c;多种因素共同作用的结果决定了该系统的发展态势。人们常常希望知道在众多的因素中#xff0c;哪些是主要… 系统分析:
一般的抽象系统如社会系统经济系统农业系统生态系统教育系统等都包含有许多种因素多种因素共同作用的结果决定了该系统的发展态势。人们常常希望知道在众多的因素中哪些是主要因素哪些是次要因素哪些因素对系统发展影响大哪些因素对系统发展影响小那些因素对系统发展起推动作用需强化发展那些因素对系统发展起阻碍作用需加以抑制……这些都是系统分析中人们普遍关心的问题。例如粮食生产系统人们希望提高粮食总产量而影响粮食总产量的因素是多方面的有播种面积以及水利化肥土壤种子劳力气候耕作技术和政策环境等。为了实现少投入多产出并取得良好的经济效益社会效益和生态效益就必须进行系统分析。
数理统计的不足之处 灰色关联的基本思想 灰色关联分析原理灰色关联分析Grey Relational Analysis是一种用于研究变量之间关联性的方法特别适用于样本数据较少、样本特征缺失或数据质量不高的情况下。它是由灰色系统理论发展而来旨在分析和描述变量之间的关联程度。
在灰色关联分析中首先将各个变量的数据进行数值化常采用标准化或归一化的方法将变量的取值范围转化为[0, 1]之间。然后通过计算变量之间的关联度确定它们之间的关联程度。
灰色关联分析的步骤主要包括以下几个方面 1.数据标准化将原始数据进行标准化处理通常采用归一化或标准化方法使得各个变量具有相同的数值范围。
2.构建关联系数矩阵计算各个变量之间的关联系数一般采用灰色关联度或灰色斜率关联度。关联系数表示了变量之间的相对关联程度。
3.确定关联度序列根据计算得到的关联系数确定关联度序列即将各个变量按照关联度的大小排序。
4.确定关联度权重根据关联度序列计算关联度权重即各个变量在总关联系数中的贡献比例。
5.计算灰色关联度通过将各个变量的关联系数与关联度权重相乘并进行累加计算出灰色关联度。灰色关联度可以反映变量之间的关联程度。 通过灰色关联度的计算可以得到各个变量之间的关联情况进而进行数据分析和决策支持。灰色关联分析常被应用于多个领域包括经济、管理、环境、工程等用于评估指标之间的关联强度、寻找关键因素等。
需要注意的是灰色关联分析的结果是相对的不具备精确的定量意义应结合实际问题和其他分析方法进行综合评估和判断。
例题以及Excel的实操在excel中选择数据-插入-推荐图标-修改信息。 2.确定分析数列
母序列能反映系统特征值的数据序列类似于因变量Y此处记为X0
子序列有影响系统行为的因素组成的数据序列。类似于自变量x此处记为x1x2……xm 3.对变量进行预处理
目的去量纲缩小变量范围简化计算。
方法每个元素/所在列的列向量的均值。 4.计算子序列中各个指标与母序列的关联系数
先求每子列元素与母列之间差的绝对值在求出矩阵中所有元素的最小值a和最大值b。且取分辨系数p/rho0.5
在通过公式计算 5.求灰色关联度
公式每列子序列与母序列关联系数的均值。
6.分析结果进行总结。 MATLAB代码实现
参考代码
%% 灰色关联分析用于系统分析例题的讲解
clear;clc
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 (arho*b) ./ (absX0_Xi rho*b) % 计算子序列中各个指标与母序列的关联系数
disp(子序列中各个指标的灰色关联度分别为)
disp(mean(gamma)) 讨论 灰色分析用于综合评价问题 步骤 MATLAB代码实现
这里的代码和博主之前TOPSIS算法一文数学建模——TOPSIS法_WeiYan的博客-CSDN博客
前面的操作都一致只是在最后添加上了灰色相关分析的方法
步骤
先对矩阵进行预处理每个元素/所在列的均值构造母序列和子序列
母序列取每一行的max构成一个列向量
子序列预处理后的矩阵
3.计算灰色关联度
先求每个元素与母序列差的绝对值矩阵再求两级最大/小差。
最后利用公式求灰色关联度 4.求权重每列的均值/每列均值的和
5.求得分矩阵中每个元素*其所在列的权重的矩阵的列和。得到一个
6.归一化得分每个元素/向量和 图形对比 参考代码
这里只参考了主函数加上带有灰色相关分析的代码其他自定义函数可参考博主原来的文章TOPSIS算法数学建模——TOPSIS法_WeiYan的博客-CSDN博客
%% 灰色关联分析用于综合评价模型例题的讲解
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); % 母序列为虚拟的用每一行的最大值构成的列向量表示母序列
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 (arho*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) % 进行排序
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920119.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!