反事实推理
一句话定位:反事实推理是因果推断的最高层次,研究”如果对特定个体做了不同干预会发生什么”,通过结构因果模型的形式化框架实现单单位潜在结果的计算。
前置依赖:
- 理解 do算子与干预分布(1-do算子)
- 理解潜在结果框架的基本概念(1-ATE、ATE、CATE、ITE)
- 理解 SCM 的结构方程表示(2-结构因果模型SCM)
核心思想
反事实是日常因果推理的核心。当你说出”如果我当时走了另一条路,就不会迟到了”时,你在做反事实推理:在脑中对已发生的事件进行假设性修改,并推导相应的结果。
反事实的关键特征是单一性(single-world):我们只能问”在这个世界,如果我做 X,会发生什么”,而不能问”在这个世界,我做 X 和做非 X 同时成立”。Pearl 的反事实框架通过 SCM 的结构方程,将这种单一世界的逻辑严格形式化。
反事实推理比干预更进一步:干预问的是”如果我干预 X,Y 会怎样”;反事实问的是”给定我已经观察到某些事实,如果我当初干预了 X,Y 会怎样”。后者需要用已观察到的事实来约束潜在结果的计算。
一、形式化定义
1.1 单单位反事实
定义:对于给定的 SCM
变量定义:
:结构因果模型,包含 DAG 和结构方程组 :特定世界状态或单元标识(可以是未观测的隐变量配置) :干预变量 :结果变量 : 的父节点 : 的外生噪声
1.2 反事实与潜在结果的关系
Rubin 的潜在结果框架和 Pearl 的 SCM 框架在反事实上是一致的:
潜在结果框架:
但隐变量
SCM 框架: 明确写出结构方程:
反事实
二、Pearl反事实推理的三步法
Pearl(2000)提出了反事实推理的标准程序: abduction-prediction-modification(溯因-预测-修正)。
2.1 第一步:溯因(Abduction)
目标:根据已观察到的证据
操作:
直觉:反事实推理需要知道”这个世界是如何运转的”——即外生变量的具体配置。我们通过已观察到的结果,反推最可能导致这些结果的隐变量状态。
公式:
2.2 第二步:预测(Prediction)
目标:使用更新后的外生变量分布,预测在干预
操作:将 SCM 中被干预的方程替换为
公式:
2.3 第三步:修正(Modification)
目标:如果存在额外的修饰变量
操作:
2.4 三步法的直观理解
考虑一个经典例子:
- 背景:某个学生(记为
)参加考试,得分 - 问题:如果这个学生多学习 10 小时,得分会是多少?
第一步(溯因):
- 已观察:学习时间
小时,得分 - 反推:确定外生变量(如能力、天赋)
的配置,使得
第二步(预测):
- 干预:
- 预测:使用
的这个配置,计算
第三步(修正):
- 如有额外条件(如考试难度),进一步条件化
三、形式化推导
3.1 从 SCM 到反事实
给定 SCM
其中
反事实
- 修改模型:将
的方程替换为 - 求解修改后的方程组:得到所有变量的潜在值
- 提取
: 是修改后方程组中 的解
3.2 单世界假设(Single-World Assumption)
假设:对于任意世界状态
数学表示:
其中
一致性约束:
即如果实际观察到的
3.3 反事实的期望计算
定理:对于任意
推论(可辨识条件):如果
特例(无未观测混杂):
四、反事实与潜在结果框架的关系
4.1 对应关系
| 潜在结果框架 | SCM/反事实框架 |
|---|---|
| SUTVA | SCM 的函数形式假设 |
| 不可辨识(一般情况) | 可辨识性由 do-calculus 判定 |
4.2 SUTVA与SCM
SUTVA(稳定单位处理值假设):潜在结果不随其他单位处理值变化,且无隐藏版本。
在 SCM 中,SUTVA 对应于:
的结构方程不依赖于其他单位的处理 - 处理版本通过
的取值完全指定
五、反事实推理的应用
5.1 个体处理效应(ITE)的计算
定义:
计算步骤:
- 溯因:根据观测数据
推断 - 预测(处理):计算
- 预测(对照):计算
- 差值:
5.2 实际应用示例
直接效应 vs 间接效应分解:
- 直接效应
:仅改变 而不改变中介 - 需要两步反事实:在
下计算 ,然后固定 修改中介
六、优缺点
优点
- 提供最细粒度的因果推断(个体水平)
- 统一了关联、干预和反事实三个层次的因果问题
- 可以回答”为什么”类型的问题(溯因)
- 支持嵌套反事实(如复合处理)
缺点
- 需要完整的 SCM 知识(结构方程和参数)
- 对未观测混杂敏感
- 计算复杂度高,特别是高维变量
- 实践中 SCM 通常是假设而非从数据学习得到
七、与前后内容的衔接
继承:
- 1-do算子 — 反事实是 do算子的自然延伸
- 1-ATE、CATE、ITE — 反事实提供了 ITE 的计算框架
解决:将反事实推理形式化,使得”如果…会怎样”类型的因果问题可以被精确计算。
引出:
可复现性说明
理论验证:Pearl 的三步反事实推理框架已通过理论证明和无数应用验证。
软件实现:
- Python:
causal-learn库的counterfactual_reasoning模块 - R:
causal包的counterfactual函数 - 专用工具: CausalEffect Toolbox (CET)
模拟验证:使用已知 ground truth 的 SCM 生成数据,验证反事实推理的准确性。
章节摘要
- 反事实推理研究”如果做了不同干预会怎样”的问题,层次高于干预
- Pearl 三步法:溯因(更新外生变量后验)、预测(在干预下计算)、修正(条件化)
- 单世界假设确保每个干预对应唯一潜在结果
- SCM 框架将反事实形式化为修改方程组后的求解过程
- 反事实的一致性约束:
当实际 - 个体处理效应
通过两步反事实计算 - 反事实提供了直接效应/间接效应分解的数学工具
- 可辨识性由 do-calculus 判定:反事实可辨识当且仅当有观测表达式
- 潜在结果框架和 SCM 框架在反事实上数学等价
- 反事实推理需要完整的 SCM 知识,这是主要实践困难
关键词
反事实推理 | 三步法 | 溯因-预测-修正 | 单世界假设 |