想知道两个变量是否一起变化时,最先使用的工具就是相关分析和回归分析。两者的计算过程有很多重叠,但回答的问题不同。相关问的是“两个变量一起变化的程度有多强”,回归问的是“x 变化一个单位时,y 平均变化多少”。
Pearson 相关系数 r
Pearson r 用 −1 到 1 之间的值表示两个连续变量线性关系的强度和方向。
r = Sxy / √(Sxx × Syy)Sxy = Σ(x−x̄)(y−ȳ),Sxx = Σ(x−x̄)²,Syy = Σ(y−ȳ)²
r 接近 1 表示强正线性关系,接近 −1 表示强负线性关系,接近 0 表示线性关系弱。强度的标准因领域而异,但常用的惯例是把绝对值 0.1·0.3·0.5 视为弱·中·强。
r 接近 0 并不代表没有关系。像 y = x² 这样明显的曲线关系,r 也可能在 0 附近。因此计算相关系数之前,一定要先看散点图。
Spearman 秩相关 ρ
Spearman ρ 是把原始值换成秩次后再计算的 Pearson r。没有并列秩次时,它等于下面的简便公式。
ρ = 1 − 6Σd² / (n(n²−1))(d 为每对数据的秩次之差)
Spearman ρ 即使关系不是直线,也能捕捉朝一个方向持续增加或减少的(单调)关系,并且受异常值的影响较小。它也可用于有序型数据(满意度排名等)。
示例:学习时间与分数
以下是 6 名学生的学习时间(x,小时)和分数(y)。
| 学生 | x | y | x−x̄ | y−ȳ | (x−x̄)(y−ȳ) |
|---|---|---|---|---|---|
| 1 | 1 | 52 | −2.5 | −9.667 | 24.167 |
| 2 | 2 | 55 | −1.5 | −6.667 | 10.000 |
| 3 | 3 | 61 | −0.5 | −0.667 | 0.333 |
| 4 | 4 | 60 | 0.5 | −1.667 | −0.833 |
| 5 | 5 | 68 | 1.5 | 6.333 | 9.500 |
| 6 | 6 | 74 | 2.5 | 12.333 | 30.833 |
第 1 步:均值
x̄ = 21 / 6 = 3.5,ȳ = 370 / 6 ≈ 61.667
第 2 步:平方和与交叉乘积和
Sxy = 24.167 + 10.000 + 0.333 − 0.833 + 9.500 + 30.833 = 74Sxx = 6.25 + 2.25 + 0.25 + 0.25 + 2.25 + 6.25 = 17.5Syy ≈ 333.333
第 3 步:Pearson r
r = 74 / √(17.5 × 333.333) = 74 / √5833.33 ≈ 74 / 76.376 ≈ 0.9689
这是非常强的正线性关系。对该 r 的检验(原假设 ρ=0,自由度 4)的双侧 p 值约为 0.0014。
第 4 步:Spearman ρ
x 的秩次就是 1~6,y 的秩次为 1, 2, 4, 3, 5, 6(60 小于 61,因此学生 3·4 的秩次互换)。秩次差 d 为 0, 0, −1, 1, 0, 0,Σd² = 2。
ρ = 1 − 6 × 2 / (6 × (36 − 1)) = 1 − 12 / 210 ≈ 0.9429
第 5 步:回归直线
- 斜率:
b = Sxy / Sxx = 74 / 17.5 ≈ 4.2286 - 截距:
a = ȳ − b × x̄ = 61.667 − 4.2286 × 3.5 ≈ 46.867 - 回归方程:
ŷ ≈ 46.867 + 4.2286x
斜率与 r² 的解读
- 斜率 4.2286:学习时间多 1 小时的学生,预测分数平均高约 4.23 分。斜率是有单位的值(分/小时),因此改变 x 或 y 的单位,斜率也会改变。而 r 没有单位。
- 截距 46.867:x=0 时的预测值。这里对应完全不学习的情况,但数据中没有 x=0,属于观测范围之外的外推,解读时要谨慎。
- 决定系数 r² ≈ 0.9387:分数的总变异中约有 93.9% 可以由与学习时间的线性关系来解释。在简单回归中,r² 等于 Pearson r 的平方。
斜率与 r 的符号总是相同,并且有 b = r × (s_y / s_x) 的关系。也就是说,即使 r 相同,y 的离散程度越大,斜率就越大。
异常值的影响
在上述数据中再加入一名学生。学习时间 7 小时,分数却只有 30 分(假设是考试当天状态不佳)。
| 类别 | 原 6 人 | 含异常值 7 人 |
|---|---|---|
| Pearson r | 约 0.9689 | 约 −0.1149 |
| Spearman ρ | 约 0.9429 | 约 0.2143 |
仅仅一个点就让 Pearson r 连符号都变了。Pearson r 使用均值和离差平方,因此一个在 x 和 y 上都处于极端的点就可能左右结果。Spearman ρ 也受到了影响,但由于使用秩次,变化幅度相对较小。因此建议按以下顺序进行。
- 先用散点图确认异常值和曲线关系。
- 确认异常值是输入错误还是真实值。
- 如果是真实值,就同时报告包含和排除异常值的结果,或一并给出 Spearman ρ。
相关不等于因果
即使存在强相关,也不能说 x 是 y 的原因。常见的原因如下。
- 第三变量(混杂变量):冰淇淋销量和溺水事故会一起增加,但两者的原因都是气温。
- 反向因果:是运动量大的人更健康,还是健康的人运动更多,仅凭相关无法区分。
- 偶然:考察的变量对越多,毫无关系的变量之间也会偶然出现强相关。
- 选择偏差:如果只有满足特定条件的人进入样本,原本没有的相关可能出现,原本存在的相关也可能消失。
要主张因果关系,需要随机分配实验,或系统控制混杂变量的研究设计。回归分析的斜率同样如此,更稳妥的解读不是“改变 x 就会改变 y”,而是“在 x 不同的对象之间,y 平均相差这么多”。
该用哪一个
| 情境 | 推荐 |
|---|---|
| 两个连续变量、直线关系、无异常值 | Pearson r |
| 单调但呈曲线、有异常值、有序型数据 | Spearman ρ |
| 想用 x 预测 y 或了解变化量 | 简单线性回归(斜率·截距·r²) |
把 x、y 数据对粘贴到本站的相关·回归计算器中,即可一次查看 Pearson r、Spearman ρ、回归方程和 r²。
要点总结
- Pearson r 表示线性关系的强度,Spearman ρ 表示基于秩次的单调关系强度。
- 示例 6 对数据中 r ≈ 0.9689,ρ ≈ 0.9429,回归方程
ŷ ≈ 46.867 + 4.2286x,r² ≈ 0.9387。 - 斜率是 x 每变化一个单位 y 的平均变化量(有单位),r² 是 y 的变异中可由线性关系解释的比例。
- 一个异常值就可能让 Pearson r 从 0.9689 变为 −0.1149,因此要先看散点图。
- 相关和回归斜率都不能证明因果。