一个雨夜,老侦探在案发现场只做了三件事。第一件,他环顾四周,把「窗户开着」和「地毯湿了」同时写进笔记——这是观察;第二件,他亲手把窗关紧,又泼一杯水在窗台,等了一夜——这是实验;第三件,他靠在沙发上闭眼冥想:如果昨晚雨没下,凶手还会走这扇窗吗——这是想象。观察、实验、想象,恰好对应图灵奖得主 Pearl 提出的「因果阶梯」三层:关联、干预、反事实。第一层回答「看到了什么」,第二层回答「动手后会怎样」,第三层回答「假如当初……会怎样」。每一层都比上一层更接近真相,也要求更高的认知成本。这篇文章带你从侦探的视角,一步步爬上这个阶梯。

岗位关联

因果阶梯是因果推断的理论骨架。掌握它,你能从「只会看数据相关性」升级为「能设计干预、能回答假如问题」,这是 AI 从业者从模型调参走向决策设计的分水岭。

目录
  1. 可视化演示
  2. 一、阶梯总览:侦探的三级思考
  3. 二、第一层 关联:只能看,不能碰
  4. 三、第二层 干预:动手改一改世界
  5. 四、第三层 反事实:想象另一个平行世界
  6. 五、实践意义:三个问题,三个层次
  7. 六、因果与机器学习:只会看的智能不是完整的智能
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示Pearl因果推断框架的关联、干预、反事实三层阶梯结构,交互切换阶梯总览与观察vs干预对比视图。

本节配有交互动效(进入视口后自动加载,约 3KB)。

Pearl因果阶梯三层模型 L1关联:P(Y|X)观察数据统计共变 L2干预:P(Y|do(X))切断后门路径 L3反事实:Y(x)假设性推理 L1包含于L2包含于L3,每层包含下层能力 因果推理三层逐级递进,反事实层能力最强但假设最多。

一、阶梯总览:侦探的三级思考

老侦探办案从不急着下结论。他先站在门口看——窗台上有一片水渍,地毯上有脚印,两者经常一起出现,这叫「观察」;然后他动手,把窗子重新打开又关上,试试雨水会不会真的打湿地毯,这叫「实验」;最后他走进书房,闭眼在脑海中重演:若是那晚没有下雨,凶手会不会从门进来?这叫「想象」。三种思考,一个案子,层层深入。

Pearl(朱迪亚·珀尔,2011 年图灵奖得主)把这三种思考命名为「因果阶梯」(Causal Hierarchy)的关联、干预、反事实三层。每一层都对应一类问题:关联层问「看到 X 时,Y 通常怎样」;干预层问「强制把 X 改成某个值,Y 会怎样」;反事实层问「现实中 X=x、Y=y 已经发生,但假如当初 X=x',同一个对象的 Y 会是什么?」。

三层之间有一个严格的递进关系:高一层能回答低一层的问题,反过来却不行。比如知道「强制吃药后痊愈率 80%(干预)」,就能回答「看到吃药的人痊愈率大概多少」吗?不能,因为现实中吃药的人可能是更容易痊愈的人。这种单向的升降关系,用偏序符号写出来就是:

侦探的笔记上永远写着三行字:我看到什么、我改变了什么、假如当初不同会怎样。这三行字就是因果阶梯在现实世界的投影。接下来五节,我们就一层一层爬上去。

关联≺干预≺反事实\displaystyle \text{关联} \prec \text{干预} \prec \text{反事实}
  1. 三个层次\text{关联}、\text{干预}、\text{反事实} 从左到右排列,代表认知深度递增的三级台阶。
    关联,干预,反事实\text{关联}, \text{干预}, \text{反事实}
  2. 偏序符号\prec 读作「严格低于」,表示后一层的能力严格包含前一层的答案,反向则不行。
    ≺\prec
  3. 整体表达式整个式子说明反事实最强,干预次之,关联最弱,但最弱的关联是一切分析的地基。
    关联≺干预≺反事实\text{关联} \prec \text{干预} \prec \text{反事实}

二、第一层 关联:只能看,不能碰

案发第一夜,侦探命令所有人不许动现场。他只能看、只能记、只能算——窗户开着的概率、地毯湿掉的概率、两件事同时出现的频率。他统计了一百个案发现场,发现「窗开」和「地湿」同时出现的频率高得惊人,但他始终没碰任何东西。

这一层在数学上的标准语言是「条件概率」。它回答的问题是:在已知 X=x 的前提下,Y 取某个值的概率有多大?Pearl 称之为关联层,因为它只刻画「一起出现」,不涉及「谁让谁发生」。落到公式上:

公式右侧分子是「X=x 且 Y=y」同时发生的联合概率;分母是「X=x」发生的边缘概率。二者相除,相当于把目光从整个世界收窄到「X=x」这个子集,再看 Y 在这个子集里的分布。注意:这个式子里的 X 只是被观察,没有被任何人拨动。所以「冰淇淋销量高时溺水人数多」可以写成很高的 P(溺水|冰淇淋),但它只说明两者在数据里同步,并不说明吃冰淇淋会淹死人。

侦探的结论只能写「窗开与地湿存在强关联」,不能写「窗开导致地湿」。线索只是线索,它指向问题,却不等于证据。要让线索变成证据,侦探必须——动手。

P(Y=y∣X=x)=P(X=x,Y=y)P(X=x)\displaystyle P(Y = y \mid X = x) = \frac{P(X = x, Y = y)}{P(X = x)}
  1. 结果事件Y=y 表示关心的结果取了某个值,比如「事故确实发生」。
    Y=yY = y
  2. 条件竖线\mid 读作「在……条件下」,把概率空间缩小到 X=x 的世界。
    ∣\mid
  3. 分子联合概率P(X=x, Y=y) 是两件事同时发生的比例,说明二者「共现」。
    P(X=x,Y=y)P(X = x, Y = y)
  4. 分母边缘概率P(X=x) 是所有 X=x 样本的总占比,在这里充当归一化因子。
    P(X=x)P(X = x)

三、第二层 干预:动手改一改世界

侦探终于动手了。他关紧窗户,泼一杯水在窗台上,第二天发现地毯果然湿了。他又打开窗,但用雨布盖住窗户,雨再大,地毯也没湿。他不再满足于「看到什么」,而是主动改变条件,观察结果是否随之改变。

Pearl 为「动手改」发明了一个数学记号:do 算子。把「观察到 X=x」写成 X=x,把「强制把 X 设成 x」写成 do(X=x)。前者是被动记录,后者是主动干预,二者对应不同的概率分布。当存在混杂因子时,真正的因果效应要用后门调整公式计算:

右边是一个重要的因果工具——后门调整。公式里的 Z 叫混杂因子:一个同时影响 X 和 Y 的「搅局者」。比如研究「吃药(X)是否降低血糖(Y)」时,年龄(Z)既影响是否吃药,也影响血糖。若不控制 Z,观察到的 P(血糖|吃药) 就会被年龄掺水。后门调整的做法是:先算出每一个 Z=z 水平下 X 对 Y 的条件关系,再以 P(Z=z) 为权重求加权平均,相当于把「选择偏差」平均掉。当 Z 包含了所有混杂因子时,右边就等于真正的因果效应。随机对照实验(RCT)之所以是金标准,正是因为随机化让 X 变得与所有 Z 独立,后门路径被随机化切断。

侦探的实验笔记上写着:关窗→湿,开窗加雨布→不湿。他不再只是看,而是反复拨弄世界的开关。这一步走出「观察的迷宫」,打开了通往因果的大门。

P(Y=y∣do(X=x))=∑zP(Y=y∣X=x,Z=z) P(Z=z)\displaystyle P(Y = y \mid \mathrm{do}(X = x)) = \sum_{z} P(Y = y \mid X = x, Z = z)\, P(Z = z)
  1. do 算子\mathrm{do}(X=x) 表示用外力把 X 固定在 x,切断外部对 X 的一切影响。
    do(X=x)\mathrm{do}(X = x)
  2. 混入求和\sum_z 表示把混杂因子 Z 的所有可能取值 z 遍历一遍并加权。
    ∑z\sum_{z}
  3. 条件效应P(Y=y \mid X=x, Z=z) 是固定 Z 之后 X 对 Y 的局部关系。
    P(Y=y∣X=x,Z=z)P(Y = y \mid X = x, Z = z)
  4. 权重归一P(Z=z) 作为权重,让各层贡献按其真实占比进入最终平均。
    P(Z=z)P(Z = z)

四、第三层 反事实:想象另一个平行世界

结案前夜,侦探坐在办公室,不停问自己一个实验永远无法回答的问题:今晚我并没有关窗,地毯是自然湿的,但如果那一夜我真的把窗关上了,地毯还会湿吗?这个问题指向已经无法回头触碰的事实——实验可以关窗,却不能让时间倒流。

这就是反事实层。它处理的是「现实已经发生」之后的假设:给定现实中的个体 u 已经经历了 X=x、得到 Y=y,问「如果在同一个个体上做另一个干预 do(x'),Y 会是什么」。Pearl 用潜在结果记号写出这个想象:

下标 x 不是「观察到 x」,而是「对 u 施加 do(x)」。同一个个体 u 在两种干预下各有一个潜在结果,现实只揭晓其中一个,另一个永远藏在平行世界里。这就是反事实最反直觉的地方:它不是统计整体,而是针对个体;不是预测未来,而是改写历史。由此还能定义「必要因概率」PN,衡量「如果不是因为 x,结果 y 是否还会发生」:

侦探最终在报告里写道:那晚的雨不是地毯湿的原因——因为即使雨停,管道渗水同样会弄湿地毯。反事实让侦探在现实中只见到一种结局,却在脑海中推演了所有结局。

Yx(u)  与  Yx′(u)\displaystyle Y_{x}(u) \;\text{与}\; Y_{x'}(u)
PN=P(Yx′≠y∣X=x,Y=y)\displaystyle \mathrm{PN} = P\bigl(Y_{x'} \neq y \mid X = x, Y = y\bigr)
  1. 个体记号括号里的 u 指一个具体对象,比如「现在躺着的这个病人」,不是全体人群。
    uu
  2. 干预下标Y 的下标 x 表示对 u 施加 do(x),是主动操作而非观察条件。
    Yx(u)Y_{x}(u)
  3. 两个世界对比比较 Y_x(u) 与 Y_{x'}(u) 是否有差异,才构成反事实断言。
    Yx(u)≠Yx′(u)Y_{x}(u) \neq Y_{x'}(u)
  4. 概率化表达\mathrm{PN} 把「假如不干预就不会发生」的确定程度变成一个概率。
    PN=P(Yx′≠y∣X=x,Y=y)\mathrm{PN} = P\bigl(Y_{x'} \neq y \mid X = x, Y = y\bigr)

五、实践意义:三个问题,三个层次

结案报告要交给三种人:巡警关心「以后看到什么情况要警惕」,局长问「我们要不要布置巡逻」,法官问「如果当时没有这条线索,案子还会破吗」。一个问题对应阶梯的一层,答错了层,结论就没有意义。

把这种「问题分类学」用到数据科学中:预测、策略、归因分别落在关联、干预、反事实三层。预测只问「看到 X 时 Y 如何」,用条件概率;策略问「如果我强制实施某项政策」,用 do 算子;归因问「对这位实际出事的患者,药物是不是必要原因」,用反事实。决策学里最常用的两个量是平均处理效应(ATE)和处理组平均处理效应(ATT):

Y_1 与 Y_0 是同一批个体分别接受处理与不接受处理的潜在结果,它们都是反事实,因为一个人不可能同时出现在两个平行世界里。\mathbb{E}[\cdot] 把个体差异平均掉,得到「平均而言处理改变了多少」;ATT 则更进一步,只对现实中真正接受处理的人求平均,回答「药到底对吃药的人有多大用」。加上因果图、do-calculus 等工具,Pearl 的框架让这类问题在观察数据与实验数据混合的场景下也能被严格计算。

侦探把三类答案写上报告封面:警惕看关联,行动靠干预,问责靠反事实。问对层,答案自然涌现。

ATE=E[Y1−Y0],ATT=E[Y1−Y0∣X=1]\displaystyle \mathrm{ATE} = \mathbb{E}[Y_1 - Y_0], \qquad \mathrm{ATT} = \mathbb{E}[Y_1 - Y_0 \mid X = 1]
  1. 潜在结果对Y_1 代表处理组世界里的结果,Y_0 代表对照组世界里的结果。
    Y1,Y0Y_1, Y_0
  2. 期望运算\mathbb{E}[\cdot] 表示对个体求和取平均,抹平个体差异。
    E[⋅]\mathbb{E}[\cdot]
  3. ATE 全体均值不附加条件,对全体平均,回答「平均每个人被处理改变多少」。
    ATE=E[Y1−Y0]\mathrm{ATE} = \mathbb{E}[Y_1 - Y_0]
  4. ATT 限定处理组竖线后用 X=1 限定现实中真正被处理的人,回答「对实际吃药的人药效如何」。
    ATT=E[Y1−Y0∣X=1]\mathrm{ATT} = \mathbb{E}[Y_1 - Y_0 \mid X = 1]

六、因果与机器学习:只会看的智能不是完整的智能

侦探收了个机器助手。助手天赋惊人:看得快、记得牢,能把过去一千个案子的规律背得滚瓜烂熟。但它有个致命问题——只会把「看到线索」当作「案件真相」。某个社区雨夜盗窃案频发,助手便报告「下雨导致盗窃」,全然不知自己只是在重复相关性。

现代机器学习的主流训练方式是经验风险最小化:在训练数据上寻找让平均损失最小的函数:

这个式子只奖励「输入 x 能预测 y」,不关心「改变 x 是否改变 y」,所以它学到的是关联层模型。一旦部署环境与训练分布不同(分布偏移),比如雨夜样本变少、房价整体上涨,靠相关关系外推的模型就可能失效。这正是因果阶梯重要的原因:干预层要求模型回答「如果我改变系统的某个部分会怎样」,反事实层要求模型回答「回到过去换一种做法会怎样」。把因果结构嵌入模型(因果学习、因果表示学习),是当前 AI 从「看图说话」走向「盘问世界」的前沿方向。

真正的侦探从不只用眼睛破案。机器助手要成为侦探,就得把观察、实验、想象三个阶段装进同一个大脑:先看相关,再推干预,最后能够回答「假如」。

min⁡f  1n∑i=1nL(f(xi),yi)\displaystyle \min_{f} \; \frac{1}{n} \sum_{i=1}^{n} L\bigl(f(x_i), y_i\bigr)
  1. 模型函数f(x) 是学习到的预测函数,输入特征 x 输出预测值。
    f(x)f(x)
  2. 损失函数L(f(x_i), y_i) 度量预测与真实标签的差距,差距越大惩罚越重。
    L(f(xi),yi)L(f(x_i), y_i)
  3. 样本均值\frac{1}{n}\sum 遍历所有训练样本,把平均损失作为优化目标。
    1n∑i=1n\frac{1}{n} \sum_{i=1}^{n}
  4. 函数求极小\min_f 表示在允许的函数空间中挑选损失最小的那个 f。
    min⁡f\min_f

AI 应用场景

场景一:医疗真实世界数据中的药效评估

阶段:因果推断 / 模型评估

解决的问题:电子病历是观察数据,服药患者往往病情更重,简单回归会低估药效甚至得出相反结论。传统统计只做相关性分析,无法区分「吃药的人本来就更重」和「吃药有效」。

具体案例:某药企分析 20 万条电子病历评估降糖药效果。朴素回归显示服药者糖化血红蛋白反而更高(选择偏差),团队画出因果图后确认「病程、年龄」是混杂因子,用后门调整控制这些变量,得到真实的负向效应——药物确实有效。这正是因果阶梯第二层的标准操作。

场景二:推荐系统离线策略评估

阶段:反事实推断 / 决策优化

解决的问题:推荐系统只有用户的历史点击日志(观察数据),想评估「给所有新用户发 8 元券」这个新策略的效果时,不可能全体上线试错。传统 A/B 测试成本高、周期长,且无法回答「对已经发生了的历史,换个策略会怎样」。

具体案例:电商平台上线优惠券策略前,用历史日志做反事实推演:对未领券用户假设发券,估计购买率增量;再以随机对照实验的小流量结果做校验,发现反事实估计与实验结论误差在可接受范围内,成功把 90% 的候选策略在线上实验前筛掉。

场景三:算法公平性审计

阶段:模型审计与可解释性

解决的问题:招聘模型被质疑性别歧视。传统分析只能看到「女性特征与录用率负相关」,无法回答「如果候选人性别不同,录用结果会不会改变」。相关性不是歧视的证据,反事实才是。

具体案例:某公司审计简历筛选模型:对每个落选候选人构造「性别翻转」的反事实样本,若相当比例的人预测结果被翻转,就认为模型存在因果歧视。这种方法把「公平」从口号变成了可计算的反事实问题,已成为 AI 治理领域的标准审计手段之一。

Python 演示

python38 行
import numpy as np  def simulate(n=20000, seed=42):    rng = np.random.default_rng(seed)    Z = rng.normal(0, 1, n)    X = 0.8 * Z + rng.normal(0, 1, n)    Y = 1.5 * X + 1.2 * Z + rng.normal(0, 1, n)    return Z, X, Y  def naive_slope(X, Y):    # 关联层: 只观察 X 和 Y, 得到的是"相关系数"视角的斜率 (有偏)    A = np.column_stack([np.ones_like(X), X])    beta, _, _, _ = np.linalg.lstsq(A, Y, rcond=None)    return beta[1]  def causal_slope(Z, X, Y):    # 干预层: 控制混杂因子 Z 后的因果效应    A = np.column_stack([np.ones_like(X), X, Z])    beta, _, _, _ = np.linalg.lstsq(A, Y, rcond=None)    return beta[1]  def counterfactual_mean(Z, X, Y, x_new=1.5):    # 反事实层: 用结构方程推演"如果强制所有人 X=x_new"世界的平均结果    A = np.column_stack([np.ones_like(X), X, Z])    beta, _, _, _ = np.linalg.lstsq(A, Y, rcond=None)    X_cf = np.column_stack([np.ones_like(Z), np.full_like(X, x_new), Z])    return float((X_cf @ beta).mean())  if __name__ == "__main__":    Z, X, Y = simulate()    print(f"关联层(混淆斜率): {naive_slope(X, Y):.3f}")    print(f"干预层(因果效应): {causal_slope(Z, X, Y):.3f}")    print(f"反事实层(全员 X=1.5 的平均 Y): {counterfactual_mean(Z, X, Y, 1.5):.3f}")
目的:用模拟数据演示同一份数据在关联、干预、反事实三层上给出的不同答案,展示混杂因子如何让相关性偏离因果。
  1. Y = 1.5 * X + 1.2 * Z + rng.normal(0, 1, n)真实因果效应被设定为 1.5,这是唯一正确答案
  2. X = 0.8 * Z + rng.normal(0, 1, n)处理 X 受混杂 Z 驱动,构成后门路径 X←Z→Y
  3. A = np.column_stack([np.ones_like(X), X])关联层模型只放截距和 X,忽略 Z
  4. beta, _, _, _ = np.linalg.lstsq(A, Y, rcond=None)最小二乘解出回归系数
  5. A = np.column_stack([np.ones_like(X), X, Z])干预层模型把混杂 Z 加入控制,对应后门调整
  6. np.full_like(X, x_new)反事实层强制所有人取同一个 x_new,模拟「全员干预」
  7. X_cf @ beta用学到的结构系数推演平行世界里的平均结果

常见误区

误区既然「相关不等于因果」,那相关性分析和纯观察数据在因果推断里就没用了,应该直接去做实验。

正解关联层是因果阶梯的地基。没有观察数据,你根本不知道哪些现象值得深挖;Pearl 的后门调整在很大程度上也要靠观察数据构建模型。就像侦探必须先看现场才有方向,线索本身不提供证据,但线索指出破案方向。

为何常见:「相关不等于因果」被反复强调,初学者容易把「不能证明因果」误读为「毫无价值」。

误区为了排除混杂,做回归时把能想到的变量全放进去,控制得越多越接近因果。

正解控制变量必须看因果图。控制「对撞因子」(同时被 X 和 Y 影响的变量)会打开新的路径,反而引入偏差。正确做法是控制通过后门路径影响 X 的混杂变量。侦探关窗实验里,若把「地毯材质」这种被结果影响的变量也塞进模型,结论会乱套。

为何常见:直觉上信息越多越好,但统计上的「条件作用」不是简单剔除信息,而是在图上改变因果流动的结构。

误区只要样本足够大,观察到的 X 和 Y 的比值,就是 X 对 Y 的因果效应。

正解有混杂时二者并不相等。do(X=x) 意味着把 X 固定,切断所有外部对 X 的影响;P(Y|X) 则保留了现实中的选择偏差。冰淇淋销量与溺水人数的例子正是如此——数据里相关性强,但强制减少冰淇淋销售并不会降低溺水率。

为何常见:两个记号只差一个 do,数学形式上太接近,容易让人以为只是书写习惯不同。

误区反事实问题就是拿预测模型对特征输入做一次推断:给定 X 预测 Y。

正解预测是「我观察到 X=x,推断 Y 的分布」;反事实是「我知道现实里 X=x、Y=y,请问如果把 X 改成 x',同一个对象的 Y 会是多少」。前者被动条件化,后者主动改写机制,需要结构方程模型或潜在结果框架,普通回归预测器做不到。

为何常见:两者都涉及「给定条件,推断结果」,表面形式相似,容易混淆背后的因果语义。

误区只有做随机对照试验才能证明因果,观察数据永远只能谈相关。

正解在清晰的因果图假设下,观察数据配合后门调整、工具变量等方法同样可以识别因果效应,只是它比 RCT 更依赖「结构假设」的可信度。因果阶梯的意义正在于:把「因果识别」从依赖实验特权的黑魔法,变成可检验的科学推理。

为何常见:教材常把 RCT 捧为金标准,却很少讲金标准之外还有一套完整、严格的可计算方法论,导致「非实验即不能因果」的错觉。

面试题

Q1. Pearl 因果阶梯的三层从低到高依次是?

单选题 · easy

  • A.关联、干预、反事实← 正确答案
  • B.关联、反事实、干预
  • C.干预、关联、反事实
  • D.反事实、干预、关联

答案:A。因果阶梯的认知深度从浅到深是关联、干预、反事实。关联只问「看到什么」,干预问「动手后会怎样」,反事实问「假如当初会怎样」。这就像侦探办案:先观察现场,再做实验,最后在脑中想象另一种结局。

Q2. 观察到「冰淇淋销量上升时溺水人数也上升」,最合理的结论是?

单选题 · easy

  • A.吃冰淇淋导致溺水人数上升
  • B.二者由共同原因「天气炎热」驱动← 正确答案
  • C.溺水人数上升导致买冰淇淋
  • D.二者之间没有任何统计相关性

答案:B。冰淇淋销量和溺水人数都受「夏季高温」这个混杂因子影响,二者存在统计相关性但不存在直接因果关系。这属于关联层陷阱:相关是线索,不等于证据。用 do 算子干预冰淇淋销量并不会改变溺水率。

Q3. 在因果推断中,记号 do(X=x) 的含义是?

单选题 · easy

  • A.观察到 X 的值恰好等于 x
  • B.强制把 X 设定为固定值 x← 正确答案
  • C.预测 X 在未来会取到的值 x
  • D.把数据中所有 X 变量删除掉

答案:B。do(X=x) 表示用外力把 X 固定在 x,切断外部对 X 的因果影响,这是「干预」的数学记号。观察到 X=x 只表示被动记录。二者的区别正是关联与干预的本质差异,也是因果阶梯第二层和第一层的分界线。

Q4. 关于 P(Y|do(X)) 与 P(Y|X),下列说法正确的是?

单选题 · mid

  • A.前者等于后者,没有任何区别
  • B.前者排除混杂,后者含混杂关联← 正确答案
  • C.后者排除混杂,前者含混杂关联
  • D.二者都无法估计任何效应

答案:B。do 算子阻断了混杂因素指向 X 的路径,因此 P(Y|do(X)) 反映的是因果效应;P(Y|X) 只是观察条件下的分布,受混杂影响。二者在有混杂时不相等,无混杂时才一致。

Q5. 以下哪句话是典型的反事实问题?

单选题 · mid

  • A.有多少感冒患者吃过这种药
  • B.吃药组与不吃药组的治愈人数
  • C.如果没吃这种药,他现在会怎样← 正确答案
  • D.这种药的副作用发生率是多少

答案:C。反事实针对已经发生的事实提出「假如当初不同会怎样」的假设。C 问的是「现实吃过药但现在假设没吃」,需要改写历史,属于因果阶梯第三层;A、B、D 都是观察或统计层面的问题。

Q6. 关于随机对照实验(RCT),下列说法正确的有?

多选题 · mid

  • A.通过随机化切断混杂变量的路径← 正确答案
  • B.随机化后 X 独立于所有混杂因素← 正确答案
  • C.观察数据中不需要任何因果假设
  • D.一定能得到一个普适不变的模型

答案:AB。RCT 的核心是随机分组,使得处理 X 与所有潜在混杂因素独立,从而让 P(Y|do(X)) 可以直接观测。C 错,因为观察数据永远需要结构假设;D 错,任何实验结论都有其适用边界。

Q7. 关于「关联层」,下列说法正确的有?

多选题 · mid

  • A.只依赖被动观察的数据← 正确答案
  • B.回答「看到 X 时 Y 如何」的问题← 正确答案
  • C.能回答「强制 X 时 Y 如何」的问题
  • D.用条件概率 P(Y|X) 建模← 正确答案

答案:ABD。关联层只做被动观察,模型是条件概率 P(Y|X)。它回答「看到」类问题,但不能回答「强制」类问题——那是干预层的能力。理解这个边界是抓住因果阶梯要害的第一步。

Q8. 后门调整公式中,求和的对象是?

单选题 · hard

  • A.混杂因子 Z 的所有取值← 正确答案
  • B.处理变量 X 的所有取值
  • C.结果变量 Y 的所有取值
  • D.误差项的所有可能分布

答案:A。后门调整对混杂因子 Z 的所有取值求和,以 P(Z=z) 为权重做加权平均,目的是把所有后门路径被阻断后的条件效应汇总起来。对 X 或 Y 求和没有因果含义,误差项分布也与调整公式无关。

Q9. 以下哪些问题属于反事实层?

多选题 · hard

  • A.若当时没下雨,凶手会改走门吗← 正确答案
  • B.若病人当初不吃药,今天会好吗← 正确答案
  • C.吃药的病人占全体患者的比重
  • D.下雨与地面潮湿的相关强度

答案:AB。反事实问题必须包含「已知现实,假设更改某个条件,推断同一对象的另一种结局」。A 和 B 都在改写历史,属于第三层;C 是统计占比,D 是相关分析,都停留在关联层。

Q10. 当存在未观测到的混杂因子同时影响 X 和 Y 时,不用实验、只用观察数据,关于 X 对 Y 的因果效应,以下说法正确的是?

单选题 · extreme

  • A.能,数据量足够大即可
  • B.不能,缺少可识别结构条件← 正确答案
  • C.能,用 P(Y|X) 直接代替即可
  • D.能,做多次线性回归即可

答案:B。后门调整要求观测到所有混杂因子。当存在未观测混杂时,P(Y|do(X)) 未必能从观察分布中唯一识别,需要更强的结构条件(如工具变量、前门路径)。数据量再大也无法弥补结构性缺失,这正是因果推断与纯统计预测的本质区别。