反事实推理

一句话定位:反事实推理是因果推断的最高层次,研究”如果对特定个体做了不同干预会发生什么”,通过结构因果模型的形式化框架实现单单位潜在结果的计算。

前置依赖:


核心思想

反事实是日常因果推理的核心。当你说出”如果我当时走了另一条路,就不会迟到了”时,你在做反事实推理:在脑中对已发生的事件进行假设性修改,并推导相应的结果。

反事实的关键特征是单一性(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

其中 是内生变量, 是独立的外生变量。

反事实 的计算

  1. 修改模型:将 的方程替换为
  2. 求解修改后的方程组:得到所有变量的潜在值
  3. 提取 是修改后方程组中 的解

3.2 单世界假设(Single-World Assumption)

假设:对于任意世界状态 和干预 ,定义唯一潜在结果

数学表示

其中 是将 的方程替换为 后的修改模型。

一致性约束

即如果实际观察到的 ,则反事实 等于实际观测到的

3.3 反事实的期望计算

定理:对于任意 ,反事实期望 可通过下式计算:

推论(可辨识条件):如果 的分布可辨识,则 可辨识。

特例(无未观测混杂)


四、反事实与潜在结果框架的关系

4.1 对应关系

潜在结果框架SCM/反事实框架
(随机化)(外生性)
SUTVASCM 的函数形式假设
不可辨识(一般情况)可辨识性由 do-calculus 判定

4.2 SUTVA与SCM

SUTVA(稳定单位处理值假设):潜在结果不随其他单位处理值变化,且无隐藏版本。

在 SCM 中,SUTVA 对应于:

  1. 的结构方程不依赖于其他单位的处理
  2. 处理版本通过 的取值完全指定

五、反事实推理的应用

5.1 个体处理效应(ITE)的计算

定义

计算步骤

  1. 溯因:根据观测数据 推断
  2. 预测(处理):计算
  3. 预测(对照):计算
  4. 差值:

5.2 实际应用示例

直接效应 vs 间接效应分解

  • 直接效应 :仅改变 而不改变中介
  • 需要两步反事实:在 下计算 ,然后固定 修改中介

六、优缺点

优点

  • 提供最细粒度的因果推断(个体水平)
  • 统一了关联、干预和反事实三个层次的因果问题
  • 可以回答”为什么”类型的问题(溯因)
  • 支持嵌套反事实(如复合处理)

缺点

  • 需要完整的 SCM 知识(结构方程和参数)
  • 对未观测混杂敏感
  • 计算复杂度高,特别是高维变量
  • 实践中 SCM 通常是假设而非从数据学习得到

七、与前后内容的衔接

继承

解决:将反事实推理形式化,使得”如果…会怎样”类型的因果问题可以被精确计算。

引出


可复现性说明

理论验证:Pearl 的三步反事实推理框架已通过理论证明和无数应用验证。

软件实现

  • Python: causal-learn 库的 counterfactual_reasoning 模块
  • R: causal 包的 counterfactual 函数
  • 专用工具: CausalEffect Toolbox (CET)

模拟验证:使用已知 ground truth 的 SCM 生成数据,验证反事实推理的准确性。


章节摘要

  • 反事实推理研究”如果做了不同干预会怎样”的问题,层次高于干预
  • Pearl 三步法:溯因(更新外生变量后验)、预测(在干预下计算)、修正(条件化)
  • 单世界假设确保每个干预对应唯一潜在结果
  • SCM 框架将反事实形式化为修改方程组后的求解过程
  • 反事实的一致性约束: 当实际
  • 个体处理效应 通过两步反事实计算
  • 反事实提供了直接效应/间接效应分解的数学工具
  • 可辨识性由 do-calculus 判定:反事实可辨识当且仅当有观测表达式
  • 潜在结果框架和 SCM 框架在反事实上数学等价
  • 反事实推理需要完整的 SCM 知识,这是主要实践困难

关键词

反事实推理 | 三步法 | 溯因-预测-修正 | 单世界假设 | | ITE | 直接效应 | 间接效应 | SCM | 一致性约束 | 潜在结果 | 不可辨识