想象你站在人生的岔路口:向左是学编程,向右是学医。现实中你选了编程,成为一名程序员。可是夜深人静时,你偶尔会想——如果那天我选了学医,现在会怎样?正在手术台前救死扶伤,还是已经熬秃了头? 这个“如果”在统计学里有一个专门的名字:反事实(counterfactual)。它不是你真实经历的人生,而是对“假如走了另一条路”的推演。数学家用一个精巧的符号来记录这种推演:Y_x(u)。其中 u 是你,x 是那个“可能的选择”,Y 是最终的结局。 这就是潜在结果框架(Potential Outcomes Framework)的起点。它把“因果”这个听起来很哲学的问题,翻译成了可以计算的数学语言:每个人在每种选择下都有一个潜在结局,而因果效应,就是两个平行结局之间的差。 这篇文章将带你一个零件一个零件地拆解这个符号,理解为什么“观察到的现实”与“假设的世界”之间横贯着一条无法直接跨越的鸿沟,以及统计学家用哪些工具(do 算子、SUTVA 假设)在鸿沟上架桥。读完你会发现,因果推断并不神秘——它不过是把你心底那句“如果当初”,说成了数学能听懂的语言。

岗位关联

对 AI 从业者而言,Y_x(u) 是因果推断的“字母表”:理解它,你才能读懂 do-calculus、因果效应估计和反事实推理这些前沿方法,在做模型决策时真正区分“相关”与“因果”。

目录
  1. 可视化演示
  2. 潜在结果定义:每个人都有两本剧本
  3. 反事实符号语法:拆解一个三字经
  4. 观察数据局限:人生不能倒带重演
  5. do 与 see:强制安排的剧本 vs 自然选择的人生
  6. 因果效应量化:从个体之痛到平均之光
  7. 核心假设:平行世界不串门
  8. 与 do-calculus 的桥梁:两种语言,同一个故事
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示潜在结果Y(1)/Y(0)的对照关系、do算子与条件化的本质区别,以及因果效应估计的核心概念。

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

潜在结果框架 Y(1):接受处理时的潜在结果 Y(0):未接受处理时的潜在结果 因果效应:Y(1)-Y(0),但个体只能观察到一个 ATE = E[Y(1)] - E[Y(0)] 基本难题:个体反事实不可同时观测

潜在结果定义:每个人都有两本剧本

你的人生是个多线游戏。高二那年的存档点上方浮现两个选项:【A 学编程】和【B 学医】。你按下了 A,解锁了“程序员”结局。但那个被搁置的 B 选项——“医生”结局——并没有消失,它只是永远停留在“未读取”状态。对这份游戏存档来说,A 结局和 B 结局同时存在,这就是潜在结果的雏形。

潜在结果框架(Rubin 因果模型)把“游戏存档”翻译成数学:每个个体 $u$,在每种可能的干预 $x$ 下,都有一个潜在结局 $Y_x(u)$。干预就是你按下的选项键,潜在结果就是那个选项对应的结局画面。在二值情形,$X=1$ 是“学编程”,$X=0$ 是“学医”,于是每个人手里都捏着两本剧本。

这一框架的核心主张是:因果效应必须用“干预后的结果与未干预结果的对比”来定义,而不是用“干预前后的时间对比”。这看起来简单,却把因果从“时间先后”的直觉直觉,升级成了“平行世界对比”的严谨数学。$Y_x(u)$ 正是这个框架的基本词汇——给定个体 $u$ 与干预 $x$,它回答“假如 $u$ 进入剧本 $x$,结局是什么”。

两本剧本,一本被翻阅,一本蒙尘。因果推断的全部努力,就是让蒙尘的那一本开口说话。

Yx(u)Y_x(u)
这个符号读作“个体 u 在干预 x 下的潜在结果”。它描述的是“假如”,而不是“已经发生”。
  1. 结果变量 Y结局的代号,可以是收入、血压、点击率等任何你想研究的终点。
    YY
  2. 干预下标 x剧本编号。它写在右下角,表示“假如接受了哪种处理”。
    xx
  3. 个体标识 u括号里坐着具体的人。$u$ 代表研究的单位,可以是一位病人、一名用户、一只小白鼠。
    (u)(u)

反事实符号语法:拆解一个三字经

$Y_x(u)$ 像一句压缩的台词:“Y 是结局,x 是谁的剧本,u 是主角。”当老师让你把 $Y_x(u)$ 拆开时,就像把“如果当初”翻译成三个部件——结局、剧本、人物。

先看 $Y$。它是结果变量,指代任何你想预测的终点:收入、血压、转化率、存活时间。再看下标 $x$,它是“剧本编号”,代表干预水平。最后是 $(u)$,括号里坐着具体的人——小明、小红、某位用户、某位病人。反过来读,$Y_x(u)$ 的意思是“在剧本 $x$ 里,个体 $u$ 的结局”。

当干预是二值时,每个个体都有两个潜在结果 $Y_0(u)$ 与 $Y_1(u)$。如果现实选了剧本 1,那么 $Y_1(u)$ 是“已实现的事实”,$Y_0(u)$ 就是“反事实”——与事实相反的想象。“反事实”(counterfactual)这个词,字面意思就是“与事实相对”。注意:潜在结果不要求“真的会发生”,它只要求“在逻辑上可以被定义”。

这两个潜在结果像是同一角色的两款皮肤,一个已实装,一个锁在“未上线”的仓库里。而因果推断真正惦记的,正是仓库里的那个。

{Y0(u),  Y1(u)}\{ Y_0(u), \; Y_1(u) \}
花括号表示“两人份的结局”:一个对应剧本 0,一个对应剧本 1,它们同时存在、尚未被命运翻开。
  1. 花括号集合把两种剧本的结局装进同一只篮子,表示“同时存在、只是尚未被命运翻开”。
    {⋅,⋅}\{ \cdot, \cdot \}
  2. Y_0(u)剧本 0 的结局,对应“学医/安慰剂/对照组”。
    Y0(u)Y_0(u)
  3. Y_1(u)剧本 1 的结局,对应“学编程/治疗/实验组”。
    Y1(u)Y_1(u)

观察数据局限:人生不能倒带重演

人生不是录像带,不能倒回去重录一遍。你按下了“学编程”,就永远只能看到程序员线的结局;“医生线”的结局无论多么详尽地存在于想象里,都不会出现在你的履历表上。

观察数据记录的永远是“已实现的那一个”:$X=1$ 的人交出 $Y_1(u)$,$X=0$ 的人交出 $Y_0(u)$。统计学家把这个现象称为因果推断的基本问题(Fundamental Problem of Causal Inference):对任何一个个体,你最多只能观察到两个潜在结果中的一个,另一个永久缺失。这与“缺失数据”视角相通——每个个体都缺失了一个潜在结果,而因果推断的任务,就是想办法把这个缺失值“补”出来。

用公式表达这种“二选一”的观察机制:

数据像一份残缺的账本,每行都少记了一笔。但聪明的会计师不靠穿越时空,而是把很多人的账本放在一起,用群体的规律把缺失项估出来——这就是所有因果方法的起点。

Y(u)=X×Y1(u)+(1−X)×Y0(u)Y(u) = X \times Y_1(u) + (1 - X) \times Y_0(u)
这里的 $X$ 是一个 0/1 开关:现实上演了哪本剧本,观察值就取哪本结局。
  1. X 是 0/1 开关$X=1$ 表示现实上演剧本 1,$X=0$ 表示上演剧本 0。
    X∈{0,1}X \in \{0, 1\}
  2. 第一项 X × Y_1(u)当 $X=1$ 时被激活,观察值取 $Y_1(u)$。
    X×Y1(u)X \times Y_1(u)
  3. 第二项 (1−X) × Y_0(u)当 $X=0$ 时被激活,观察值取 $Y_0(u)$。
    (1−X)×Y0(u)(1 - X) \times Y_0(u)

do 与 see:强制安排的剧本 vs 自然选择的人生

政府突然颁布政策:全国高中生一律学编程。这是 do(学编程)——外部力量强制所有人上场剧本 1。而你默默观察“主动选择编程”的那些人,体会他们的结局,这是 see 学编程。前者是让所有人进同一个副本,后者是看谁爱进副本。

在概率语言里:$P(Y \mid \mathrm{do}(X=1))$ 表示“强制干预后全体的结果分布”,$P(Y \mid X=1)$ 表示“条件化——只看那些本来 $X=1$ 的人的结果分布”。二者在直觉上就不同:主动选编程的人可能本来就智商高、家里条件好(这些是混淆变量),而强制编程则把这种自选择抹平了。

当存在混淆变量 $Z$ 同时影响 $X$ 和 $Y$ 时:

把所有人都扔进“编程”副本,才能看到编程的平均加成;只统计自愿进副本的人,混入了“本来就能通关”的玩家。这就是 do 与 see 最深的分野。

P(Y∣do(X=x))≠P(Y∣X=x)P(Y \mid \mathrm{do}(X=x)) \neq P(Y \mid X=x)
左边是“因”的世界,右边是“果”的幻影。$\mathrm{do}$ 算子切断了所有指向 $X$ 的箭头,而条件化只是筛选出 $X=x$ 的子总体。
  1. do(X=x)外部的强制干预,把 $x$ 直接指定,并切断所有指向 $X$ 的因果箭头。
    do(X=x)\mathrm{do}(X=x)
  2. P(Y | X=x)条件化,只在“自然选择 $X=x$”的人组成的子总体里统计 $Y$。
    P(Y∣X=x)P(Y \mid X=x)
  3. 不等号存在混淆时二者分离——“相关不等于因果”的数学签名。
    ≠\neq

因果效应量化:从个体之痛到平均之光

你永远问不出“小明如果学医收入多少”——这个问题没有答案,因为小明只有一个。但是,你可以问“如果全人类都学编程 vs 全人类都学医,平均收入差多少”。前者是个体的死局,后者是群体的出路。

个体因果效应定义为 $CE_u = Y_1(u) - Y_0(u)$。但因为反事实不可观测,它在没有任何假设时不可识别。于是统计学家转向平均因果效应(Average Causal Effect, ACE),把目光从“这个人的两个世界”移到“所有人的两个世界”。

随机对照试验之所以是黄金标准,正是因为随机化让两组在所有预先存在的变量(包括混淆 $Z$)上均衡,此时朴素均值差恰好等于 ACE。个体因果是一道永远无解的谜题,但平均因果是一扇可以打开的门——前提是你愿意放弃“小明会怎样”的执念,改问“人类会怎样”。

ACE=E[Y1]−E[Y0]ACE = \mathbb{E}[Y_1] - \mathbb{E}[Y_0]
期望 $\mathbb{E}$ 就是“把所有人取平均”的口语:先让全世界都走剧本 1 算平均,再让全世界都走剧本 0 算平均,两者相减。
  1. E[Y_1]全世界都走剧本 1 时的平均结局。
    E[Y1]\mathbb{E}[Y_1]
  2. E[Y_0]全世界都走剧本 0 时的平均结局。
    E[Y0]\mathbb{E}[Y_0]
  3. 相减干预对群体平均结局的净贡献,即平均因果效应。
    E[Y1]−E[Y0]\mathbb{E}[Y_1] - \mathbb{E}[Y_0]

核心假设:平行世界不串门

平行宇宙题材有一条铁律:不同世界之间绝不互相影响。如果 A 世界里的小明学编程赚了大钱,这个信息不能穿越到 B 世界,改变学医的小红的工资。这正是 SUTVA 的直觉。

SUTVA(稳定单位处理值假设,Stable Unit Treatment Value Assumption)包含两个要件:无干扰性——你的选择不影响我的结果;一致性——观察结果等于实际干预对应的潜在结果。它把“所有个体和所有干预组合”的巨大矩阵,压缩成“每个人只对自己的干预有反应”的简洁结构。

此外,观察数据还需要可忽略性(交换性)假设:给定混淆 $Z$ 后,潜在结果与干预条件独立,即 $Y_1, Y_0 \perp X \mid Z$。平行世界不串门,因果推断才推得下去;一旦串门,每个结局都染上别人的选择,因果账本将变成一团乱麻。

Yi(x1,…,xN)=Yi(xi)Y_i(x_1, \dots, x_N) = Y_i(x_i)
左边是“第 i 个人的结果理论上依赖所有人的剧本”;在 SUTVA 下,右边只依赖他自己那一格剧本。
  1. 左边第 $i$ 个个体在“所有人的干预组合”下的结果。
    Yi(x1,…,xN)Y_i(x_1, \dots, x_N)
  2. 右边第 $i$ 个个体只被自己的干预 $x_i$ 决定。
    Yi(xi)Y_i(x_i)
  3. 等号无干扰假设把多维依赖压缩为单维依赖,是 SUTVA 的数学表达。
    ==

与 do-calculus 的桥梁:两种语言,同一个故事

潜在结果框架说的是“个体剧本”的语言,do-calculus 说的是“群体干预”的语言。就像中文里的“番茄”和英文里的"tomato",指向同一个红果子。因果推断需要这两门语言的互译。

在潜在结果框架里,反事实概率写作 $P(Y_x = y)$;在结构因果模型里,干预分布写作 $P(y \mid \mathrm{do}(X=x))$。Pearl 证明了它们是同一枚硬币的两面:

do-calculus 的三条规则,便是在因果图上对含 $\mathrm{do}$ 的表达式做等价变换;而潜在结果框架在 SUTVA 与可忽略性等假设下,给出这些表达式可被观察数据识别的条件。当代因果推断(双重机器学习、因果发现)正是同时借用这两套语言的力量。从此,英文的 do 能说清中文的反事实,图模型能搭起个体故事的脚手架——你在任何一篇因果机器学习论文里,都能在 $Y_x(u)$ 或 do 算子之间找到同一个故事。

P(Yx=y)=P(y∣do(X=x))P(Y_x = y) = P(y \mid \mathrm{do}(X=x))
这个等式把“假如”翻译成“干预”,是潜在结果框架与 do-calculus 之间的互译桥梁。
  1. 反事实概率左边是“个体在剧本 $x$ 下结局为 $y$ 的概率”。
    P(Yx=y)P(Y_x = y)
  2. 干预分布右边是“强制干预 $X=x$ 后结局为 $y$ 的概率”。
    P(y∣do(X=x))P(y \mid \mathrm{do}(X=x))
  3. 等号两种语言指向同一因果量——这是两套理论体系互相验证的根基。
    ==

AI 应用场景

药物治疗效果评估(临床试验)

阶段:因果效应估计

解决的问题:医生只能观察到病人“实际服药”的结果,“服药组 vs 未服药组”的差值混入了病情严重度等混淆变量。用潜在结果框架可以设计随机对照试验,或在观察数据上通过调整混淆变量估计真实因果效应。

具体案例:某药企评价新药对血压的影响。研究者将病人随机分为用药组和安慰剂组,两组基线均衡,此时 $ACE = \mathbb{E}[Y_1] - \mathbb{E}[Y_0]$ 可直接用两组均值差估计——这正是反事实框架在临床试验中的标准应用。

个性化推荐与 AB 测试(用户增长)

阶段:策略评估与反事实推演

解决的问题:推荐系统上线新策略,直接比较“看到新策略的用户 vs 没看到的用户”存在自选择偏差(活跃用户更容易被分到新策略)。反事实思维帮助定义“假如所有用户都看到新策略 vs 全都不看”的差异。

具体案例:某电商平台做优惠券推送 AB 测试。随机分流保证可忽略性(在忽略社交干扰的假设下),用平均因果效应估计优惠券对复购率的真实影响,再决定是否全量推送。若只能拿到观察日志,则用倾向得分匹配来补全“未曝光用户的反事实转化率”。

在线广告与双重机器学习(因果推断 + 图模型)

阶段:因果发现与效应估计

解决的问题:广告主想回答“如果曝光量增加 10% 会带来多少转化”——这是一个标准的反事实问题。do-calculus 可从有向无环图(DAG)推导出可识别的调整公式,双重机器学习则在高维混淆下稳健地估计该效应。

具体案例:广告平台用 DML 估计广告曝光对转化的因果效应,以用户历史活跃度、设备类型等为混淆变量,得到接近随机实验的因果结论,从而优化出价策略。

Python 演示

python36 行
import numpy as np  def simulate(n=10000, seed=42):    """模拟一个有混淆变量的二值干预场景。     Z 是"能力",同时影响选择编程(X)和最终收入(Y)。    """    rng = np.random.default_rng(seed)    Z = rng.normal(0, 1, n)    logit = 0.8 * Z    prob = 1.0 / (1.0 + np.exp(-logit))    X = rng.binomial(1, prob, n)    Y0 = 30 + 1.0 * Z + rng.normal(0, 1, n)   # 学医世界的收入    Y1 = 50 + 2.0 * Z + rng.normal(0, 1, n)   # 编程世界的收入    Y = np.where(X == 1, Y1, Y0)              # 观察值只能看到一条路    return Z, X, Y, Y0, Y1  def naive_estimate(X, Y):    """朴素估计:观察组均值直接相减"""    return Y[X == 1].mean() - Y[X == 0].mean()  def true_ace(Y0, Y1):    """真实平均因果效应:平行世界的均值差"""    return (Y1 - Y0).mean()  if __name__ == "__main__":    Z, X, Y, Y0, Y1 = simulate()    ace = true_ace(Y0, Y1)    naive = naive_estimate(X, Y)    print(f"真实 ACE = {ace:.3f}")    print(f"朴素估计 = {naive:.3f}")    print(f"偏差     = {naive - ace:.3f}")
目的:模拟一个带有混淆变量“能力”的二值干预场景,对比“平行世界全知视角”下的真实平均因果效应与“观察数据朴素估计”之间的偏差,直观展示相关不等于因果。
  1. prob = 1.0 / (1.0 + np.exp(-logit))能力 Z 影响选编程的概率,人为制造混淆。
  2. Y1 = 50 + 2.0 * Z + rng.normal(0, 1, n)编程世界的收入也受能力影响,让 Z 同时污染 X 和 Y。
  3. Y = np.where(X == 1, Y1, Y0)观察数据只记录实际剧本的结果,另一本永久缺失。
  4. naive = naive_estimate(X, Y)直接相减得到有偏估计,因为两组“能力”不均衡。
  5. ace = true_ace(Y0, Y1)全知的平行世界答案,现实中观测不到。
  6. print(f"偏差 = {naive - ace:.3f}")把“相关 ≠ 因果”的差距直接打印出来。

常见误区

误区“只要数据足够多、传感器足够全,我总能同时看到 Y1(u) 和 Y0(u),反事实就变成事实了。”

正解反事实不是“暂时缺失”的数据,而是“逻辑上不可能对同一个体同时获得”的数据。平行世界里你可以知道,这个宇宙里不行。数据再多,也只能观察到实际剧本的结局;另一个结局只能靠群体的统计规律来推断,永远无法在个体层面证实或证伪。

为何常见:人脑容易把“没见过”等同于“还没找到”,但反事实属于“找不到”而非“没找到”。

误区“do(X=1) 不就是看看 X=1 的那些人吗?条件概率和干预有什么区别?”

正解do(X=1) 是把所有人强制推到剧本 1;P(Y|X=1) 只是筛选出那些自然选择剧本 1 的人。后者混入了“人本身的特点”(混淆),前者切断了这些特点通向 X 的路径。在随机试验里两者相等,但观察数据中通常相差很远——这正是 RCT 成为金标准的原因。

为何常见:条件概率统计课上天天见,“干预”却很少见,初学容易把两者当成一回事。

误区“我看到冰淇淋销量和溺水人数高度相关,所以相关性毫无价值,不如直接看因果。”

正解相关性并非没用,它是因果推断的原材料。在无混淆假设下(如随机化),相关量就是因果量;观察数据里,相关 + 正确的调整策略(如控制混淆 Z)也能推出因果。相关不等于因果,不等于“相关性不能服务于因果”。

为何常见:把“不等于”误读为“无关”,忽略了因果推断正是从观察相关出发、借助假设走完最后一公里的学科。

误区“每个人各过各的日子,我的选择怎么会影响别人?SUTVA 总是对的。”

正解疫苗研究就违反无干扰性——邻居接种会降低你得病的概率(群体免疫)。社交网络、物流、教育里的同伴效应也普遍违反 SUTVA。做因果推断前必须仔细审查机制;一旦有干扰,简单因果估计会系统性偏差,需要更复杂的“干扰存在”模型。

为何常见:教科书常常在假设列表里一笔带过,加上“稳定”两个字听起来理所当然。

误区“E[Y1] - E[Y0] 不就是一个公式吗?用 Python 一算就出来了。”

正解E[Y1] 表示“如果全世界都走剧本 1”,观察数据里根本没有这样的反事实样本。你算的只是“实际走剧本 1 的人”的平均,混杂了自选择。仅当随机化或可忽略性假设成立,ACE 才能被识别为观察量的函数。公式简单,“识别条件”才是灵魂。

为何常见:看到漂亮的公式就以为能直接套数据,忽略了公式背后“这个量为什么可识别”的假设链条。

面试题

Q1. 反事实符号 $Y_1(u)$ 中下标 "1" 表示什么?

单选题 · easy

  • A.个体的编号
  • B.干预水平 X=1← 正确答案
  • C.结果变量取值
  • D.观测时间点

答案:B。$Y_1(u)$ 是“剧本 1 下的结局”,下标是干预的剧本编号。它既不是个体编号(A),也不是结果本身(C),更不是时间点(D)。就像平行人生的分支编号,下标决定了看哪一本剧本。

Q2. 因果推断的基本问题是?

单选题 · easy

  • A.样本容量不够大
  • B.反事实结局永缺失← 正确答案
  • C.数据噪声太强烈
  • D.变量测得不准

答案:B。FPCI 的核心是同一个体只能看到两个潜在结果之一,另一个永久缺失。其他选项属于一般数据问题,不是因果推断特有的基本问题。

Q3. 小明实际学了编程 (X=1),年收入 50 万。他的反事实结果 $Y_0(小明)$ 指的是?

单选题 · mid

  • A.五十万元的收入
  • B.编程后的收入
  • C.学医可能有的收入← 正确答案
  • D.两种收入的平均

答案:C。$Y_0(u)$ 是剧本 0(学医)的潜在结果,即“如果当初选了另一条路会有的人生”。它可能与 50 万不同,也不是两者的平均。这正是反事实与事实的区别。

Q4. 一致性假设(Consistency)的核心含义是?

单选题 · mid

  • A.潜在结果分布全都相同
  • B.观察值等于实际对应潜在结果← 正确答案
  • C.所有个体接受同一种干预
  • D.样本必须来自随机试验

答案:B。如果 X=1,则 Y(u)=Y1(u);如果 X=0,则 Y(u)=Y0(u)。观察世界是潜在结果世界的“投影”,两者在对应点上重合。A、C、D 都与一致性的定义无关。

Q5. 混淆变量 Z 的典型特征是?

单选题 · mid

  • A.只影响干预 X
  • B.同时影响干预和结果← 正确答案
  • C.只影响结果 Y
  • D.与两者毫无关系

答案:B。混淆变量是“共同原因”——它同时影响干预 X 和结果 Y,让观察到的 X-Y 相关不是因果。正如“能力”同时决定了选不选编程和最终收入。只影响单侧的不构成混淆。

Q6. 存在混淆变量时,朴素估计 E[Y|X=1]−E[Y|X=0] 相比真实 ACE?

单选题 · hard

  • A.恰好完全相等
  • B.偏差方向一定偏高
  • C.可能偏高也可能偏低← 正确答案
  • D.符号方向必然相反

答案:C。偏差方向取决于混淆变量对 X 和 Y 的作用方向是同向还是反向,可能正偏也可能负偏,甚至恰好抵消。随机化才能保证无偏,朴素估计在有混淆时一般不再等于 ACE。

Q7. 关于个体因果效应 $CE_u = Y_1(u) - Y_0(u)$,下列说法正确的是?

单选题 · extreme

  • A.随机试验可直接估计
  • B.数据够大就能估计
  • C.随机试验也不可识别← 正确答案
  • D.观察数据总能估计

答案:C。个体效应永远缺一个潜在结果,随机化只是保证两组人群分布均衡,不等同于让同一个体走两条路。平均效应可识别,个体效应即使在随机试验中也不可单独识别,这是 FPCI 的硬边界。

Q8. SUTVA 假设包括哪些要件?

多选题 · easy

  • A.无干扰性他人不影响我← 正确答案
  • B.观察值等于对应潜在结果← 正确答案
  • C.干预与结果呈线性关系
  • D.数据服从正态分布

答案:AB。SUTVA = 无干扰性 + 一致性,即 $Y_i(x_1,\dots,x_N)=Y_i(x_i)$。线性和正态是统计模型的常用假设,不属于 SUTVA 的组成部分。

Q9. 下列哪些情况会让“相关不等于因果”?

多选题 · mid

  • A.混淆变量同时影响干预结局← 正确答案
  • B.自我选择偏差接受不随机← 正确答案
  • C.样本量不足影响精度
  • D.天气同时影响冰淇淋和游泳← 正确答案

答案:ABD。A、D 是混淆变量的典型例子,B 是自选择偏差,都会使观察相关偏离因果。C 只影响统计精度,不会产生系统性的因果偏差。

Q10. 关于反事实符号 $Y_x(u)$ 与 do 算子的关系,正确的有?

多选题 · hard

  • A.两种记号表述同一事物← 正确答案
  • B.潜在结果框架重个体语义← 正确答案
  • C.do-calculus 在图上做变换← 正确答案
  • D.两套语言互不兼容不可共用

答案:ABC。桥梁等式 $P(Y_x=y)=P(y|\mathrm{do}(X=x))$ 说明二者等价。潜在结果框架强调个体层面的假设,do-calculus 依赖因果图做符号变换,当代因果推断正是两者结合。D 与事实相反。