R中的偏相关值大于正常相关

时间:2018-07-08 21:43:23

标签: r correlation pearson-correlation

我正在研究一个大型数据集(700万行),试图了解各个独立变量与因变量之间的相关性。当我运行pcor(dataset)时,如果与运行cor(dataset)相比,则相关性更高。

我的数据集有6个因变量和84个自变量。我正在找到每个因变量与84个独立变量的偏相关。

我的自变量是文本类型(75个类别)的字数,以及一些其他社会变量(全数字)等。

我的问题是:我不确定为什么在R中使用pcor()时会得到较高的相关性,而在cor()中却得到非常弱的相关性。这是部分相关的正常行为吗?

1 个答案:

答案 0 :(得分:3)

如果您想知道部分相关系数是否可以比“完整”相关系数更大,请考虑以下示例。

我们来看看ppcor reference manual

中的示例数据
df <- data.frame(
    hl = c(7,15,19,15,21,22,57,15,20,18),
    disp = c(0.000,0.964,0.000,0.000,0.921,0.000,0.000,1.006,0.000,1.011),
    deg = c(9,2,3,4,1,3,1,3,6,1),
    BC = c(1.78e-02,1.05e-06,1.37e-05,7.18e-03,0.00e+00,0.00e+00,0.00e+00 ,4.48e-03,2.10e-06,0.00e+00))

根据原始论文,该数据涵盖了酵母蛋白质中序列与功能进化之间的关系,可从[Drummond et al., Molecular Biology and Evolution 23, 327–337 (2006)]获得。

我们对探索hldisp之间的相关性感兴趣。

hldisp之间的线性关系

让我们首先将hl绘制为disp的函数

library(ggplot2)
ggplot(df, aes(hl, disp)) +
    geom_point()

enter image description here

皮尔逊乘积矩相关系数的标准(“满”)由

给出
with(df, cor(hl, disp))
#[1] -0.2378724

从图和cor的结果可以明显看出,在不控制任何其他变量的情况下,hldisphl ~ deg + BC之间的线性关系不是很强。

偏相关

回顾一下定义:在给定混杂变量Z的情况下,X和Y之间的部分相关性定义为X随Z线性回归而Y对Z线性回归所得残差的相关性。

让我们通过绘制两个相应的线性模型disp ~ deg + BCggplot(data.frame( res.x = lm(hl ~ deg + BC, df)$residuals, res.y = lm(disp ~ deg + BC, df)$residuals)) + geom_point(aes(res.x, res.y)) 的残差来可视化部分相关。

hl

enter image description here

两个残差的线性相关性非常明显,表明disphl之间存在显着的部分相关性。让我们通过计算dispdeg之间的局部相关性来进行确认,同时控制BCpcor.test(df$hl, df$disp, df[, c("deg","BC")]) # estimate p.value statistic n gp Method #1 -0.6720863 0.06789202 -2.223267 10 2 pearson 的混杂效应

hl

结论

当我们控制混杂变量时,dispphp artisan make:middleware IsAjaxRequest 之间的皮尔逊乘积矩相关系数要大于我们对混杂因素进行控制时的相关系数。