笔记说明
读《Discovering Statistics Using R》第六章 Correlation中的6.6节做的笔记。
示例数据
有个心理学家对考试焦虑对考试成绩的影响比较感兴趣。她设计了一个量表评估考试焦虑程度。考试前用量表测量学生的焦虑程度(变量Anxiety),用成绩百分位数反映考试表现(变量Exam)。数据在这里:Exam Anxiety
Revise变量表示修改所花的小时数。我们主要想考察焦虑程度和考试成绩之间的关系。
#数据导入
library(rio)
examData <- import("data/Exam Anxiety.dat")
str(examData)
## 'data.frame': 103 obs. of 5 variables:
## $ Code : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Revise : int 4 11 27 53 4 22 16 21 25 18 ...
## $ Exam : int 40 65 80 80 40 70 20 55 50 40 ...
## $ Anxiety: num 86.3 88.7 70.2 61.3 89.5 ...
## $ Gender : chr "Male" "Female" "Male" "Male" ...
先考察一下Exam Axiety Revise三个变量之间的关系:
examData2 <- examData[,c("Exam","Anxiety","Revise")]
#散点图矩阵
pairs(examData2)
#三变量互相之间的pearson相关系数
cor(examData2)
## Exam Anxiety Revise
## Exam 1.0000000 -0.4409934 0.3967207
## Anxiety -0.4409934 1.0000000 -0.7092493
## Revise 0.3967207 -0.7092493 1.0000000
#三变量间决定系数
cor(examData2)^2
## Exam Anxiety Revise
## Exam 1.0000000 0.1944752 0.1573873
## Anxiety 0.1944752 1.0000000 0.5030345
## Revise 0.1573873 0.5030345 1.0000000
偏相关
由以上分析结果可以看出:考试成绩和焦虑程度负相关、考试成绩又和修改时间正相关;修改时间和焦虑程度负相关。仅三个变量间的互相之间的相关关系就已经比较复杂了。
从决定系数来看:考试焦虑可以“解释”考试成绩变异的19.4%,修改时间可以“解释”考试成绩变异的15.7%,修改时间可以“解释”考试焦虑变异的50.3%。
我们主要想考察焦虑程度和考试成绩之间的相关性。既然有大概一半(50.3%)焦虑程度的变异性可以由修改时间来“解释”,那么焦虑程度“解释”考试成绩变异性的那19.4%部分中应该也有一部分是由修改时间贡献的。
控制一个或多个其他定量变量的影响下,两个定量变量间的相关关系即为偏相关(partial correlation)。
书中图6.8图示说明了偏向关的原理。图6.8的图3中白蓝点的区域即为排除修改时间影响下,单独由焦虑程度可以"解释"考试成绩变异性的部分。书中并没有介绍偏相关系数的具体计算方法。
用pcor()
和pcor.test()
对偏相关系数进行计算和假设检验
在R中,可以用ggm
包的pcor()
函数计算偏相关系数。
pcor()
的一般用法:
pcor(c("var1", "var2", "control1", "control2" ...), var(dataframe))
- 第一个参数中列名出分析涉及的变量名,前2个即为要计算篇相关系数的变量,后面为需要对其影响进行控制的变量名。
- 第二个参数为所涉及变量的样本协方差矩阵,可由
var()
计算得到。
#偏相关系数
library(ggm)
pc <- pcor(c("Exam", "Anxiety", "Revise"), var(examData2))
## > pc
## [1] -0.2466658
## > pc ^ 2
## [1] 0.06084403
在控制修改时间影响后,考试焦虑和考试成绩之间的偏相关系数为-0.247,对应的决定系数为0.06.
可以用ggm
包的pcor.test()
对pcor()
生成的偏相关系数进行假设检验。其一般用法为:
pcor.test(pcor object, 控制的变量数,样本量)
pcor.test(pc, 1, 103)
## $tval
## [1] -2.545307
##
## $df
## [1] 100
##
## $pvalue
## [1] 0.01244581
结果中的tval
即为t检验统计量,df
为t检验的自由度,pvalue
即为双侧检验下的P值。
可以看到焦虑程度和考试成绩之间扣除修改时间影响后的偏相关系数绝对值比未扣除修改时间影响时的相关系数绝对值要小不少,但依然有统计学意义。通过偏相关分析,我们得到了焦虑程度和考试成绩之间相对真实(因为只考虑、测量、控制了一个混杂变量)的相关系数。通过偏相关分析,虽然仍不能对因果关系下确切的结论,但至少一定程度上解决了混杂的问题。
另外,偏相关也适用于有二分类变量的情况(无论是要分析的变量还是需要控制效应的变量)。
半偏相关
在之后的章节中还会遇到另一种相关分析:半偏相关(semi-partial correlations,也称part correlation)。
在偏相关分析中,我们控制指定的1个或多个混杂变量的影响,更具体地说,1个或多个混杂变量对 待分析的两个变量的影响均被控制。
在半偏相关分析中,我们只控制混杂变量对分析的两个变量中其中一个变量的影响。
偏相关分析考察其他考虑到的混杂变量影响被排除后,单单两个定量变量间的相关关系。半偏向关分析考察一系列自变量对因变量变异的解释程度。半偏相关的相关概念会在第七章再见。