"相关不等于因果"这句话大家都知道,但真正踩坑的时候往往认不出来。辛普森悖论是我认为最经典的一个反直觉例子。
一个虚构的小例子
假设有两种治疗方案 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 的总体数字被"稀释"了。分层看剥除了混杂变量的影响,反映的才是两个方案的真实疗效差异。
如何在实际数据里识别
- 先画分层交叉表:不要只看整体相关,按可能的混杂变量分层看
- 检查样本分配是否均衡:不同组在混杂变量上的分布差异越大,越可能出现辛普森悖论
- 用偏相关或控制变量回归:在回归模型里把混杂变量作为控制变量纳入
辛普森悖论的反面教训
当你看到一个"非常漂亮"的相关结果时,先问自己:有没有哪个没被观测到的第三变量同时影响 X 和 Y?如果有,那这个相关很可能是伪相关。
在观测性研究里(没有随机化分配),辛普森悖论几乎是无处不在的威胁。随机对照实验之所以重要,本质就是通过随机化让混杂变量在组间均衡分布。
一点延伸
并不是所有"整体结论和分层结论相反"的情况都叫辛普森悖论。有时候分层反而引入了偏差(对撞偏倚 collider bias),这种情况下不分层才是对的。因果推断领域(Judea Pearl 的 DAG 方法)对此给出了系统的分析框架,有兴趣的话值得深入学习。