当前位置:   article > 正文

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

相关系数图matlab

皮尔逊相关系数是用来衡量两个连续变量之间线性相关性的统计度量。它测量变量之间的线性程度,其值范围从-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代码:

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

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

5948d436f78644e784f60d88afa1f593.png

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

c7e743b9b34f477c86b644c897f8a084.png

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

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/503092
推荐阅读
相关标签
  

闽ICP备14008679号