首页 > 编程知识 正文

灰色关联度分析的优缺点,灰色关联度分析的基本特征

时间:2023-05-06 18:44:12 阅读:232917 作者:1508

灰色关联度分析 引言

大家好,这是我的第一篇博客,我是一名通信工程专业的大二学生,在过了1年的学习后我才发现自己并不是很喜欢这个专业,因为在学校加入了数学建模工作室,也大大小小做过几次比赛,对于Matlab软件有一些基础的了解,慢慢的竟然感觉自己有点喜欢这个软件来敲代码了,因此我决定慢慢开始尽量系统的学习一下Matlab,同时因为要做建模比赛,所以会学习一些建模用的相关算法等等,因此我开了这一个大模块,用来记录我每一个学习的和Matlab相关的知识点,我本是一个萌新,学的东西可能很基础,不过如果看到本文的你觉得内容对你有所帮助,还是请帮我点个赞,谢谢啦。

灰色关联度分析

在我看来,灰色关联度分析即是一种对影响目标序列的相关因素进行定量分析的模型,他的基本原理就是将已知的目标序列数据和比较序列(即影响目标序列的因素所构成的序列)数据进行无量纲化处理之后,通过对比各个序列对目标序列的数据增长或减少的相似或相异程度来判断各个因素对目标序列的影响结果(权重)。
如下图,即是某一无量纲化之后各因素的数据与目标序列数据变化趋势图,对灰色关联度分析而言,图形几何形状越是接近,关联程度也就越大。当然,如果要对更多更复杂的数据进行关联分析,肯定是无法用肉眼得到分析结果的,因此,我们肯定需要一种计算方法来得到我们想要的结果,这种计算方法即为灰色关联分析方法。

原理和方法 1.计算比较序列与目标序列之间的关联系数 公式

2.计算比较序列与目标序列之间的关联度

求解步骤 Step1.数据无量纲化处理

由于各指标的单位不同,需要对原始数据进行无量纲化处理,数据无量纲化处理的方法有均值化、初值化、区间值化、导数化、零化等。后面我给出的代码采用均值化法。

Step2.求差序列

即计算参考数列与比较序列的相应指标的绝对差值。

Step3.求两级差

即计算两级最大差值。

Step4.计算关联系数

将计算得到的两级差值代入关联系数公式求关联系数的值。

Step5.计算灰色关联度及权重

将求得的关联系数的值代入关联度公式中得到各指标与目标序列的关联度,最终利用得到的值归一化处理得到各指标的权重。

例题数据 要求计算各参考序列对目标序列的影响(权重) 年份目标序列参考序列1参考序列2参考序列3参考序列4参考序列5参考序列620095.1874.617.2701.2621.62.2685223.320107.3399.3310.04614.9516.81.5876197.620115.30124.2711.5528.6613.71.2158154.520124.45137.3111.98014.1512.30.9839107.720134.05150.1113.6888.5117.31.0903149.920146.35160.5214.6742.5427.81.5359245.920158.27163.3414.9094.6116.83.2937245.3201611.7172.7715.2037.8829.32.3942326.520177.58203.5217.9824.1528.83.0424334.920184.46216.1018.5713.3224.63.578265.5平均值6.467150.1913.5887.020.92.1225.1代码 clc;clear;close all;%输入原始已知数据A=[5.18 74.61 7.27 1.26 21.6 2.2685 223.3;7.33 99.33 10.046 14.95 16.8 1.5876 197.6;5.3 124.27 11.552 8.66 13.7 1.2158 154.5;4.45 137.31 11.98 14.15 12.3 -0.0161 107.7;4.05 150.11 13.688 8.51 17.3 1.0903 149.9;6.35 160.52 14.674 2.54 27.8 1.5359 245.9;8.27 163.34 14.909 4.61 16.8 3.2937 245.3;11.7 172.77 15.203 7.88 29.3 2.3942 326.5;7.58 203.52 17.982 4.15 28.8 3.0424 334.9;4.46 216.1 18.571 3.32 24.6 3.578 265.5];y=[6.467 150.19 13.588 7 20.9 2.1 225.1];%数据无量纲化处理x1=A(1:10,1)./y(1);x2=A(1:10,2)./y(2);x3=A(1:10,3)./y(3);x4=A(1:10,4)./y(4);x5=A(1:10,5)./y(5);x6=A(1:10,6)./y(6);x7=A(1:10,7)./y(7);B=[x1,x2,x3,x4,x5,x6,x7]; %求差序列y1=abs(x1-x2);y2=abs(x1-x3);y3=abs(x1-x4);y4=abs(x1-x5);y5=abs(x1-x6);y6=abs(x1-x7);C=[y1,y2,y3,y4,y5,y6];%求两级差xmax=max(max(C)); xmin=min(min(C)); %计算目标和各指标的关联系数z=(xmin+0.5*xmax)./(C+0.5*xmax); e=[];[t,n]=size(C);%计算目标与各指标的关联度for i=1:nz1=sum(z(1:10,i))/10;e=[e,z1];end%各指标的权重f=e./sum(e) The end

整篇文章的内容到这里也就结束了,因为是第一次写博客,很多功能都不会用所以做的不太好,希望大家多多包容,如果谁有什么问题欢迎来咨询我,我会在有时间的时候尽自己最大的能力帮助你,感谢大家的观看。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。