因果推断实践 · 第 0

前言:同一份数据,九把刀

这本书的写作思路是:选定一份具体的数据集,把所有相关的因果推断方法都在它身上跑一遍,让读者亲手看到每一种方法在同一个问题上能给出什么答案、各自的假设和局限在哪里。

本书用的数据是 Connors 等人在 1996 年发表于 JAMA 的右心导管观察性研究,简称 RHC。覆盖五所教学医院 5,735 名 ICU 危重症患者,49 个变量,处理变量为是否在入院 24 小时内接受右心导管监测,结局变量为 180 天死亡。这份数据是流行病学与因果推断教学中最常被引用的观察性研究样本:处理分配高度非随机、协变量信息丰富、原始研究曾在重症医学界引发持续多年的争论,适合把每种方法在同一份数据上的表现差异都暴露出来。

读者画像是医学、流行病学、社会科学、计量经济学方向的在读研究生和青年研究者,能用 R 或 Python,看过几篇用了倾向得分或 G 方法的论文,但没有亲手跑过完整流程的那一批。本书不打算把 Hernán-Robins 教科书重复一遍,更不打算把所有方法都讲到学术教科书的精度。这本书的野心比较有限:让读者跑通一项观察性因果推断分析、看懂各种方法输出的 ATE 估计与置信区间、知道每个数字背后的假设是什么、知道踩坑的常见地方在哪儿。读完之后愿意去翻 Hernán-Robins 原书作为参考、愿意去看 grfDoubleML 的官方文档把更复杂的情形深入处理,这本书的任务就完成了。

每章对应一种方法。代码以 R 为主、Python 为辅,关键章节两套代码并列给出。所有正文里出现的数字均来自真实的代码运行输出,不手算、不估算。

—— 晨瀚宇,2026 年