想象你是一位开锁师傅,被请到一栋大楼前——这里有成千上万扇一模一样的门,每扇门都配了两把不同的钥匙:钥匙 A 和钥匙 B。你的任务是弄清楚:到底是钥匙 A 更能打开门,还是钥匙 B 更厉害? 但有个残酷的限制:每扇门你只能试一把钥匙。试了 A,就再也无法知道试 B 会是什么结果;试了 B,就永远错过了 A 的表现。你手里握着的,永远只是“半扇门”的信息——另一扇门的情况,成了永远无法回头验证的“平行宇宙”。 这正是 Neyman-Rubin 模型面对的核心困境。在现实中,我们想知道“吃药 vs 不吃药对病人的效果差异”,但一个病人不可能同时既吃药又不吃药;我们想知道“新广告策略是否提升了销售”,但同一批用户不可能同时看到新旧两种广告。每个个体都只有一种结果能被我们看到,另一种永远停留在假设之中——这就是“潜在结果”的含义。 Neyman-Rubin 模型(也叫潜在结果框架)是因果推断领域最基础、最优雅的思想工具。它告诉我们:虽然个体层面的“反事实”无法直接观测,但在群体层面,通过随机分配和巧妙的统计推断,我们依然能够可靠地回答“哪个因,导致哪个果”。它没有复杂的公式堆砌,核心就是一句话——把“观察到的结果”和“潜在的、未曾发生的另一个结果”放进同一个严谨的逻辑框架里,然后回答:平均下来,因果关系有多大? 几十年来,这套框架从农业实验走进医学、经济学、互联网科技,成为 A/B 测试、政策评估、可解释 AI 的统计学基石。理解它,你就握住了理解现代因果推断的“万能钥匙”。

岗位关联

对 AI 从业者而言,Neyman-Rubin 模型是你从“预测关联”走向“判断因果”的必修第一课——无论是做 A/B 实验、算法公平性审计,还是让模型回答“如果当初……会怎样”,这套框架都是你最可靠的思想底座。

目录
  1. 可视化演示
  2. 模型核心思想
  3. 符号与假设
  4. 因果识别条件
  5. 效应估计方法
  6. 局限与难点
  7. 应用与实践
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示因果推断核心框架:个体潜在结果Y(1)/Y(0)与ITE定义、SUTVA无干扰假设、以及ATE/ATT/CATE三类因果估计量的差异对比。

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

潜在结果与个体处理效应 Y(1)接受处理的结果 Y(0)未接受处理的结果 ITE=Y(1)-Y(0) 每个个体有两个潜在结果,差值即个体处理效应。

模型核心思想

继续回到开锁师傅的故事。你面对的每一扇门,都有两种可能的“命运”:用钥匙 A 去开,可能会打开;用钥匙 B 去开,也可能会打开。每一扇门的真正“因果效应”,应该是这两种结果之间的差异——比如钥匙 A 打开了而 B 没打开,差值就是"1"。但问题是,你永远只能试一把钥匙。

Neyman-Rubin 模型的核心思想,正是把这个“只能试一把钥匙”的困境正式化。它用一种极其简洁的方式重新定义因果关系:对于每一个个体 i,我们设想两个“潜在结果”——如果接受处理(比如吃药),结果记为 \(Y_i(1)\);如果没有接受处理(不吃药),结果记为 \(Y_i(0)\)。这两个结果在理论上都是真实存在的,只不过我们只能观察到其中某一个。

既然单个体的因果效应无法观测,聪明的统计学家们换了一个思路:不追求知道“这扇门用 A 钥匙会怎样”,而是关心“如果所有门都用 A 钥匙,打开的比例是多少;如果所有门都用 B 钥匙,打开的比例是多少”——把个体层面的无法观测,转化为群体层面的可估计。这就是“群体平均策略”:我们放弃看清每一扇门,转而精确测量整栋大楼的平均差异。

回到开锁师傅的比喻:\(Y_i(1)\) 是钥匙 A 打开门的结果,\(Y_i(0)\) 是钥匙 B 打开门的结果。公式说明了理想中“一扇门用两把钥匙分别试一次”的完美实验——但办不到,所以 Neyman-Rubin 框架真正的工程价值,正是教我们如何在“办不到”的前提下,通过巧妙设计仍然逼近这个差值。

个体因果效应=Yi(1)−Yi(0)\text{个体因果效应} = Y_i(1) - Y_i(0)
这个公式说明:因果效应的本质是比较同一个体在“接受处理”和“不接受处理”两种平行世界中的结果差异。
  1. 个体标识 i代表数据集中的每一个独立单位,比如一个病人、一位用户、一扇门。
    i∈{1,2,…,n}i \in \{1, 2, \ldots, n\}
  2. 处理组潜在结果当个体接受了处理(如吃药、用钥匙 A),我们会观察到的结果。
    Yi(1)Y_i(1)
  3. 对照组潜在结果当同一个体不接受处理(如吃安慰剂、用钥匙 B),我们会观察到的结果。
    Yi(0)Y_i(0)
  4. 差分运算用处理结果减去对照结果,得到“这一个体”的因果效应。注意这个差值在现实中永远无法完整算出——因为 i 只能处于其中一种状态。
    Yi(1)−Yi(0)Y_i(1) - Y_i(0)

符号与假设

现在我们要把开锁师傅的语言翻译成数学符号。每一扇门背后其实站着三个关键角色:实验单位 i、处理分配 W、潜在结果 \(Y(0)\) 和 \(Y(1)\)。这三者的关系,构成了整个 Neyman-Rubin 模型的骨架。

处理变量 W 通常取两个值:\(W=1\) 表示接受了处理,\(W=0\) 表示未接受处理。潜在结果 \(Y(0)\) 和 \(Y(1)\) 是“世界的两种状态”,而 W 决定了你实际看到的是哪一扇半开门。这三者之间存在一条“假设”纽带——如果处理分配是随机的,那么谁进入哪一组就有如抽签,纯粹且公正。

Neyman-Rubin 模型还依赖一条关键假设:SUTVA(Stable Unit Treatment Value Assumption,稳定单位处理值假设)。它由两部分构成:第一,个体之间互不干扰——我的门开不开,不影响你的门;第二,处理没有“隐藏版本”——钥匙 A 在任何人手里都是同一把钥匙。

想象一栋楼的住户:SUTVA 假设每个人的门锁互不干扰,邻居用什么钥匙完全不影响你家的门。有了这条假设开路,原本纠缠不清的多体问题坍缩成了简单的单体问题,统计推断才有了可能。

SUTVA:Yi(W1,…,Wn)=Yi(Wi)SUTVA: \quad Y_i(W_1, \ldots, W_n) = Y_i(W_i)
这条公式用数学语言表达了一句大白话:你的结果只取决于你自己有没有被处理,跟别人怎样完全无关。
  1. 多变量输入潜在结果的一般形式,允许每个人的结果受所有人处理状态的影响——这是最普遍但也最难处理的情况。
    Yi(W1,W2,…,Wn)Y_i(W_1, W_2, \ldots, W_n)
  2. 简化等式SUTVA 假设把这个复杂的多变量函数压缩成只依赖自己的处理状态。
    =Yi(Wi)= Y_i(W_i)
  3. 实际含义别人吃药也好,打针也罢,你的健康状况不受他们处理状态的影响——这在传染病研究中可能不成立(群体免疫),所以需要特别注意。

因果识别条件

开锁师傅要想得出“钥匙 A 平均比钥匙 B 好”的结论,需要满足什么条件?你不能只拿最好的十扇门去试 A,拿最差的十扇门去试 B——那样你比较的是“好门”和“坏门”的差距,而不是“钥匙”的差距。统计学家把这叫作“混淆偏差”。

Neyman-Rubin 框架给出了三个核心识别条件。第一,可忽略性(Ignorability):给定协变量 X 后,个体接受哪种处理与潜在结果是独立的——相当于说钥匙分配和门的质量无关。第二,重叠假设(Positivity):任何状态下的个体,既有机会被分到处理组,也有机会被分到对照组——相当于每扇门都被“公平地”赋予了被任意一把钥匙尝试的可能。第三,随机分配:这是最强也最稳妥的保证——如果处理真是随机分配的,前两条自动满足。

想象你要测试两把钥匙:如果你把所有“看起来好开的门”都分配给钥匙 A,把“看起来难开的门”都留给钥匙 B,那你永远说不清是钥匙厉害还是门本身好开。随机化就像一个盲盒分配器,把门的好坏均匀打散到两组中——这正是随机对照实验(RCT)成为“黄金标准”的原因。

(Y(1),Y(0))⊥ ⁣ ⁣ ⁣⊥W∣X(Y(1), Y(0)) \perp\!\!\!\perp W \mid X
这个符号表示:在控制协变量 X 的条件下,处理分配 W 与潜在结果独立。通俗地说,处理分组不再“挑人”。
  1. 潜在结果向量把两个潜在结果放在一起组成一个“双重命运”。
    (Y(1),Y(0))(Y(1), Y(0))
  2. 独立符号数学中的"⊥⊥"代表独立——两件事互不影响、互不决定。
    ⊥ ⁣ ⁣ ⁣⊥\perp\!\!\!\perp
  3. 条件分隔线竖线后面的 X 表示“在已知 X 的前提下”。这条式子说:当你已经掌握了 X 的全部信息,处理分配就不再携带关于潜在结果的额外信息。
    W∣XW \mid X
  4. 整个条件换言之,分组方式就像抛硬币,跟你未来的结果没有任何隐藏关联——这把“开门效果”和“门本身的好坏”彻底切开了。
    (Y(1),Y(0))⊥ ⁣ ⁣ ⁣⊥W∣X(Y(1), Y(0)) \perp\!\!\!\perp W \mid X

效应估计方法

现在我们有了符号,有了假设,有了随机分配,是时候回答那个最初的问题了:钥匙 A 到底比钥匙 B 好多少?Neyman-Rubin 模型的答案直截了当——算两组结果的均值差。

在理想实验条件下,处理组观测值的平均值 \( \bar{Y}_{obs, 1} \) 就是 \(E[Y(1)]\) 的无偏估计,对照组观测值的平均值 \( \bar{Y}_{obs, 0} \) 就是 \(E[Y(0)]\) 的无偏估计。两者之差,就是平均处理效应(ATE,Average Treatment Effect)。整个推理链条异常干净:因为随机化保证了 \(E[Y(0) | W=1] = E[Y(0) | W=0]\),所以我们虽然看不到 \(Y(0)\) 对处理组个体长什么样,却可以用对照组的平均值来“代替”。

回到开锁师傅:你虽然好奇“第 3 扇门用钥匙 A 会不会开”,但你永远不可能知道。然而,如果你让 1000 扇门随机分两组各试一把钥匙,然后比较两组的开门率——这个差异就是一把钥匙相对另一把钥匙的“平均战力”。你看不到每一扇门的平行宇宙,但整栋楼的答案已经呼之欲出。

ATE=E[Y(1)]−E[Y(0)]=E[Y(1)−Y(0)]ATE = E[Y(1)] - E[Y(0)] = E[Y(1) - Y(0)]
这是 Neyman-Rubin 模型最著名的结果:群体层面的平均因果效应,可以在随机化实验中被精确识别和估计。
  1. ATE 定义平均处理效应等于处理组平均结果减对照组平均结果。
    ATE=E[Y(1)]−E[Y(0)]ATE = E[Y(1)] - E[Y(0)]
  2. 期望符号 E表示“在大量重复中取平均”——不是看某扇门,而是看所有门。
    E[⋅]E[\cdot]
  3. 等价变形由于期望的线性性质,两个期望之差等于差值的期望。这说明虽然单个人的 \(Y(1)-Y(0)\) 不可观测,但它的“平均”却是可估计的。
    =E[Y(1)−Y(0)]= E[Y(1) - Y(0)]
  4. 实际估计在随机化实验中,直接用样本均值之差来估计这个量。
    ATE^=Yˉobs,1−Yˉobs,0\hat{ATE} = \bar{Y}_{obs, 1} - \bar{Y}_{obs, 0}

局限与难点

故事到这里,开锁师傅可能会松一口气——但现实的墙后面还藏着几道暗门。Neyman-Rubin 模型的第一个难点是反事实缺失:\(Y(0)\) 对处理组永远不可观测,我们只能用假设去填补,但假设终究不是数据。第二个难点是协变量平衡:在观察性研究中,随机化不存在,处理组和对照组的 X 分布可能像东非大峡谷一样宽——简单对比均值,就像拿苹果和橙子比甜度。

第三个难点是外部效度:你在这一栋楼测出的钥匙差异,换到另一栋楼还成立吗?如果测试楼是写字楼(锁芯型号统一),而真实应用场景是老旧住宅(锁芯五花八门),结论就可能翻车。最后,假设检验的困难:SUTVA 可忽略性这些假设,本质上无法用数据完全验证——你能做敏感性分析,却无法彻底证明假设为真。Neyman-Rubin 模型的优雅与脆弱都在这里:它是一副精密的眼镜,但戴错了场合就会看到幻象。

这正是 Neyman-Rubin 模型的哲学底色:它不试图创造奇迹——不会让你真的看到平行宇宙里的那扇门。它只是把“缺失”这一事实摆上桌,然后用群体层面的随机性和均值精心补偿这种缺失。理解了这一点,你就掌握了判断一切因果推断方法可靠与否的标尺。

Yi(1)⏟可观测之一Yi(0)⏟永不可见\underbrace{Y_i(1)}_{\text{可观测之一}} \quad \underbrace{Y_i(0)}_{\text{永不可见}}
这行公式提醒我们:模型能让我们在群体层面看清因果,但个体层面的反事实始终是缺失数据——这是所有因果推断方法的宿命。
  1. 可观测结果下标为处理组时,\(Y_i(1)\) 可以直接从数据中看到。
    Yi(1)⏟可观测之一\underbrace{Y_i(1)}_{\text{可观测之一}}
  2. 缺失结果\(Y_i(0)\) 永远缺失。我们要在“看不见”的前提下去估计它,相当于用别人的门来回答你的门的问题。
    Yi(0)⏟永不可见\underbrace{Y_i(0)}_{\text{永不可见}}

应用与实践

开锁师傅的技艺最终要在真实世界中挣得口碑。Neyman-Rubin 模型最典型的应用是 A/B 测试:互联网公司和产品经理每天都要回答“新功能是否提升了用户留存”?将用户随机分流为实验组和对照组,用三周的观测数据计算 ATE——这正是模型的标准动作。

在政策评估领域,经济学家用它判断“最低工资上涨是否减少了就业”、“新教育政策是否提升了学生成绩”。不过政策往往无法随机分配,这时研究者会用匹配、加权等方法模拟随机化——试图让观测数据“看起来像”实验数据。在医学试验中,随机双盲对照试验是药物审批的黄金标准,其统计学基础正是 Neyman-Rubin 框架。

而在 AI 与可解释性方向,Neyman-Rubin 模型帮助算法工程师回答“模型为什么给出这个预测”:通过比较“输入特征被改变”和“未被改变”时的预测差异,归因每一位特征对预测结果的贡献——这本质上是把“因果效应”的思路注入了模型解释器。越来越多的可解释 AI(XAI)工具,其数学底层都站着 Neyman-Rubin 的影子。

在可解释 AI 的语境下,这个公式可以重组为:通过对比“特征存在”与“特征缺失”时的模型输出,估计每个特征对预测的“平均因果效应”。想象开锁师傅的翻版——你现在评估的不是钥匙而是各个“特征”(年龄、收入、点击行为),要找出哪一个才是打开“用户购买”之门的真正钥匙。

ATE^观测=1n1∑i:Wi=1Yi⏟处理组均值−1n0∑i:Wi=0Yi⏟对照组均值\hat{ATE}_{\text{观测}} = \underbrace{\frac{1}{n_1}\sum_{i: W_i=1} Y_i}_{\text{处理组均值}} - \underbrace{\frac{1}{n_0}\sum_{i: W_i=0} Y_i}_{\text{对照组均值}}
这是实际工作中用得最多的估计式:用一个简单的均值差,回答“处理到底有没有用”。
  1. 处理组均值对所有接受处理的个体取平均,简记为 \(\bar{Y}_1\)。
    1n1∑i:Wi=1Yi\frac{1}{n_1}\sum_{i: W_i=1} Y_i
  2. 对照组均值对所有未接受处理的个体取平均,简记为 \(\bar{Y}_0\)。
    1n0∑i:Wi=0Yi\frac{1}{n_0}\sum_{i: W_i=0} Y_i
  3. 整体估计两者相减得到 ATE 的估计值。在实际代码中,这通常是对数组求均值再相减——一行 Python 就能完成。

AI 应用场景

场景一:互联网 A/B 测试中的因果推断

阶段:模型评估与迭代阶段

解决的问题:传统的 A/B 测试只做简单的均值比较,往往忽略样本量不平衡、指标波动等噪声干扰。利用 Neyman-Rubin 模型,可以将每次实验视为对潜在结果的随机抽样,通过 ATE 估计和置信区间给出“新策略是否真正优于旧策略”的稳健结论。

具体案例:某电商平台要判断“新的推荐算法是否提升了人均点击量”。将 100 万用户随机分为两组,实验组用新算法、对照组用旧算法,运行两周后计算两组人均点击量之差,并构造 95% 置信区间。若区间下限 > 0,则确认新算法有效;否则需要进一步分析。

场景二:可解释 AI 中的特征归因

阶段:模型解释与可信度审计阶段

解决的问题:当深度学习模型给出预测时,业务方需要知道“为什么”。把 Neyman-Rubin 模型引入 XAI:将“某个特征的存在/缺失”视为处理与对照,比较模型输出的差异,从而估计每个特征的“因果贡献”——这比传统的 SHAP 值更有因果说服力。

具体案例:银行风控模型拒绝了某位用户的贷款申请。解释系统将“月收入”特征替换为该用户的“反事实值”(如收入翻倍),观察模型预测概率从 0.9 降到 0.3,从而向合规审计人员解释:模型的拒贷决策高度依赖于收入水平。

场景三:医学观察性研究中的效应评估

阶段:数据预处理与倾向性建模阶段

解决的问题:药物试验无法随机化时,Neyman-Rubin 模型配合倾向得分匹配(Propensity Score Matching),从大量电子病历中构造“伪随机”实验,支持药物安全性监测与真实世界证据研究。

具体案例:某药企需要评估新药在真实世界中的疗效。从医院数据库中提取 10 万条病历,通过倾向性得分匹配建立可比的患者对,再比较两组患者的治疗结果,给出了接近随机对照试验的 ATE 估计。

Python 演示

python34 行
import numpy as np np.random.seed(42)n = 20000  # 个体数量 # 模拟潜在结果:Y(0) 和 Y(1) 来自不同的分布Y0 = np.random.normal(loc=50, scale=10, size=n)Y1 = np.random.normal(loc=60, scale=10, size=n) # 真实个体因果效应(不可观测的黄金标准)true_individual_effect = Y1 - Y0true_ate = true_individual_effect.mean()print('真实ATE(可望不可即的黄金标准):', round(true_ate, 4)) # 随机分配处理 W: 0=对照组, 1=处理组W = np.random.binomial(1, 0.5, size=n) # 实际观测值:只能看到其中一种潜在结果observed = np.where(W == 1, Y1, Y0) # 利用 Neyman-Rubin 框架估计 ATEtreated = observed[W == 1]control = observed[W == 0]estimated_ate = treated.mean() - control.mean() n1 = len(treated)n0 = len(control)se = np.sqrt(treated.var() / n1 + control.var() / n0)ci_low = estimated_ate - 1.96 * seci_high = estimated_ate + 1.96 * se print('估计ATE(均值差异法):', round(estimated_ate, 4))print('95%置信区间: [', round(ci_low, 4), ',', round(ci_high, 4), ']')print('区间是否覆盖真实ATE:', ci_low <= true_ate <= ci_high)
目的:用 NumPy 模拟一个 Neyman-Rubin 框架下的随机实验,生成潜在结果、随机分配处理、构造观测值,并给出 ATE 点估计和置信区间。
  1. np.random.normal(loc=50, scale=10, size=n)模拟潜在结果 \(Y(0)\),即未处理时的结果分布。
  2. np.random.normal(loc=60, scale=10, size=n)模拟潜在结果 \(Y(1)\),即处理时的结果分布;与 \(Y(0)\) 的均值差决定了真实因果效应的强度。
  3. np.random.binomial(1, 0.5, size=n)以抛硬币方式(p=0.5)随机分配处理,保证可忽略性成立。
  4. np.where(W == 1, Y1, Y0)这是最核心的一行:根据分配结果选取观测值,模拟“只能看到一种潜在结果”的约束。
  5. treated.mean() - control.mean()均值差异法计算 ATE 估计,对应公式 \(\hat{ATE} = \bar{Y}_1 - \bar{Y}_0\)。
  6. np.sqrt(treated.var()/n1 + control.var()/n0)标准误的计算,用于构造 95% 置信区间,判断估计的可靠性。
  7. ci_low <= true_ate <= ci_high检查区间覆盖真相,验证估计方法的统计性质。

常见误区

误区我可以从数据集里直接找到 \(Y(1)\) 和 \(Y(0)\),潜在结果就是处理组和对照组的两列数据。

正解潜在结果在概念上是对“同一个体在两种世界状态下的表现”的设想。实际数据中,每个个体只有一列结果被观测到,另一列是彻底的缺失。处理组的 \(Y(1)\) 是观测值,但同一批人的 \(Y(0)\) 从未存在过——它们只是统计构造的“反事实”。就像开锁师傅只能看到门用钥匙 A 开的结果,钥匙 B 的世界线从未发生。

为何常见:因为处理组和对照组的数据看起来就像两列整齐的数字,初学者很容易把“群体层面的两组数据”误当成“个体层面的双重结果”。

误区既然实验是随机分配的,我就可以算出每一个体的因果效应 \(Y_i(1) - Y_i(0)\)。

正解随机化只保证了群体层面的 ATE 可以无偏估计,但个体层面的因果效应依然是不可观测的。随机化解决的是“混淆”问题,而不是“缺失”问题。你只是保证了两组个体在分布上可比,但某个具体的 \(i\) 依然只有一种结果被记录。这就像抛硬币决定每扇门试哪把钥匙——公平性提升了,但“同一扇门试两把钥匙”的奇迹依然没有发生。

为何常见:将“群体层面的平均性质”误认为“个体层面的可推断性”,是混淆统计推断与反事实推理的典型表现。

误区SUTVA 不就是“个体之间互不影响”吗,我的数据里大家都是独立样本,肯定满足。

正解SUTVA 包含两层含义:无干扰和无隐藏处理变体。很多场景下它并不成立——疫苗研究中有群体免疫效应(别人的接种影响你的感染概率);社交媒体实验中,同一网络中的用户互相传染。如果你在 SUTVA 不成立时用 Neyman-Rubin 模型,ATE 估计会是错的,而且错得看不出来。

为何常见:“样本独立”是统计建模的常见假设,容易被人顺手迁移到因果推断里,忽略了因果场景中“干扰”的特殊含义。

误区我用倾向得分匹配处理了混淆变量,所以观察性研究现在和随机对照实验一样可靠。

正解匹配只解决了“可观测的协变量”的平衡问题,但可忽略性假设要求“所有混淆变量都被观测到”。如果存在未观测的混杂因子(如患者的依从性、医生的偏好),匹配后的估计依然存在偏差。随机化的威力在于它同时平衡了可观测和不可观测的变量——这是任何事后统计方法都无法完全复刻的。

为何常见:看到匹配后的两组协变量分布高度一致,容易让人产生“已经像随机实验一样”的错觉,忽略了未观测混杂这一根本隐患。

误区ATE 接近 0,说明这个药/策略完全没用,可以直接下线了。

正解ATE 为 0 只说明“平均效应”为零,但可能存在显著的异质性处理效应——某些亚群受益、某些亚群受害,正负抵消后均值为零。Neyman-Rubin 框架还衍生出 CATE(条件平均处理效应)的估计方法,用来回答“对哪些人有效”。开锁师傅发现 A 钥匙平均开锁率与 B 持平,但也许 A 对数字锁特别好用,B 对机械锁更胜一筹。

为何常见:人们习惯用“平均”代表一切,但在因果推断中,平均掩盖了分布,而分布往往才是决策的关键。

面试题

Q1. Neyman-Rubin 模型中的“潜在结果”指的是什么?

单选题 · easy

  • A.实验结束后能够观察到的全部数据
  • B.每个个体在“接受处理”和“未接受处理”两种状态下的设想结果← 正确答案
  • C.数据集中缺失值经过插补后的结果
  • D.模型预测出的未来可能结果

答案:B。潜在结果是反事实框架的核心概念——同一个体在两种处理状态下的“平行世界”结果。选项 A 错在可观测数据只是两种潜在结果中“被选中的那个”;C 的缺失值插补是数据工程问题;D 的预测是机器学习任务。就像一扇门“用钥匙A开的结果”和“用钥匙B开的结果”是两种潜在结果。

Q2. 以下哪一项是 SUTVA 假设的核心内容?

单选题 · easy

  • A.所有个体必须服从正态分布
  • B.任何个体的结果只取决于自身的处理状态,不受他人影响← 正确答案
  • C.处理组和对照组的样本量必须相等
  • D.所有潜在结果必须可以被直接观测

答案:B。SUTVA(稳定单位处理值假设)由“无干扰”与“处理无隐藏变体”两部分组成。B 正是“无干扰”的准确表达。A 是统计分布假设,C 是实验设计选项,D 是反事实缺失的直接体现——它们与 SUTVA 无关。

Q3. 在 Neyman-Rubin 框架中,可忽略性(Ignorability)假设的含义是什么?

单选题 · easy

  • A.处理分配与潜在结果在给定协变量后相互独立← 正确答案
  • B.缺失值可以忽略不计
  • C.不同处理组之间没有显著性差异
  • D.样本量足够大时可以忽略偏差

答案:A。可忽略性用公式 \((Y(1),Y(0)) \perp W \mid X\) 表达,意为控制了协变量 X 后,谁进处理组与潜在结果无关。这就像是说“钥匙分配不挑门”。B 混淆了缺失数据与因果假设,C 是要检验的结果而非假设,D 是渐近统计的常识而非可忽略性。

Q4. 为什么即使有完美的随机化,个体因果效应 \(Y_i(1) - Y_i(0)\) 依然无法计算?

单选题 · mid

  • A.因为随机化不够精确
  • B.因为每一个体只能观测到一种潜在结果← 正确答案
  • C.因为样本量不足
  • D.因为统计软件无法处理差分运算

答案:B。随机化解决的是组间可比性,但每个个体依然只有一种结果被实际观测。另一个潜在结果从未发生,属于“结构性缺失”。这就像抛硬币决定了你试钥匙 A,那么钥匙 B 的结果对你而言永远是个谜。A、C、D 都是对随机化和计算能力的误解。

Q5. 以下哪些属于 Neyman-Rubin 模型中的因果识别条件?

多选题 · mid

  • A.可忽略性← 正确答案
  • B.重叠假设← 正确答案
  • C.样本量大于 30
  • D.无干扰原则← 正确答案

答案:ABD。可忽略性(A)保证处理分配与潜在结果独立;重叠假设(B)保证每个个体都有概率进入任一组;无干扰原则(D)是 SUTVA 的一部分,保证个体间互不影响。C 是中心极限定理的经验法则,与因果识别无关。三者齐备,观察数据才可能识别出因果效应。

Q6. 在观察性研究中,ATE 估计最容易受到什么问题的威胁?

单选题 · mid

  • A.样本量过大
  • B.未观测到的混杂变量← 正确答案
  • C.对照组数据不服从正态分布
  • D.处理变量取值过多

答案:B。观察性研究缺少随机化保护,如果存在影响分组又影响结果的未观测混杂变量(如病情严重程度影响用药选择),可忽略性假设就被破坏。此时处理组和对照组的均值差异混合了“组间属性差异”和“处理效应”,无法区分。B 是观察性研究因果推断的头号杀手。

Q7. 关于 ATE 与个体因果效应的关系,下列说法正确的是?

多选题 · mid

  • A.ATE 是 \(E[Y(1)] - E[Y(0)]\)← 正确答案
  • B.个体因果效应可以精确计算
  • C.ATE 可以视为个体效应的平均值← 正确答案
  • D.ATE 永远等于处理组均值

答案:AC。ATE 被定义为潜在结果期望之差,也可等价写成个体效应 \(Y_i(1)-Y_i(0)\) 的平均值,A 和 C 正确。个体因果效应在现实中不可观测,B 错误。处理组均值只是 \(\bar{Y}_1\),须再减去对照组均值才是 ATE,D 错误——少了对照组的对照,因果就不成立。

Q8. 当 SUTVA 假设被违反时,以下哪项描述最准确?

单选题 · hard

  • A.模型仍然有效,只是方差增大
  • B.ATE 估计将包含来自“个体间干扰”的污染,结果可能严重偏倚← 正确答案
  • C.只需要增大样本量即可自动修复
  • D.可以通过对数变换校正

答案:B。SUTVA 违反意味着后一扇门的结果由前一扇门的处理状态决定,比如疫苗的群体免疫效应。此时观测到的差值不仅包含处理本身的效应,还混入了邻居处理状态的间接效应,ATE 被系统性污染。增大样本量只会放大这种偏倚,而非消除它。B 精确描述了这种污染的严重性。

Q9. 在可解释 AI 中应用 Neyman-Rubin 模型,以下说法正确的是?

多选题 · hard

  • A.将“特征存在与否”视为处理与对照← 正确答案
  • B.可以严格证明单个预测的因果归因
  • C.通过比较反事实输入下的模型输出做归因← 正确答案
  • D.完全替代 SHAP 值且无假设限制

答案:AC。XAI 借鉴 Neyman-Rubin 的思路:把特征作为处理变量,将输入替换为反事实值(如收入翻倍、年龄改大),比较模型输出差异,从而量化特征贡献,A 和 C 正确。但模型自身没有随机化,这种归因依赖强假设(如特征间独立),无法在单次预测中严格证明因果,B 错误。D 夸大其词——它并不能完全替代 SHAP,且受识别假设约束。

Q10. 在完全随机化实验中,\(\hat{ATE} = \bar{Y}_1 - \bar{Y}_0\) 的期望等于什么?

单选题 · extreme

  • A.等于处理组样本均值
  • B.等于 \(E[Y(1)] - E[Y(0)]\),即真实 ATE← 正确答案
  • C.小于真实 ATE,因为有缺失数据
  • D.大于真实 ATE,因为有选择偏差

答案:B。随机化保证了 \(E[\bar{Y}_1] = E[Y(1)]\) 和 \(E[\bar{Y}_0] = E[Y(0)]\),因此样本均值差在期望上等于真实 ATE。这是 Neyman-Rubin 模型最美丽的结论之一:即使每个个体的反事实不可见,群体层面的期望也能精准还原真相。C 和 D 错在误将“个体缺失”当成“群体偏倚”——随机化恰恰消除了群体层面的偏倚。