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

05-09 1134阅读

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

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

其中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]强正相关

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

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

该数据每列代表一个特征维度,本文所要绘制的皮尔逊相关系数热力图为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相关系数。

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

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

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

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

 

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]