MATLAB实现皮尔逊相关系数热力图绘制 您所在的位置:网站首页 皮尔森相关系数矩阵怎么看 MATLAB实现皮尔逊相关系数热力图绘制

MATLAB实现皮尔逊相关系数热力图绘制

2024-05-29 07:22| 来源: 网络整理| 查看: 265

皮尔逊相关系数是用来衡量两个连续变量之间线性相关性的统计度量。它测量变量之间的线性程度,其值范围从-1到1。绘制热力图属于数据可视化的一部分,可以帮助我们更直观地了解特征之间的相关性。其计算公式为:

eq?r%3D%5Cfrac%7B%5Csum_%7Bi%3D1%7D%5En%28x_i-%5Cmu_X%29%28y_i-%5Cmu_Y%29%7D%7B%5Csqrt%7B%5Csum_%7Bi%3D1%7D%5En%28x_i-%5Cmu_X%29%5E2%7D%5Csqrt%7B%5Csum_%7Bi%3D1%7D%5En%28y_i-%5Cmu_Y%29%5E2%7D%7D

其中r为Pearson相关系数,X和Y为变量,µY为变量X的平均值,µY为变量Y的平均值,r的绝对值越大,说明两个特征之间的相关性越高。r的具体含义如表1所r

r相关强度[−1, −0.6]强负相关(−0.6, −0.4]中等负相关(−0.4, −0.2]弱负相关(−0.2, 0.2)极弱负相关/不相关[0.2, 0.4)弱正相关[0.4, 0.6)

中等正相关

[0.6, 1]强正相关

本文所使用的数据集形式如下:

e1a4be04e9094f5cbc02b3aa8c8e5c24.png

该数据每列代表一个特征维度,本文所要绘制的皮尔逊相关系数热力图为14x14。matlab代码:

figure rho = corr(data2, 'type','Pearson'); string_name={'年龄','婚姻','教育','妊娠','分娩','CBTS','EPDS','HADS','行为特征','性别','年龄','睡眠质量','次数','入睡方式'}; xvalues = string_name; yvalues= string_name; h = heatmap(rho); h.Title = '相关系数'; colormap summer

rho = corr(data2, 'type','Pearson');该处可以将'Pearson'替换成'Kendall' 或 'Spearman'。本文使用的是Pearson相关系数。

5948d436f78644e784f60d88afa1f593.png

从绘制的热力图可以看出,第6,7,8特征之间具有较强的相关性。

c7e743b9b34f477c86b644c897f8a084.png

我们将图片放大可以看到它们的皮尔逊相关系数,对照上文的表格可以看出它们是强正相关。

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有