灰色关联分析(matlab)

  • Post author:
  • Post category:其他


灰色关联分析

一种系统科学理论

思想

通过各数据的几何形状相似程度来判断关系,反映曲线间关联程度

将原始数据无量纲化处理,计算关联系数,关联度

绝对关联度:初始点零化法处理,结果与数据关系大,因素差异较大时,效果差

相对关联度:用相对量来分析,结果仅与初始点的变化速率有关,与数据大小无关

使用

分析因素对结果的影响程度

样本容量可以少到四个

步骤

确定分析数据

参考序列

比较序列

无量纲化

计算关联系数

计算关联度

关联度排序

clear;clc;

%% 数据处理

%取数据

[~,~,rawdata] = xlsread(‘详细数据.xlsx’,1,’C2:L481′);%读取数据

rawdata = cell2mat(rawdata);

power = rawdata(:,1);

% windspeed = rawdata(:,2);

% airpressure = rawdata(:,3);

% winddirection = rawdata(:,4);

% tempreture = rawdata(:,5);

% humidity = rawdata(:,6);

% windspeedground = rawdata(:,7);

% %总辐射(GHI,Global Horizontal Irradiance)

% GHI = rawdata(:,8);

% %DNI,Direct Normal Irradiance

% DNI = rawdata(:,9);

% %散射辐射(DHI,Diffuse Horizontal Irradiance)

% DHI = rawdata(:,10);

r = size(rawdata,1);

c = size(rawdata,2);

X0 = rawdata(:,2:c);

Y = power’;

X = X0′;

%数据关联度

%归一化

[Y1,FSY] = mapminmax(Y,0,1);

[X1,FSX] = mapminmax(X,0,1);

Y1 = Y1′; X1 = X1′;

Y11 = repmat(Y1,1,c-1);

absY11_X1 = abs(Y11 – X1);

minmin = min(min(absY11_X1));

maxmax = max(max(absY11_X1));

ro = 0.5;

gamma = mean((minmin + ro * maxmax)./(absY11_X1 + ro * maxmax));

disp(‘相关系数为:’);

gamma

[gammasorted, I] = sort(gamma);

for i=1:size(I,2)

X0sorted(:,i) = X0(:,I(i));

end

数据链接(无需积分付费)


https://download.csdn.net/download/m0_46218732/85845932



版权声明:本文为m0_46218732原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。