相关系数描述两个变量共同变化的方向和强度。选择方法前应先画散点图,因为一个系数会隐藏曲线关系、分组结构和离群点。
三种常用相关系数
| 方法 | 衡量关系 | 适用情形 | 主要敏感点 |
|---|---|---|---|
| Pearson | 线性关系 | 两个连续变量 | 离群点、非线性 |
| Spearman | 秩之间的单调关系 | 连续或有序变量 | 大量并列秩 |
| Kendall | 配对次序一致性 | 小样本、秩数据 | 计算相对更慢 |
三者取值都在 -1 到 1 之间。符号表示方向,绝对值表示相应关系类型的强弱。
先看关系形状
set.seed(123)
x <- rnorm(50, mean = 100, sd = 10)
y <- 0.5 * x + rnorm(50, sd = 5)
plot(x, y)
散点图应检查:
- 是否大致线性或至少单调;
- 是否有少数点主导趋势;
- 是否存在几个内部趋势不同的亚组;
- 变量范围是否受截断;
- 不同 x 区域的离散程度是否明显变化。
在 R 中检验
cor.test(x, y, method = "pearson")
cor.test(x, y, method = "spearman")
cor.test(x, y, method = "kendall")
输出通常包括相关系数、检验统计量和 p 值;Pearson 检验还提供相关系数的置信区间。
零假设一般是总体中的相应相关为零。拒绝零假设不表示关系很强,应同时报告系数本身。
Pearson 相关
Pearson 相关衡量两个变量的线性共同变化,对极端值较敏感。一个明显离群点既可能制造相关,也可能掩盖相关。
result <- cor.test(x, y, method = "pearson")
unname(result$estimate)
result$conf.int
result$p.value
如果关系明显弯曲,即使两个变量具有确定关系,Pearson 系数也可能接近零。
Spearman 与 Kendall
Spearman 先把数值转为秩,再计算秩的相关,适合始终增加或始终减少但不一定是直线的关系。
Kendall's tau 依据样本对之间次序一致或不一致来衡量关联,小样本和秩数据中解释较自然。
秩方法减少了极端数值距离的影响,但不会修复混杂、选择偏倚或非单调关系。
相关不等于因果
相关可能来自:
- X 影响 Y;
- Y 影响 X;
- 第三个变量同时影响 X 与 Y;
- 样本选择过程;
- 时间趋势或批次效应;
- 偶然波动。
因果解释需要研究设计、时间顺序、混杂控制和领域知识,不能由相关系数单独提供。
大量变量对
相关矩阵包含 个不同变量对。变量一多,检验数量增长很快:
choose(100, 2)
# 4950
若同时检验许多相关,应预先定义关注的变量对并处理多重检验。热图适合发现结构,但重要关系仍应回到散点图和原始数据核查。
报告时至少包括方法、样本量、相关系数、区间或 p 值,以及关系形状和异常值的检查结果。