灰色关联分析_(案例)相关分析之灰色关联度

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:40   2316   0

灰色关联度方法基本原理与技术实践

dfc6e61081e286125d77e6e5702586ca.png

01

灰色关联度基本原理

627a54a5bc7ebd82346cc753548dcc90.png

3cff6011b604a928a40e43bec3c30497.png

ecaa59d9d107f039228e4ce9af6fb0be.png

dd2ed800c5e746212d3c3c664b2b1877.png

02

灰色关联度计算Matlab函数

function gamma=GreyRelationDegree(X) %X是一个m×n的评价矩阵,即m个评价对象、n个评价指标%gamma是n*n的灰色关联度矩阵maxX=max(X,[],1);minX=min(X,[],1);[m,n]=size(X);for j=1:m    for i=1:n        X(j,i)= (X(j,i)-minX(i))/(maxX(i)-minX(i));    endend%计算变量i和j的差值绝对值Δijfor l=1:m    for i=1:n        for j=1:n            delta(i,j,l)=abs(X(l,i)-X(l,j));        end    endendmaxDelta = max(max(delta,[],1));minDelta = min(min(delta,[],1));%计算变量i和j的关联系数εijk=1; %取灰度白化值为k=1for l=1:m    for i=1:n        for j=1:n            epsilon(i,j,l)=(minDelta(l)+k*maxDelta(l))/(delta(i,j,l)+k*maxDelta(l));        end    endend%变量Xj对变量Xi的关联度γij=Sij/SiiSii=m;for i=1:n    for j=1:n        gamma(i,j)=0;        for l=1:m            gamma(i,j)=gamma(i,j)+epsilon(i,j,l);        end        gamma(i,j)=gamma(i,j)/Sii;    endendend

03

灰色关联度算例

测试数据集csv:

dbdad503665728b7482efcc093df7350.png

数据集导入至Matlab存为矩阵:

f7cdbbf1d7e4215c4dbddbaef4165211.png

使用GreyRelationDegree函数计算变量之间的灰色关联度矩阵:

cf974490d191d580867e3789383cc75e.png

代码随便使用,不用授权,心存感激即可~~~

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP