← 返回首页

相关不等于因果:从辛普森悖论说起

"相关不等于因果"这句话大家都知道,但真正踩坑的时候往往认不出来。辛普森悖论是我认为最经典的一个反直觉例子。

一个虚构的小例子

假设有两种治疗方案 A 和 B,分别对轻症和重症患者进行治疗,结果如下:

患者方案 A 治愈率方案 B 治愈率
轻症81 / 87 = 93%234 / 270 = 87%
重症192 / 263 = 73%55 / 80 = 69%
合计273 / 350 = 78%289 / 350 = 83%

分层看,A 在轻症和重症上都优于 B;合起来看,反而是 B 更好。这就是辛普森悖论的典型结构。

为什么会这样

关键在于混杂变量(confounder)——这里是"病情严重程度"。方案 A 接诊了更多的重症患者(263 / 350),方案 B 接诊了更多的轻症(270 / 350)。

重症基础治愈率本就更低,所以方案 A 的总体数字被"稀释"了。分层看剥除了混杂变量的影响,反映的才是两个方案的真实疗效差异。

如何在实际数据里识别

  1. 先画分层交叉表:不要只看整体相关,按可能的混杂变量分层看
  2. 检查样本分配是否均衡:不同组在混杂变量上的分布差异越大,越可能出现辛普森悖论
  3. 用偏相关或控制变量回归:在回归模型里把混杂变量作为控制变量纳入

辛普森悖论的反面教训

当你看到一个"非常漂亮"的相关结果时,先问自己:有没有哪个没被观测到的第三变量同时影响 X 和 Y?如果有,那这个相关很可能是伪相关。

在观测性研究里(没有随机化分配),辛普森悖论几乎是无处不在的威胁。随机对照实验之所以重要,本质就是通过随机化让混杂变量在组间均衡分布。

一点延伸

并不是所有"整体结论和分层结论相反"的情况都叫辛普森悖论。有时候分层反而引入了偏差(对撞偏倚 collider bias),这种情况下不分层才是对的。因果推断领域(Judea Pearl 的 DAG 方法)对此给出了系统的分析框架,有兴趣的话值得深入学习。