07相关性分析

根据线性、单调性、样本量和异常值选择 Pearson、Spearman 或 Kendall 相关,并正确解释系数与检验。

2025-08-04
StatisticsCorrelationPearsonSpearmanKendall
本章目录 · 7

相关系数描述两个变量共同变化的方向和强度。选择方法前应先画散点图,因为一个系数会隐藏曲线关系、分组结构和离群点。

三种常用相关系数

方法 衡量关系 适用情形 主要敏感点
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;
  • 样本选择过程;
  • 时间趋势或批次效应;
  • 偶然波动。

因果解释需要研究设计、时间顺序、混杂控制和领域知识,不能由相关系数单独提供。

大量变量对

相关矩阵包含 p(p1)/2p(p-1)/2 个不同变量对。变量一多,检验数量增长很快:

choose(100, 2)
# 4950

若同时检验许多相关,应预先定义关注的变量对并处理多重检验。热图适合发现结构,但重要关系仍应回到散点图和原始数据核查。

报告时至少包括方法、样本量、相关系数、区间或 p 值,以及关系形状和异常值的检查结果。