高山流水分享 http://blog.sciencenet.cn/u/friendpine 走在科学路上的一位无名侠客,只是静静的走着.........

博文

偏相关系数

已有 31424 次阅读 2010-10-21 21:52 |个人分类:统计学与R语言学习|系统分类:科研笔记

在多元相关分析中,简单相关系数可能不能够真实的反映出变量X和Y之间的相关性,因为变量之间的关系很复杂,它们可能受到不止一个变量的影响。这个时候偏相关系数是一个更好的选择。

偏相关系数是在排除了其他变量的影响下计算变量间的相关系数。假设我们需要计算X和Y之间的相关性,Z代表其他所有的变量,X和Y的偏相关系数可以认为是X和Z线性回归得到的残差Rx与Y和Z线性回归得到的残差Ry之间的简单相关系数,即pearson相关系数。

偏相关系数的计算可以有下面的三种方法(详细的计算方法见参考文章)
1 根据上面的说法,从线性回归的角度计算变量间的偏相关系数,但是这样做很麻烦。
2 迭代法,可以认为简单相关系数为0阶偏相关系数,任何n阶偏相关都可以通过3个(n-1)阶偏相关系数计算出来。
3 相关矩阵求逆法,即首先计算出所有变量的相关性矩阵,然后求它的逆矩阵。这样可以求出任何两两变量之间的偏相关系数。

偏相关系数的检验可以有两种方法。一种是t-test,另外一种fisher 转化法。

R中偏相关系数的计算
corpcor包中提供了相关函数计算偏相关系数,有两种方式:
1 函数cor2pcor(). 它以数据矩阵X的相关矩阵cor(x)作为输入,计算出两两的偏相关系数;
2 pcor.shrink(). 它以X作为输入,得到两两的偏相关系数矩阵;它计算得到的偏相关系数矩阵和cor2pcor()给出的结果大体上相同,但是还是有一些出入。它是用shrinkage estimates的方法计算偏相关系数.


参考文章
partial correlation. http://en.wikipedia.org/wiki/Partial_correlation

https://blog.sciencenet.cn/blog-54276-375592.html

上一篇:ridge regression
下一篇:机器学习中的数据不平衡问题
收藏 IP: .*| 热度|

2 杨华磊 jiafei2hao

发表评论 评论 (6 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-8 19:51

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部