在脑科学领域的研究中,进行相关分析必不可少,比如说,我们想知道计算出来的某个指标是否与临床数据或行为学数据之间存在正相关或负相关关系。计算相关系数,最常用的是Pearson相关系数和Spearman相关系数。此外,在研究中,偏相关分析也很常用,其在计算两个变量的相关系数的同时把第三个变量当成协变量来排除这个变量的影响。本文,笔者对相关系数和偏相关系数的原理进行简单论述,并重点说明如何用Matlab实现相关系数和偏相关系数的计算。 Pearson和Spearman相关系数
例1:用Matlab计算变量A和B之间的Pearson相关系数r,以及A、B之间是否显著相关, A=[41,63,83,71,94,62,60,42,55,67], B=[10,16,26,29,20,9,8,13,18,14]。 在Matlab命令窗口中输入以下命令即可:
B=[10,16,26,29,20,9,8,13,18,14];
r =0.5997 p =0.0669 注意:这里计算相关系数r以及相应的p值用的是corr函数。实际上,corr函数既可以计算Pearson相关系数也可以计算Spearman相关系数,默认情况下计算的是Pearson相关系数,格式如下: Pearson相关系数:[r,p]=corr(X,Y,‘type’,‘Pearson’) Spearman相关系数:[r,p]=corr(X,Y,‘type’,‘Spearman’) 另外,需要注意的是,corr函数中两个变量X、Y必须是列向量,而不能是行向量,如例1中用[r,p]=corr(A’,B’)的命令,需要对A、B进行转置。
例2:用Matlab计算变量A和B之间的Spearman相关系数r,以及A、B之间是否显著相关, A=[41,63,83,71,94,62,60,42,55,67], B=[10,16,26,29,20,9,8,13,18,14]。 在Matlab命令窗口中直接输入以下命令即可:
B=[10,16,26,29,20,9,8,13,18,14];
r =0.6727 p =0.0394 结果显示A、B之间的相关系数r=0.6727,p=0.0394,存在显著的正相关。 偏相关分析 偏相关分析(Partial correlation analysis),简单地说,是在消除其他变量C影响的条件下,计算的A、B两变量之间的相关系数。Matlab中,计算偏相关系数所用的函数是partialcorr,使用方法如下: [R,P] = partialcorr(X,Y,Z); %在控制变量Z的影响下,计算变量X、Y的偏相关系数。 例3:在消除变量C的影响下,用Matlab计算变量A和B之间的偏相关系数R。 A=[41,63,83,71,94,62,60,42,55,67], B=[10,16,26,29,20,9,8,13,18,14]; C=[0.81,0.90,0.12,0.91,0.63,0.09,0.27,0.54,0.95,0.96]。 直接在Matlab命令窗口中输入如下命令即可:
B=[10,16,26,29,20,9,8,13,18,14];
R =0.6614 P =0.0524 结果表明,在控制变量C影响的条件下,计算得到A、B之间的相关系数R=0.6614,P=0.0524,A、B之间不存在显著相关。 总结 本文,笔者对如何用Matlab计算Pearson相关系数、Spearman相关系数和偏相关系数进行了详细论述,希望对大家的研究有所帮助。 |
|