你能不能证明这本书有用
最后一章做一件本该做的事:把这本书自己放到审判席上。这不是自谦的姿态——它是这本书唯一诚实的收尾,因为你手上现在有工具来审判它了。
假设有一份调查数据:读完这本书的人,在因果推理测验上的平均得分,比没读的人高 22 分。这能证明这本书有用吗?
你已经有全部工具了。这一题不难,但请把它答完整——尤其是 C 比 B 多说了什么。
把这本书画成一张图
先老实画图:
兴趣与基础(U,测不全)
↙ ↘
读这本书(X) ──────→ 测验得分(Y)
↘ ↙
读完了并来做测验(S)
三个问题,全在这张图上:
- U → X 和 U → Y:混淆。会读完一本 24 章的因果推断小书的人,本来就对这类东西有兴趣、有基础。他们的测验分本来就该更高。这是第 2 章。
- X → S ← Y:对撞机。「读完了并且愿意来做测验」这道门,同时受「读没读」和「学得怎么样」影响。而你只能从进了这道门的人身上收数据。这是第 4、7 章。
- 那 22 分里,有多少是书的效应?——这张图下,如果 U 测不全,不可识别。这是第 13 章。
换句话说:这本书对自己的效果,没有资格用这本书教你识破的那种证据来支持。
那要什么样的证据
按这本书的标准,一份合格的证据应该长这样:
- 随机分配(第 14 章):随机挑一批人,一半给这本书,一半给一本别的(不是不给——那样测的是「读了任何东西」的效应,安慰剂问题)。
- 意向性治疗(第 4 章):分到「读书组」的人不管有没有读完,都算在这一组里。否则「读完」这道门会毁掉一切。
- 事前登记:先说清楚要测什么、怎么测、样本量多少。否则就是在 24 个指标里挑一个显著的。
- 报告效应量和 E-value(第 22 章),而不只是 p 值。
这些我都没做,所以:关于这本书有没有用,我提供不了任何证据。我能提供的只有一件事——这一章里所有让你觉得「有道理」的推理,都是可以被检验、可以被反驳的。而这本身就是它想教的东西。
你刚刚用第 2、4、7、13、14 章的内容,拆解了一个关于这本书自己的因果主张。
如果你能做到这一点,那这本书至少对你做到了它承诺的事。而这句话的证据是你刚才那个动作,不是任何统计数字。
七个错觉:一张自查表
把 23 章里每一个「✗ 这个直觉是错的」收成一张表。这是这本书的全部行李。
| 错觉 | 纠正 | 章 |
|---|---|---|
| 数据够多、方法够先进就能看出因果 | 因果结论所需的信息不在数据里,必须以假设的形式带进来 | 1 |
| 混淆是「不准」,样本大了就好 | 混淆造成的是偏差,完全不随 n 缩小 | 2 |
| 分组看总是更准 | 该不该分组取决于那个变量在图上的位置,不是细不细 | 3 |
| 随机抽样就没有选择偏差 | 你研究的总体本身可能已被一道和结果相关的门筛过 | 4 |
| 关系可以反过来读 | 相关对称,结构不对称;赋值不是等式 | 5 |
| 控制一个变量总让关系更干净 | 控制对撞机会凭空造出关系 | 6、7 |
| 「和处理相关、和结果相关」= 混淆 | 这条判据会把对撞机和 M-bias 误判成混淆 | 7、11 |
| 多控制几个变量最多是多余 | 多一个能把 +4.96 变成 +3.31,或者 −4.81 | 10、12 |
| R²/显著性/交叉验证能判断因果模型好坏 | 它们全都衡量预测,和因果无关 | 12 |
| 测不到混淆就一定没救 | 前门、工具、DiD、断点都在这个前提下工作;但也确实存在被证明不可识别的图 | 13 |
| 随机分组后不平衡 = 随机化失败 | 不平衡是必然的;因此重新分组会破坏随机性 | 14 |
| 个体效应不可知,所以因果推断是猜 | 个体不可知,平均可估——这是两件事 | 15 |
| 倾向得分匹配比回归「更因果」 | 识别假设完全相同;漂亮的平衡表只覆盖你测了的变量 | 16 |
| 双重稳健/因果 ML 能减轻混淆的担忧 | 它们改进的是估计,不碰识别 | 17 |
| 回归系数 =「保持其他不变时」的效果 | 它是「减掉其他变量的影子后」的斜率 | 18 |
| 工具变量挑「和 Y 相关性最弱」的 | 排他性是结构条件,不能从数据里挑 | 19 |
| 处理前平行 = 平行趋势成立 | 只能证伪不能证实;Ashenfelter dip 是标准反例 | 20 |
| 分数是混淆,控制掉就行 | 断点设计里正值性完全失效,控制掉就什么都不剩了 | 21 |
| 「我们控制了 N 个变量」让人放心 | 数量不含信息;该报的是 E-value | 22 |
| 模型够大就能学到因果 | 不同结构可以产生相同分布;这是信息限制,不是工程限制 | 23 |
七句话:拿到任何一个「A 导致 B」时问
继续往下走
这本书是一个入口,不是一个终点。下面按方向给路线,标出哪些是共识、哪些还在吵。
先读哪本书
| 书 | 适合谁 | 说明 |
|---|---|---|
| The Book of Why(《为什么》,Pearl & Mackenzie, 2018) | 接着这本书读的第一本 | 科普向,讲的是同一套图语言,还有大量历史。观点有明显倾向性(对统计学传统颇有微词),读的时候留意 |
| Causal Inference: The Mixtape(Cunningham, 2021) | 想动手的人 | 免费在线,配 R/Stata/Python 代码,卷 V 那几种方法讲得最好 |
| Mostly Harmless Econometrics(Angrist & Pischke, 2009) | 喜欢经济学口味的 | IV / DiD / RDD 的经典,风格幽默。还有更浅的 Mastering 'Metrics |
| Causal Inference: What If(Hernán & Robins) | 想要系统性的人 | 免费 PDF,流行病学口味,潜在结果和图两套语言都讲,IPW 和双重稳健讲得最透 |
| Causality(Pearl, 2009, 2nd ed.) | 要证明的人 | do-演算和完备性定理的原始出处。不好读,但第 3 章值得啃 |
| Elements of Causal Inference(Peters, Janzing & Schölkopf, 2017) | 做机器学习的人 | 免费 PDF。因果发现、不变性、和 ML 的接口,第 23 章那条线的正规版本 |
动手的工具
- DAGitty(dagitty.net)——画图、自动求调整集、列出可检验蕴涵。网页版五分钟上手,也有 R 包。这是最该先装的一个。
- DoWhy(Python,微软)——把「建模 → 识别 → 估计 → 反驳」四步做成 API,最后那步(refutation)特别值得用:它会自动跑安慰剂检验、加随机混淆等一系列稳健性测试。
- EconML(Python,微软)/DoubleML(Python/R)——第 17 章那套双重机器学习和异质效应估计。
- CausalPy/CausalImpact——面向时间序列的因果推断(合成控制、贝叶斯结构时序)。做「某次上线的影响」这类分析很顺手。
- MatchIt(R)——匹配的事实标准,含各种匹配方法和平衡诊断图。
- did(R,Callaway & Sant'Anna)——第 20 章说的交错处理 DiD 的修正估计量。
动手的项目
三个从易到难,都可以用你手边的数据做:
- 给你正在做的一个分析画一张 DAG,然后用 DAGitty 求调整集,对比你实际控制的变量清单。这一步经常当场发现问题。
- 在你的产品里找一个断点(第 21 章那张清单),跑一次 RDD,包括密度检验和带宽稳健性。
- 把一次已有的 A/B 测试当成「标准答案」,然后假装没有它,只用观察数据 + 后门调整去估同一个效应,看差多少。这是检验你的观察性方法可不可信的最好办法,业界叫「用实验校准观察性估计」。
还在吵的地方(这些不是共识)
- 图 vs 潜在结果:Pearl 认为图是更根本的语言,Rubin 传统的一些学者认为图容易掩盖「处理是否良定义」这类问题。今天的实践大多两边都用,本书也是。
- M-bias 有多严重:第 11 章提过。有人认为它需要很特殊的参数配置才会造成实质偏差,因此「控制所有前置变量」仍是稳妥的默认策略;有人不同意。
- 因果发现(从数据学结构)能不能用:LiNGAM、PC、GES 这些算法在特定假设下有理论保证,但对假设违反很敏感。把它们当探索工具可以,当结论不行。
- LLM 在因果推理上到底会什么:2023 年以来这个方向论文很多,结论分歧很大。区分「复述因果知识」和「从数据识别结构」这条线,是读这些论文时最有用的一把尺。
相邻的题目
- 强化学习:它天生就在做干预——每个 action 都是一次 do。离线强化学习(只有历史数据)面对的正是这本书的全部问题。见书架上的《打分》。
- 信息论:第 8 章的 d-分离、第 23 章的 Goodhart,在信息论里有另一套讲法。见《意外》。
- 实验设计:随机化只是起点,还有区组、因子设计、序贯试验、多臂老虎机。
- 决策论与价值:算出了因果效应之后,怎么决定做不做?这是另一门学问的开头。
- 看到任何一个数字,先问它是「看」来的还是「拨」来的。这一个问题就能过滤掉大半。
- 写分析代码之前,先花五分钟画一张图。不用画得好看,纸上四五个圈几支箭头就够。你会发现一半的分析在这一步就被判定为「答不了」——而这五分钟省下的是三天。
- 看到控制变量清单,逐条问「这个是处理之前还是之后」。之后的一律拿掉。这一条规则简单粗暴,但它挡掉的是第 7、11、12 章那一整类灾难。
这听起来像是降级,其实是升级。一个可以被反驳的结论,比一个无法被反驳的正确直觉有用得多——因为前者可以积累,后者只能靠人传人。
这也是这门学问最大的贡献,比任何一个具体的估计量都大:它把一场关于数字的争吵,变成了一场关于结构的争吵。而结构是可以画出来、指着吵、并且吵出结果的。
C不能,而且这个数字连「读的人变强了」都证明不了。
B 只指出了混淆和选择偏差。C 多说的那一句是:那 22 分甚至不能说明「读了的人比自己读之前变强了」——因为你连他们读之前是多少分都不知道,而愿意读完并来做测验的人,本来就是本来就会得高分的那批人(对撞机 + 混淆双重作用)。
A 「样本量够大」——第七次,也是最后一次:偏差不随 n 缩小。如果这本书只让你记住一句话,我希望是这一句。 B 对,但停在了「不能」。而这本书教的不是怎么说「不能」,是怎么说清楚缺什么、以及补上什么就能——本章开头那四条就是补法。 D 「控制学历、职业、数学基础」——这三个是能想到的混淆,但「对因果推断本来就感兴趣」这个变量测不到,而它恰恰是最强的那个。而且这一条完全没处理对撞机 S。控制清单再长,也堵不上一扇你没看见的门。这一章的一句话
这本书没法证明自己有用;但你刚刚用它拆了它自己,而这个动作是它唯一想教的东西。
最后
整本书可以压成一个动作和一个问句。
动作是那一刀:拨动 X,就是把所有指向 X 的箭头剪断。
问句是:这个数字,是看来的,还是拨来的?
剩下的 24 章,都是在教你怎么在剪不动的时候,把那一刀算出来。