适用平台:Matlab2020及以上
相关性分析是一种统计方法,用于衡量两个或多个变量之间的关系程度。通过相关性分析,我们可以了解变量之间的相互关系、依赖性,以及它们是如何随着彼此的变化而变化的。相关性分析通常包括计算相关系数或其他衡量关联度的指标。
②特征降维:在大规模数据集中,相关性分析可以帮助我们过滤掉与目标序列关系较弱的变量,从而聚焦于关键的特征。
降维的方法:皮尔逊(Pearson)、斯皮尔曼(Spearman)、肯德尔(Kendall)、最大互信息系数(MIC)、滞后相关性。分别绘制出相关性矩阵,并且矩阵中每个值我们都用饼图表示,看着更加高大上!加深审稿人对文章的好感。
滞后相关性:滞后相关性衡量的是两个变量之间在时间上的延迟关系。通过计算变量在不同时间点上的相关性来确定它们是否存在滞后关系。适用于时间序列数据,能够揭示时间上的因果关系。
%% 计算互相关系数(滞后相关性)
n2=10; %滞后时序
y=data(:,end);
x=data(:,1:end-1);
%计算x在滞后或超前0-10个时段下与y的相关性
for i=1:size(x,2)
croc(:,i)=crosscorr(y,x(:,i),'NumLags',n2);
end
croc=croc';% croc中行表示变量,列表述滞后序列-n2,-n2+1,...,0,1,...,n2-1,n2 下的x与y的相关系数
%% 绘制热力图
[N, D]=size(data);
%% 皮尔逊相关系数
% 绘制皮尔逊相关系数二维图,使用hsv颜色映射
figure;
imagesc(pearson_corr);
colorbar;
% 颜色映射
color = hsv(200);
colormap(color(30:end-30,:));
title('皮尔逊相关系数');
xlabel('特征');
ylabel('特征');
% 在图中添加皮尔逊相关系数的标签
for i = 1:size(pearson_corr, 1)
for j = 1:size(pearson_corr, 2)
text(j, i, num2str(pearson_corr(i, j), '%.2f'), 'Color', 'k', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle');
end
end
% 饼图
pieplot(pearson_corr);
colormap(color(30:end-30,:));
%% 绘制肯德尔相关系数二维图,使用Jet颜色映射
figure;
imagesc(kendall_corr);
colorbar;
color = jet(200);
colormap(color(60:end-50,:));
title('肯德尔相关系数');
xlabel('特征');
ylabel('特征');
% 在图中添加肯德尔相关系数的标签
for i = 1:size(kendall_corr, 1)
for j = 1:size(kendall_corr, 2)
text(j, i, num2str(kendall_corr(i, j), '%.2f'), 'Color', 'k', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle');
end
end
% 饼图
pieplot(kendall_corr);
colormap(color(60:end-50,:));
欢迎感兴趣的小伙伴点击左下角“阅读原文”或上方链接获得完整版代码哦~,关注小编会继续推送更有质量的学习资料、文章程序代码~