相关系数
一个介于 -1 和 1 之间的数,说明一团数据点贴近一条直线的程度,以及朝哪个方向。先拖动数据点,看它如何变化,再去学公式。
最后更新
把两种测量值放在一起,比如睡眠时长和反应时间,或者气温和冰淇淋销量,再把一个对着另一个画出来。有时数据点从左到右向上走,有时向下走,有时只是一团没有形状的云。相关系数 r 把这种印象变成一个介于 -1 和 1 之间的数。
拖动下面的数据点。两条虚线分别标出 x 的平均值和 y 的平均值,每个点的颜色取决于它相对于这两条线的位置。先试试三个预设,再把一个点拖到远离其他点的地方,看看它对 r 有什么影响。
拖动这些点。蓝色的点把 r 往上拉,橙色的点把 r 往下拉:每个点的颜色取决于它落在两条均值虚线的哪一侧。
这个数说明了什么
r 总是介于 -1 和 1 之间,它携带两条独立的信息。
符号表示方向。r 为正,意味着 x 越大,y 也倾向于越大。r 为负,意味着 x 越大,y 倾向于越小。它完全不说明趋势有多陡:一条缓缓上升的直线和一条急剧上升的直线,r 都可以等于 1。
大小表示数据点贴近一条直线的紧密程度。恰好为 1 或 -1 时,每个点都在同一条直线上。为 0 时,完全没有直线趋势。
上面的散点图按大多数教科书使用的分界线给 r 加标签:
| r 的大小 | 标签 | 散点图的样子 |
|---|---|---|
| 恰好为 1 | 完全相关 | 每个点都在同一条直线上 |
| 0.7 及以上 | 强相关 | 一条清晰、狭窄的带 |
| 0.4 至 0.7 | 中等相关 | 趋势可见,但很分散 |
| 0.1 至 0.4 | 弱相关 | 没有这个数你就会忽略的倾斜 |
| 小于 0.1 | 无相关 | 没有直线趋势 |
这些分界线是约定,而不是定理。它们便于用文字描述结果,而每个领域都会调整它们:一位物理学家如果在两个本应严格成正比的量之间测出 r = 0.9,那就出了问题;而一位心理学家如果在两种特质之间发现 r = 0.4,那就是一项成果。
公式从哪里来
两条均值虚线把平面分成四个区域,每个点都落在其中一个。在中心右上方的点,x 高于它的平均值,y 也高于它的平均值。在左上方,x 低于平均值,y 高于平均值。整个公式就建立在这幅图上:
r = Σ(x - x̄)(y - ȳ) / √(Σ(x - x̄)² Σ(y - ȳ)²)
先看分子。对每个点,把 x 离平均值的距离乘以 y 离平均值的距离。在右上和左下两个区域,两个距离同号,所以乘积为正。在另外两个区域,符号相反,乘积为负。把乘积相加得到一个总和,它的符号就是 r 的符号。这就是为什么图中的颜色比数字更早告诉你方向:蓝色的点把 r 往上推,橙色的点把 r 往下拉。
分母只负责缩放。它除以 x 的离散程度和 y 的离散程度,所以结果不再依赖单位,而且在两个方向上都不会超过 1。
手算一遍
取五个点:x = 1, 2, 3, 4, 5,y = 2, 4, 5, 4, 5。x 的平均值是 3,y 的平均值是 4。
| x | y | x - 3 | y - 4 | 乘积 | (x - 3)² | (y - 4)² |
|---|---|---|---|---|---|---|
| 1 | 2 | -2 | -2 | 4 | 4 | 4 |
| 2 | 4 | -1 | 0 | 0 | 1 | 0 |
| 3 | 5 | 0 | 1 | 0 | 0 | 1 |
| 4 | 4 | 1 | 0 | 0 | 1 | 0 |
| 5 | 5 | 2 | 1 | 2 | 4 | 1 |
| 合计 | 6 | 10 | 6 |
所以 r = 6/√60 = √15/5,约等于 0.7746:强正相关。
注意精确答案是一个平方根。这里 r² 恰好等于 3/5,一个普通的分数,而 r 是它的平方根,再带上分子的符号。这就是为什么相关系数计算器会把 r 显示为根式,并在旁边给出小数,而不是只给一个四舍五入的小数。
很多教科书给出的是同一个公式的另一种形式,只需要累计求和,不用先减去平均值:
r = (nΣxy - ΣxΣy) / √((nΣx² - (Σx)²)(nΣy² - (Σy)²))
对于同样的五个点,n = 5,Σx = 15,Σy = 20,Σxy = 66,Σx² = 55,Σy² = 86。分子是 5 × 66 减去 15 × 20,等于 30;分母根号下的两个括号分别是 50 和 30,所以 r = 30 / √1500,同样是 √15/5。
r 与 r 的平方
把 r 平方,就得到 r²,也叫决定系数。对于上面的五个点,r² = 0.6。它表示一个比例:穿过这些点的最佳拟合直线解释了 y 变化的 60%,剩下的 40% 是直线无法解释的分散。
这两个数回答的是不同的问题。r 同时告诉你方向和强度,描述一种关系时你想要的正是它。r² 去掉了符号,所以 r = -0.9 和 r = 0.9 都得到 0.81;当问题是一条直线能解释多少时,就该引用它。除非 r 为 0 或 ±1,r² 总是小于 |r|,所以一个听起来还不错的 0.5 的 r,变成 r² 就只有 0.25:直线只解释了四分之一的变化。
相关不等于因果
r 很大只说明两个量在这组数据里一起变化。它不说明原因,而且有三种常见原因,都与一方导致另一方毫无关系。
- 第三个量同时驱动两者。冰淇淋销量和游泳事故同起同落。炎热的天气是两者共同的原因。
- 因果方向反了。风越大的日子,风车转得越快。是风让风车转动,而不是风车制造了风。
- 巧合。比较足够多互不相关的数据序列,总有一些会碰巧对上,尤其是只看短短几年的时候。
要证明 x 导致 y,需要相关性无法提供的东西:对照实验,或者一个排除了其他可能的机制论证。
r 看不到的东西
这个数是一个概括,而概括会掩盖信息。有三点值得了解。
曲线。点 (-2, 4)、(-1, 1)、(0, 0)、(1, 1)、(2, 4) 恰好都在 y = x^2 上,它们的相关系数却恰好为 0。左半边下降,右半边上升,乘积相互抵消。r 只衡量直线关系,所以一条完美的曲线也可能得零分。
离群值。从上面的五个点出发,r ≈ 0.7746,再加一个点 (10, 0)。新的 r 约为 -0.5529。一个点就让符号翻转了。反过来也一样:x = 1 到 5、y = 3, 1, 4, 1, 5 的 r ≈ 0.3536,是弱相关;加上一个点 (12, 12),不改动其他五个点,r 就升到约 0.9084。在散点图里两种情况都试一试:把一个点拖到角落,看 r 怎么变。
不受影响的东西。改变单位不会影响 r。把 x 从米换成厘米,或者把每个 x 乘以 10,r 仍然是 √15/5。交换哪个变量作 x、哪个作 y,r 也不变;而最佳拟合直线在交换后会改变。
所以,在引用 r 之前先看散点图,再检查拟合直线的残差,看看有没有被这个数掩盖的规律。
做一道题
尽管 r 是负数,答案却是正数,而且比 0.9 小。如果你得到 -0.81,说明你把符号带进了平方;如果你得到 0.9,说明你漏掉了平方。想算出你自己数据的 r,可以把两列数据粘贴到相关系数计算器里,它会显示求和表格和代入数值后的公式。
常见问题
相关系数是什么?
相关系数 r,也叫皮尔逊相关系数,是一个介于 -1 和 1 之间的数,衡量两个量在多大程度上符合直线关系。它的符号表示方向:y 倾向于随 x 增大而增大时为正,倾向于减小时为负。它的大小表示强度:接近 1 或 -1 时,数据点紧贴一条直线;接近 0 时,完全没有线性规律。
相关系数怎么计算?
把每个 x 减去 x 的平均值,每个 y 减去 y 的平均值。把每一对差相乘,再把乘积相加。用这个总和除以(x 差的平方和)乘以(y 差的平方和)的平方根。对于 x = 1, 2, 3, 4, 5 和 y = 2, 4, 5, 4, 5,乘积之和为 6,平方和分别为 10 和 6,所以 r = 6 / √60 = √15/5,约等于 0.7746。
相关系数多大算强相关?
一种常见的约定(也是本页散点图使用的)是:|r| 大于等于 0.7 为强相关,0.4 至 0.7 为中等相关,0.1 至 0.4 为弱相关,小于 0.1 为无线性相关。这些分界线只是习惯,而不是定律。在物理学中,0.9 的 r 可能令人失望;在心理学或经济学中,0.4 就可能是值得注意的发现。
r 和 r 的平方有什么区别?
r 保留了方向,r² 没有。r² 表示 y 的变化中能由直线解释的比例,所以 r = 0.7746 意味着 r² = 0.6,直线解释了 y 变化的 60%。r 为 -0.9 和 r 为 0.9 时,r² 都等于 0.81:紧密程度相同,方向相反。
相关系数可以大于 1 吗?
不可以。r 总是介于 -1 和 1 之间,只有当所有点都恰好落在同一条直线上时,才会达到两端。如果你算出 r 为 1.2,说明表格里某个求和算错了;最常见的原因是把 x 之和的平方当成了 x 的平方和。
相关就意味着因果吗?
不是。r 很大只说明两个量在你手头的数据里一起变化。它说不出是哪一个驱动了另一个,也说不出是否有第三个量同时驱动了两者。冰淇淋销量和游泳事故会一起上升,因为炎热的天气让两者都增加;二者互不为因。要确立因果关系,需要做实验,或者对作用机制进行严谨的论证,而不是靠相关性。
为什么 r = 0 并不意味着没有关系?
r 只衡量直线关系。点 (-2, 4)、(-1, 1)、(0, 0)、(1, 1)、(2, 4) 恰好都在 y = x² 上,这是完美的关系,但它们的相关系数恰好为 0,因为左半边的下降抵消了右半边的上升。在相信这个数之前,一定要先看散点图。
想用你自己的数字算一算?
相关系数计算器 打开计算器