人类推理能力的基石在于我们能够想象从未存在过的世界。当我们回顾一个决定时,我们会问: “如果我当时接受了在伦敦的那份工作会怎样?”或者“如果我们早一周开始治疗,病人还能活下来吗?”

这些就是反事实 (Counterfactuals) 。 它们代表了因果阶梯的最高层级。不同于处理观察数据相关性的标准统计学,甚至不同于处理干预 (“如果我做 X 会发生什么?”) 的基础因果推理,反事实要求我们将观察到的现实与一个假设的替代方案进行对比。

对于因果推理领域的研究人员和学生来说,在数学上处理这些“假设 (what if) ”查询一直是一个挑战。当你拥有的是来自一个确实存在的世界的证据时,你该如何计算一个不存在的世界中某事件的概率?

在这篇文章中,我们将深入探讨研究论文 《Counterfactual Graphical Models: Constraints and Inference》 (反事实图模型: 约束与推理) 。这项工作引入了一个强大的新图形工具——祖先多世界网络 (Ancestral Multi-World Network, AMWN) ——以及一个形式化的逻辑系统,称为反事实演算 (ctf-calculus) 。 它们共同提供了一种可靠且完备的方法来进行反事实推理,推广了 Pearl 著名的 do-calculus。

平行世界的问题

要理解这篇论文的重要性,我们首先需要定义背景。因果推理通常使用因果图 (有向无环图,即 DAGs) 来可视化。

图 1. 一个包含三个变量的因果图。

在图 1 中,我们看到一个简单的系统: 年龄 (\(Z\)) 同时影响治疗 (\(X\)) 和存活 (\(Y\)) ,而治疗 (\(X\)) 也影响存活 (\(Y\)) 。

我们可以很容易地提出概率问题,如 \(P(Y|X)\) (观察) ,或因果问题,如 \(P(Y|do(X))\) (干预) 。但反事实是不同的。一个典型的反事实查询看起来像这样: \(P(Y_{x} = 1 | X = x')\)。

翻译成自然语言就是: “鉴于我们要观察到病人实际上没有接受治疗 (\(X=x'\)) ,如果他们当时接受了治疗 (\(x\)) ,存活 (\(Y=1\)) 的概率是多少?”

这是一个跨世界 (cross-world) 查询。我们在以“真实”世界 (\(X=x'\)) 的证据为条件,询问关于“反事实”世界 (\(X=x\)) 的情况。标准的因果图在这里很难发挥作用,因为它们通常一次只表示一个世界。这篇论文提供了连接这些世界的桥梁。

结构因果模型 (SCM)

这种推理的基础是结构因果模型 (SCM) 。SCM 由一组变量和函数定义。每个可观察变量都由其在图中的父节点和一些未观察到的噪声 (外生变量) 决定,表示为 \(U\)。

描述子模型 Mx 的方程。

当我们谈论“干预” (\(do\) 算子) 时,我们本质上是在打破一个变量的自然函数,并用一个常数取而代之。这这就创造了一个子模型 (\(\mathcal{M}_x\)) ,如上所示。

SCM 框架的精妙之处在于它统一了三个推理层级,通常称为 Pearl 因果层级 (PCH) 。

图 2. 每个 SCM 在 PCH 的每一层诱导出不同的分布。

如图 2 所示:

  1. \(\mathcal{L}_1\): 关联 (观察 Seeing) - \(P(y|x)\)
  2. \(\mathcal{L}_2\): 干预 (行动 Doing) - \(P(y_{x})\)
  3. \(\mathcal{L}_3\): 反事实 (想象 Imagining) - \(P(y_{x}|x')\)

这篇论文的主要贡献是提供了高效的算法和规则来在 \(\mathcal{L}_3\) 中进行导航。

反事实约束的三大支柱

为了在不同世界之间进行代数运算,我们需要规则。作者确定了三种基本的约束类型,它们支配着反事实变量之间的关系: 一致性 (Consistency)排除性 (Exclusion)独立性 (Independence)

1. 一致性约束

一致性是连接假设与现实的锚点。它指出,如果一个变量自然地取值为 \(x\),那么通过干预将该变量设置为 \(x\) 不会改变结果。“我们强迫 X 为 x”的世界和“X 恰好为 x”的世界,对于那些特定的个体来说看起来是一模一样的。

生成反事实事件所涉及的机制。

图 3(a) 将其可视化。灰色框代表世界的机制。如果 \(X(\mathbf{u}) = x\) 自然发生,那么潜在结果 \(Y_x\) 与观察到的 \(Y\) 完全相同。

在数学上,这引出了一个至关重要的恒等式: 显示 P(Y_x, X=x) = P(Y, X=x) 的方程。

这条规则允许我们在观察概率和反事实概率之间切换,前提是观察结果与干预相匹配。

2. 排除性约束

排除性关于无关性。如果我们干预变量 \(X\),它应该只改变位于从 \(X\) 出发的因果路径上的结果。

考虑下面图 4(a) 中的链式结构。\(X \to Z \to Y\)。 如果我们干预 \(Z\),我们就切断了来自 \(X\) 的连接。因此,对 \(X\) 的额外干预对 \(Y\) 变得无关紧要。

图 4. 用于说明排除和独立约束的图形结构。

在图 4(a) 的链式结构背景下,\(Y_{zx} = Y_z\)。对 \(x\) 的干预从下标中被“排除”了,因为 \(Z\) 有效地阻断了 \(X\) 对 \(Y\) 的影响。这通过移除多余的干预简化了复杂的反事实表达式。

3. 独立性约束

这是最复杂也最强大的约束。它告诉我们一个世界中的变量何时与另一个世界中的变量相互独立。

在标准的因果图中,我们使用 d-分离 (d-separation) 来读取独立性。但 d-分离作用于单个图。我们如何测试 \(Y_{xw}\) (一个我们干预了 X 和 W 的世界中的变量) 和 \(X\) (观察世界中的变量) 之间的独立性?

历史上,研究人员使用“孪生网络 (Twin Networks) ”——基本上是为涉及的每个世界复制图,并通过共享的误差项 (\(U\)) 连接它们。然而,孪生网络的扩展性很差。如果你有涉及 3 个或 4 个不同假设世界的复杂查询,图会变得巨大且难以阅读。

核心方法: 祖先多世界网络 (AMWN)

作者引入了祖先多世界网络 (Ancestral Multi-World Network, AMWN) 。 这是一种简化的图形结构,对于使用 d-分离读取反事实独立性是可靠且完备 (sound and complete) 的。

关键的洞见在于祖先 (Ancestors) 的概念。在评估特定的反事实查询时,我们不需要整个孪生网络。我们只需要查询中变量的相关祖先。

构建 AMWN

让我们看一个具体的例子。假设我们有图 4(b) (显示在上面的“排除性”部分) ,我们要检查在给定 \(Z\) 和 \(W\) 的情况下,\(Y_{xw}\) 是否独立于 \(X\)。

该算法的工作原理如下:

  1. 识别祖先: 我们查看查询中的变量 (\(Y_{xw}, X, Z, W\)) ,并在各自的子模型中回溯它们的祖先。
  2. 合并节点: 如果由于一致性或排除性,变量在确定性上是相同的,我们将它们合并。
  3. 添加潜变量: 我们显式添加跨世界共享的未观察到的父节点 (\(U\)) 。

让我们直观地比较这些方法。

图 6. 为了判断 (a) 中的分离陈述,我们构建 AMWN (b) 并使用 d-分离。

在图 6 中,我们看到了转换。

  • 左 (a): 原始因果图。
  • 右 (b): AMWN。

注意图 6(b) 有多紧凑。它显式地包含了连接不同版本变量的共享潜变量 (\(U_z, U_{zx}\)) 。

  • 我们可以看到 \(U_{zx}\) 连接了 \(X\) 和 \(Z\)。
  • 我们看到 \(Z_w\) 影响 \(Y_{xw}\)。

在图 6(b) 上使用标准的 d-分离,我们可以检查 \(Y_{xw}\) 和 \(X\) 之间的路径。存在一条活跃路径 \(X \leftarrow U_{zx} \to Z \to Z_w \to Y_{xw}\)。因为这条路径是连通的,我们得出结论: 独立性不成立

效率

AMWN 比以前的方法 (如孪生网络或多重网络) 效率高得多。

表 1. 反事实独立性图形构建方法的比较。

如表所示,AMWN 支持任何分离查询,并且是完备的 (意味着如果图说它们是独立的,它们确实是;如果图说它们不是,则存在反例) 。至关重要的是,时间复杂度是多项式的,随世界数量 (\(z\)) 线性增长,而不是指数级增长。

反事实演算 (ctf-calculus)

有一个图来检查独立性很棒,但我们也需要执行代数变换来求解特定值。这就是反事实演算 (ctf-calculus) 的用武之地。

正如 Pearl 的 do-calculus 提供了三条转换干预表达式 (\(P(y|do(x))\)) 的规则一样, ctf-calculus 为反事实提供了三条类似的规则。

规则 1: 一致性 (观察/干预交换)

这条规则允许我们在数值匹配时将反事实干预视为观察。

规则 1 的方程: 一致性。

如果我们观察到 \(X=x\),那么反事实的“如果 \(X=x\) 会怎样?”就是我们看到的现实。这将我们的假设数学锚定在真实数据中。

规则 2: 独立性 (添加/移除证据)

这条规则允许我们在概率表达式中添加或移除条件。

规则 2 的方程: 独立性。

如果 AMWN 显示 \(Y_r\) 与 \(X_t\) 是 d-分离的,我们可以从条件集中移除观察 \(X_t\)。这是演算的“引擎”,允许我们简化复杂的条件概率。

规则 3: 排除性 (添加/移除干预)

这条规则允许我们修改反事实的下标。

规则 3 的方程: 排除性。

如果在切断 \(Z\) 的图中 \(X\) 不是 \(Y\) 的祖先,我们可以从 \(Y_{xz}\) 中移除干预 \(x\)。本质上,如果做 \(x\) 在因果上无法到达 \(Y\),我们可以将其从表达式中删去。

综合应用: 确定因果关系

当我们使用该框架来识别 (identify) 因果效应时,它的真正威力就显现出来了。识别意味着将理论上的反事实量纯粹用我们可以实际收集的数据 (观察或实验数据) 来表达。

论文证明了 ctf-calculus 是完备的 。 如果一个反事实量是可识别的,它就可以用这三条规则推导出来。

让我们通过论文中提供的两个例子来演示。

示例 1: 受试者处理效应 (ETT)

我们回到“后门”图 (图 1) 。我们想找到 \(P(y_x | x')\)。 这是在我们观察到没有治疗 (\(x'\)) 的情况下,如果我们进行了治疗 (\(x\)) ,结果 \(y\) 的概率。

我们为这个查询构建 AMWN:

图 7. (a) 基于图 1 的 AMWN… (b) 示例 2 中使用的因果图。

使用图 7(a) 中的 AMWN 和 ctf-calculus,推导步骤如下:

  1. 调节 (Conditioning) : 我们使用标准概率论引入 \(Z\)。 \[= \sum_{z} P(y_{x} | z, x')P(z|x')\]
  2. 规则 3 (排除性) : 在图中,治疗 \(X\) 不会改变 \(Z\)。所以 \(Z_x = Z\)。 \[= \sum_{z} P(y_{x} | z_x, x')P(z|x')\]
  3. 规则 1 (一致性) : 既然我们以 \(Z_x = z\) 为条件,我们可以将 \(Y_x\) 重写为 \(Y_{xz}\)。 显示推导步骤 R1 的方程。
  4. 规则 2 (独立性) : AMWN 显示 \(Y_{xz}\) 在给定 \(Z\) 的情况下独立于 \(X\)。
  5. 最终结果: 我们将反事实查询完全简化为观察项: \[= \sum_z P(y|z,x)P(z|x')\] 我们成功地将一个“假设”问题转化为了一个可以在标准数据集上执行的计算!

示例 2: 自然直接效应 (NDE)

考虑图 7(b) (上图) 。假设 \(X\) 是运动,\(W\) 是胆固醇,\(Y\) 是心脏病。我们想知道运动对心脏病的自然直接效应——即通过降低胆固醇这一途径带来的益处。

这需要计算一个嵌套反事实: \(P(y_{x', W_x})\)。这问的是: “如果我们把 \(X\) 设为 \(x'\) (不运动) ,但我们保持 \(W\) (胆固醇) 在如果我们确实运动时本应达到的水平 (\(W_x\)) ,\(Y\) 的概率是多少?”

这看起来非常抽象,但 ctf-calculus 将其分解了。

图 8. 示例 2 推导中使用的因果图。

使用图 8 所示的 AMWN,作者利用演算分解了这个问题。

  1. 他们使用全概率公式解开反事实的嵌套。
  2. 他们使用规则 2 (独立性) 移除冲突的干预 \(X\)。
  3. 他们使用规则 1 (一致性) 将反事实转回观察。

推导得出了这个优雅的公式:

自然直接效应的方程。

这个公式允许研究人员仅使用观察到的数据概率 (\(P(y|w, x')\) 和 \(P(w_x)\)) 来解耦直接和间接机制,前提是图结构成立。

结论: 因果层级的完整工具包

《Counterfactual Graphical Models》中提出的研究标志着因果 AI 领域的重大成熟。长期以来,第 3 层 (反事实) 一直是一个困难的领域,通常需要限制性的假设或低效的计算方法。

通过引入祖先多世界网络 (AMWN) , 作者提供了一种可扩展的方式来可视化和测试平行世界之间的关系。通过形式化反事实演算 (ctf-calculus) , 他们给了我们在代数上操作这些关系的严谨语言。

对于学生和从业者来说,最重要的收获是完备性这一属性。我们不再需要想知道某个具体的“假设”问题是否可解。如果 ctf-calculus 无法将查询简化为数据,那么在没有更强假设的情况下,该查询在数学上就是无法回答的。这种确定性是无价的。

随着 AI 从简单的预测转向复杂的推理和决策,像 AMWN 和 ctf-calculus 这样的工具将成为我们构建系统的基石,这些系统不仅能理解发生了什么,还能理解本可能发生什么。