作为本科数据科学背景较重的学生,我们熟记于“相关不等于因果”这句话,并常在分析中运用相关性的方法,而闭口不谈因果关系,因而因果推断不常为我们所熟知。在通往AGI的道路上,仅靠基于相关性的机器学习是不足以的,因果推断则成为了突破“强人工智能”实现阻碍的关键方向。作为该领域的领军者,图灵奖获得者珀尔(Judea Pearl)的这本《为什么:关于因果关系的新科学》是入门该领域的完美书籍,它既有科普性质,又能为该领域研究者起到梳理历史、启发思路的作用。

感谢我的本科导师彭珍教授的赠书。

希望你能与我一样迫不及待地去寻求答案。——朱迪亚·珀尔

Introduction:从相关到因果

不管你是否了解数据科学,你可能都听过“相关不等于因果”这个说法。诚然,要想预测未来的某件事情,我们有两种思路:

  1. 基于相关(关联):我知道当 X 出现的时候,Y 大概率也会出现
  2. 基于因果:我知道 X 会导致 Y

注意到:基于相关方法中,概率是一个重要的概念,它对静态世界的观察结果。然而,因果是指原因与结果之间的关系,因此不能被简化为概率:X提高了Y的概率 ≠ X导致了Y,X只是增加Y的可能性,而非让其必然发生。

因此,我们说:相关是概率上的数据观察结果,而因果关系则是更深一层的数据生成机制,即“相关不等于因果”。因此,数据不是万能的,不足以解决因果问题,需要研究数据的生成过程。

如果仔细思考,你会发现:在传统统计学的科学词汇中,无法准确描述因果关系及其相关问题。例如:方程式能表达几个量之间的相关关系,却无法描述其因果,因为位置可自由变换。因此,迫切需要提出新的语言、创造新的研究方法,以研究因果关系。由此诞生了因果推断学科,它的主要内容有:

以上也是本书的主要内容。下面按逻辑结构予以介绍:

因果推断学科的诞生

在因果推断学科成形之前,经历了曲折的探索:

  1. 弗朗西斯·高尔顿:发明了回归和相关这两个统计概念,但一定程度上阻碍了统计学中对因果性的讨论,使得统计学禁锢在了因果之梯的第一层
  2. 卡尔·皮尔逊:提出了相关系数的计算方法、卡方分布及相关的检验方法,但他将因果关系视为一种“迷信”,认为科学只应研究相关关系
  3. 休厄尔·赖特:20世纪20年代提出路径分析(又称:通径分析)的生物学家,在研究豚鼠毛色遗传时,首次建立了一套根据数据回答因果问题的数学方法

其中,赖特所提出的路径分析方法的核心思想是:如果已知变量之间的因果结构,就可以通过联立方程组来表示它。下面其进行演示:

  1. 假设有三个变量,其因果结构如下:
    $$X → Y → Z,且 X → Z$$
  2. 将其转换为数学表达,则对应的结构方程为:
    $$Y = aX + U_Y$$
    $$Z = bY + cX + U_Z$$
    其中 $a, b, c$ 是路径系数,$U_Y, U_Z$ 是外生扰动项。这些方程直接表示了变量之间的因果机制,每个方程描述一个变量如何被它的直接原因所决定。
  3. 通过联立方程组的形式,实现通过观测数据的相关系数来估计路径系数。联立后形式如下:
    $$Z = b(aX + U_Y) + cX + U_Z = cX+abX+bU_Y+U_Z$$
  4. 因此:$X$ 与 $Z$ 的相关系数 $r_{XZ}$ 就可以分解为两条路径的贡献:
    $$r_{XZ} = c + ab$$

区别于普通的线性回归方法,赖特通过此分解实现了:将统计学上的 $X$ 与 $Z$ 的相关系数 $r_{XZ}$ ,分解成了直接效应 $c$ 和间接效应 $ab$。珀尔对此给予极高评价,认为这是“20世纪科学迈向因果之梯第二层的第一步”。

理论基础——因果关系之梯

在因果推断学科中,因果关系的分类是一切理论的基础。珀尔按其所属者的能力,将因果关系的三个层级区分如下:

  1. 关联:观察“发生了什么”,并基于被动观察做出预测(X→Y),对应观察(seeing,发现环境中规律)的能力
  2. 干预:预测“改变某因素会怎样”,并根据预测结果选择行为,对应行动(doing)的能力
  3. 反事实:推演“如果当初……会怎样”,对应想象(imagining)能力

fg8iKDIzC.jpg

其中,区分第一、二层级的关键在于是否主动干预。在数学上,珀尔引入了do算子来表示这种区别: $do(X)$ 意味着“对X进行干预”,在因果图中表现为删除所有指向X的箭头、然后计算Y的分布。由此,

然而,现实中往往当存在混杂因素,使得上述两者不相等,无法通过统计方法直接测量条件概率实现对干预概率的估计。为了实现从关联到干预的层级跨越,因果推断的相关科学方法逐渐涌现。

从关联到干预——基础方法与工具

因果推断的核心障碍——混杂因素,它是一个同时影响“原因”和“结果”的变量,是导致非因果虚假关联的罪魁祸首。设 $X$ 为处理变量,$Y$ 为结果变量,那么同时影响两者的变量 $Z$ 就可以称为混杂因素,即:
$$Z → X,Z → Y$$
此时,若分析 $X$ 和 $Y$ 之间的关联,可以找出两条路径:

  1. $X → Y$
  2. $X ← Z → Y$ ,称作是后门路径

要想通过数据估计出 $X$ 对 $Y$ 的真实因果效应,就必须阻断后门路径,从而去除混杂因素。常见的方法是——随机对照试验:通过随机分配 $X$,使其与所有潜在混杂因子 $Z$ 相互独立。

然而,随机对照试验依赖对 $X$ 的人工干预(或偶然满足条件),在伦理、成本上不一定可行。从因果论的角度出发,在建立了完备因果图的基础上,可以通过统计手段阻断后门路径。由此,珀尔提出了后门准则:

然而,这种方法并不总是能起作用。只有在建立出完备的因果模型时,才能通过采集数据、观测混杂因素 $Z$ 以估算真实效应。一旦混杂因素 $Z$ 无法被充分观测(比如其中的一个因素无法进行数据测量),就无法使用后门准则。

在这种情况(存在无法观测的混杂因子时)下,如果 $X → Y$ 的效应完全通过一个可观测的中介变量 $M$ 传递,那么可以采用前门准则作为替代方案进行估计。前门准则指的是:

在实际应用中,仍然存在一些因果图,既无法使用后门调整,也无法使用前门调整。珀尔在1995年提出的do演算解决了这一局限,它可以将任何包含do算子的概率表达式转化为不含do算子的表达式(即:将包含干预变量的概率表达式转化为仅含观测变量的形式)。do演算由三条规则构成:

  1. 增删观测变量:如果在干预 $X$ 的条件下,$Z$ 对 $Y$ 没有额外信息,那么就可以把 $Z$ 从条件中删掉
  2. 互换干预变量与观测变量:如果 $Z$ 不影响 $X$,那么在控制 $Z$ 的前提下,“主动干预 $X$”等同于“被动观察到 $X$”,可以把 $do(X)$ 直接改写为普通的条件 $X$
  3. 增删干预变量:在已经干预 $X$ 的情况下,如果干预 $Z$ 不会影响 $Y$,就可以把 $do(Z)$ 删掉或换成普通的条件 $Z$

do演算的关键在于其完备性:如果一个问题在给定因果图下是可识别的,那么do演算的三条规则就一定能将其推导出来。换言之,后门准则和前门准则都是do演算在特定图结构下的特例,do演算由此构成了因果推断的基本框架。

从干预到反事实——进阶方法与工具

上述方法和工具,共同解决了因果之梯第二层的问题:如何从观测数据中估计干预效应。对于因果之梯的第三层——反事实,要回答的问题更为棘手:“如果当初做了不同的选择,结果会怎样?”这一类问题无法通过实验直接回答,因为历史无法重来。为了实现反事实推理,结构因果模型(Structural Causal Model, SCM)被引入作为数学基础。它由三部分组成:

  1. 外生变量 $U$:代表系统外部的随机扰动,不受系统内部任何变量影响
  2. 内生变量 $X$:系统内部的观测变量
  3. 结构方程 $f_i$:描述每个内生变量如何被系统内部直接原因 $PA_i$($X_i$ 的父节点)和系统外部外生扰动 $U_i$ 所决定

因果结构模型不仅包含图结构以描述变量间相互影响的关系,还包含响应函数 $f_i$ 、用以描述变量间如何影响彼此。因此,其一般形式为:

$$ X_i = f_i(PA_i, U_i) $$

在因果结构模型中,实现反事实推理的思路是:在同一个外生变量配置下,比较不同干预方案的结果。其步骤可以描述为:

  1. 保持所有外生变量不变:以符号 $u$ 表示
  2. 干预某个变量:将其结构方程替换为常数($X=x$)
  3. 计算修改后的模型中其他变量的取值:$Y_{X=x}(u) = f_Y(x, PA_Y, u)$

用珀尔的例子来说:“如果奥斯瓦尔德没有杀死肯尼迪,他还会活着吗?”在拥有完备的因果结构模型的前提下,这个问题应该按如下的思路进行反事实推理:

  1. 保持所有其他外生条件不变
  2. 将“奥斯瓦尔德开枪”这一变量的结构方程替换为“不开枪”
  3. 计算“肯尼迪是否存活”的取值

反事实推理的一个核心应用是归因:当结果已经发生,反过来追问某个原因是否“必要”或“充分”。珀尔为此引入了两个量化概念:

  1. 必要性概率(Probability of Necessity, PN),用以回答“如果没有 $X$,$Y$ 是否还会发生?”的问题,即:在已经观察到 $X=1$ 且 $Y=1$ 的情况下,如果当初 $X=0$,$Y=1$ 的概率是多少。因此可以表达为:

    $$ PN = P(Y_{X=0} = 0 | X=1, Y=1) $$

  2. 充分性概率(Probability of Sufficiency, PS),用以回答“如果有了 $X$,$Y$ 是否一定会发生?”的问题,即:在已经观察到 $X=0$ 且 $Y=0$ 的情况下,如果当初 $X=1$,$Y=1$ 的概率是多少。因此可以表达为:

    $$ PS = P(Y_{X=1} = 1 | X=0, Y=0) $$

这两个概念可以应用在实际中,例如:下面的两个问题都可以通过计算必要性概率进行回答:

Discussion:从因果推断到人工智能

作者提到:强人工智能的目标是制造出拥有类人智能的机器,让他们能与人类交流、指导人类的探索方向。当今AI已经涌现出LLM、基于LLM的Agent等先进技术,能够一定程度上与人类交流、调用工具帮助人类执行任务,那么为什么说当今AI还没有实现这一目标?

其一,从当今AI的理论基础来说:正如珀尔提到“深度学习领域所有令人印象深刻的成就都只是曲线拟合而已。”从数学上看,深度学习的核心是通过最小化损失函数来拟合参数:

$$ \min_\theta \mathbb{E}_{(x,y) \sim P_{data}}[L(f_\theta(x), y)] $$

本质上:这是在拟合数据分布 $P_{data}$ 中的条件期望 $E[Y|X]$,而因果推断要求的是 $E[Y|do(X)]$。当存在混杂因素时,这两者是不能划等号的。因此,从数学基础上就决定了:即使一个模型在预测任务上表现地再好,也无法回答“如果我改变 $X$,$Y$ 会怎样”的因果问题。

其二,从因果推断的本质来说:因果推断是人类本身的能力,人类智能的独特之处正在于拥有可操纵的现实模型(mental representation),能回答“如果……会怎样”这类问题。当今AI缺乏现实模型,仍然只是在拟合数据中的关联。LLM等技术,可能通过隐式方式习得了部分因果结构,但这些能力“相当一部分能力来自训练数据中已经存在的人类知识、解释和推理过程”,并不是通过模型自身与世界互动而建立的。因此,当今AI的因果推断能力也只是对训练数据中因果模式的高阶模仿,距离强人工智能还有一定的距离。

在通往AGI、通往强人工智能的路上,为机器赋予因果推断能力,就是在模拟人本身的因果推断过程。正如珀尔提到:通过实现自我模拟来实现强人工智能,同时也是在了解人类自身。开发AI的过程,就是模拟我们自身、也是学习自身的过程。