你走进“健康厨房”,想核验一句老话:每天一个苹果,到底能不能让体检评分更高?你记录了几百位邻居:吃苹果的小王得了 88 分,从不吃苹果的小李只有 79 分——整整差了 9 分!可你刚要下结论,心里却泛起嘀咕:如果让小王回到一年前,硬生生停掉苹果,他现在会是多少分?那个“从未发生的分数”无法观测、无法测量,却恰恰是判断苹果作用的“基准线”。在因果推断的世界里,它有一个响亮的名字——反事实(Counterfactual)。 因果效应估计这门学问,干的就是一件“跨界求证”的事:既然反事实无法直接观测,我们就用各种手段逼近它。爱吃苹果的人往往更自律、更爱运动,这些“混杂因素”让吃与不吃的人从一开始就不一样,直接比均值会冤枉苹果;于是统计学家发明了“找替身”的倾向得分匹配、“借一场自然实验”的工具变量法,以及近年火热的双重机器学习。它们的目标殊途同归:把苹果的净效应从一堆干扰信号中剥离出来,给“吃不吃苹果”一个可量化的答案。

岗位关联

对 AI 从业者而言,因果效应估计是让模型从“预测相关”走向“回答因果”的底层能力——无论是算法归因、政策模拟还是营销效果评估,它都是循证决策的可靠基石。

目录
  1. 可视化演示
  2. 因果效应与反事实
  3. 混淆偏倚根源
  4. 倾向得分匹配
  5. 工具变量方法
  6. 双重机器学习
  7. 评估验证与应用
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

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

因果效应与反事实

你站在“健康厨房”的观察窗前,想验证那句流传百年的老话:一天一苹果,医生远离我。你记录了几百位邻居的体检评分:每天吃苹果的小王 88 分,从不吃苹果的小李 79 分。差了 9 分!可你刚要下结论,心里却泛起嘀咕——如果让小王回到一年前,硬生生停掉苹果,他现在会是多少分?这个“从未发生的分数”无法观测、无法测量,却恰恰是判断苹果作用的“基准线”。在因果推断中,它有一个响亮的名字:反事实。

用因果推断的术语,把“吃不吃苹果”称为处理变量 T(吃了记为 1,没吃记为 0),把“体检评分”称为结局变量 Y。每个个体都同时拥有两个“潜在结局”:Y(1) 表示他吃了苹果后的体检分,Y(0) 表示他没吃苹果后的体检分。但现实是残酷的——你只能观察到其中一半:小王吃了苹果,你就永远看不到他没吃苹果时的 Y(0)。那看不见的一半,就是反事实结局。

既然每个人的效应可以写成“两个潜在结局之差” Y(1) − Y(0),把全体个体的差异都平均起来,就得到平均处理效应(ATE,Average Treatment Effect):

这就是因果效应估计的“根”:反事实不可见,但效应定义在反事实之上。整个领域的全部技巧——匹配、工具变量、双重机器学习——本质上都是绕路逼近那个看不见的平行世界。就像你无法让小王分身,却可以想尽办法找到“另一个小王”。

τ=E[Y(1)−Y(0)]\displaystyle \tau = \mathbb{E}[Y(1) - Y(0)]
通俗理解:先在想象中让每个人“吃与不吃各活一次”,算出差值,再对所有邻居取平均,就得到苹果的平均因果效应。
  1. Y(1)个体在接受处理(吃苹果)状态下的潜在结局,即“吃了苹果的体检评分”。
    Y(1)\displaystyle Y(1)
  2. Y(0)个体在未接受处理(不吃苹果)状态下的潜在结局,即“不吃苹果的体检评分”。
    Y(0)\displaystyle Y(0)
  3. Y(1) − Y(0)同一个体的两种潜在结局之差,代表苹果对这个人的净效应。
    Y(1)−Y(0)\displaystyle Y(1) - Y(0)
  4. E[·]对所有个体取期望,也就是把每个人的效应加在一起求平均值。
    E[⋅]\displaystyle \mathbb{E}[\cdot]
  5. τ平均处理效应,是我们最终想估计的因果效应大小。
    τ\displaystyle \tau

混淆偏倚根源

健康厨房的登记本上还有一行小字,让你瞬间清醒:爱吃苹果的小王,同时也爱早睡早起、每周雷打不动跑三次步。那么问题来了:前面那 9 分差,到底是苹果的功劳,还是“自律生活”的功劳?如果直接拿吃苹果组和不吃苹果组的平均分做差,等于把苹果的净效应和一群人“本来底子更好”的优势混在了一起。

这种同时影响“是否吃苹果”和“体检评分”的变量,叫混淆因素或混杂因素。它们的破坏力在于:让处理组和对照组的起跑线从一开始就不相同,导致观测差异被污染。随机对照试验通过随机抛硬币决定谁吃苹果,让混淆因素在两组间均匀分布;但真实世界的观察性数据没有这种幸运,往往到处都是“爱吃苹果的人更自律”这类纠缠。更麻烦的是,观测数据里还藏着选择偏倚:谁吃苹果不是随机的,而是他自己“选”出来的,这进一步拉大了两组人的先天差距。

用数学语言表达:朴素关联差并不等于因果效应,而是因果效应加上偏倚:

由此,“消除混淆偏倚”成了因果效应估计的命门。后续所有方法,都是想方设法把等式右侧的 Bias 拆干净,让观测差异重新逼近那个真正的 τ。

E[Y∣T=1]−E[Y∣T=0]=τ+Bias\displaystyle \mathbb{E}[Y \mid T=1] - \mathbb{E}[Y \mid T=0] = \tau + \text{Bias}
通俗理解:你直接看到的“两组平均分差距”里,混着苹果的真本事(τ)和人群差异的虚火(Bias),把虚火去掉才见真章。
  1. E[Y|T=1]观测数据中“吃了苹果”那一组体检分的平均值,直接由数据算出。
    E[Y∣T=1]\displaystyle \mathbb{E}[Y \mid T=1]
  2. E[Y|T=0]观测数据中“没吃苹果”那一组体检分的平均值。
    E[Y∣T=0]\displaystyle \mathbb{E}[Y \mid T=0]
  3. τ苹果真实的因果效应,即我们想估计的目标。
    τ\displaystyle \tau
  4. Bias因两组人群“底子不同”而混入的虚假差异,来自所有未消除的混淆因素。
    Bias\displaystyle \text{Bias}

倾向得分匹配

想把 Bias 拆出去,健康厨房想到了最朴素的办法:找“替身”。给每一位爱吃苹果的邻居,配上一位年龄、作息、运动量几乎一样、但偏偏不吃苹果的邻居。两人的体检分一减,苹果的净效应不就浮出水面了吗?可问题又来了:邻居的特征有几十上百个,“几乎一样”怎么度量?该多看哪个特征,该少看哪个特征?

统计学家罗森鲍姆与鲁宾给出了漂亮回答:不需要逐维对齐特征,只要一个概率就够。用“给定特征 X 时接受处理的概率”作为浓缩指标,这就是倾向得分。两个倾向得分接近的人,他们的特征分布也接近——相当于我们把复杂的多维匹配,压缩成了一维的距离比较。之后,处理组的每个个体 i,在对照组中找到倾向得分最近的个体 c(i),配对完成:

匹配完成后还要检查“共同支撑域”:两组在倾向得分上的分布必须有重叠。如果某个吃苹果的人,在对照组里压根找不到得分接近的替身,就不能强行比较——就像你不该拿“每天健身还吃苹果的人”去匹配“卧病在床从不吃苹果的人”。倾向得分匹配的价值在于:它把观察数据打扮成一场准随机实验,让两组人在可测特征上重新变得可比,苹果的净效应终于可以减掉人群差异的虚火,露出真颜。

e(X)=P(T=1∣X)\displaystyle e(X) = P(T=1 \mid X)
τ^ATT=1NT∑i:Ti=1(Yi−Yc(i))\displaystyle \hat{\tau}_{ATT} = \frac{1}{N_T} \sum_{i: T_i=1} \left( Y_i - Y_{c(i)} \right)
通俗理解:倾向得分是“这个人本来有多大概率吃苹果”;匹配就是给吃苹果的人找“不吃苹果但吃苹果概率相同”的替身。
  1. e(X)倾向得分,给定特征向量 X 时个体接受处理的概率。
    e(X)=P(T=1∣X)\displaystyle e(X) = P(T=1 \mid X)
  2. P(T=1|X)条件概率,在特征完全相同的人群里,选择吃苹果的比例。
    P(T=1∣X)\displaystyle P(T=1 \mid X)
  3. Y_i 与 Y_{c(i)}处理组个体 i 的实测结局,以及它匹配到的对照组个体 c(i) 的实测结局。
    Yi,Yc(i)\displaystyle Y_i, \quad Y_{c(i)}
  4. 成对相减两两相减,抵消掉两组在特征上的系统差异,逼近个体因果效应。
    Yi−Yc(i)\displaystyle Y_i - Y_{c(i)}
  5. 求和平均对处理组所有个体求和,再除以处理组样本量 N_T。
    1NT∑i:Ti=1\displaystyle \frac{1}{N_T} \sum_{i: T_i=1}
  6. τ̂_ATT处理组平均处理效应估计值,也是整场匹配实验的最终产物。
    τ^ATT\displaystyle \hat{\tau}_{ATT}

工具变量方法

现实中,“替身”有时也会失灵——总有一些看不见的东西(基因、性格、家族习惯)同时影响吃苹果的选择和体检结果,而它们不在你的登记本上。健康厨房只好换一种思路:不再找替身,而是借一场“自然实验”。假设某年苹果大丰收、价格腰斩,许多原本不买苹果的人因为便宜开始吃。这场价格波动,除了让人多吃苹果,几乎不会以其他渠道影响体检分——它就是天然的“随机开关”。

这个“随机开关”叫工具变量 Z。它必须满足两个条件:相关性——Z 确实影响 T(苹果便宜了,吃的人真的变多);排他性——Z 只通过 T 影响 Y(价格本身不直接改变体检分,只有“吃了苹果”这个动作才算数)。满足这两条,Z 带来的处理变化就相当于随机分配的,因果效应得以识别。

最常用的估计手段是两阶段最小二乘(2SLS):第一阶段用 Z 预测 T,第二阶段用预测出的 T 去回归 Y。在极限形式下,工具变量估计量可以写成两个协方差的比值:

但工具变量法也有“边界”:它估计的是被工具变量撬动的那部分人的效应,即局部平均处理效应(LATE)。苹果降价只撬动“因为便宜才吃”的这群人,他们对苹果的反应,可能和铁杆苹果爱好者不太一样。因果效应虽然识别出来了,但要谨慎推广到全体人群。

τ^IV=Cov(Z,Y)Cov(Z,T)\displaystyle \hat{\tau}_{IV} = \frac{\text{Cov}(Z, Y)}{\text{Cov}(Z, T)}
通俗理解:分子是“价格波动时体检分如何跟着波动”,分母是“价格波动时吃苹果行为如何跟着波动”,两者相除,就校准出“多吃苹果带来的真实体检变化”。
  1. Cov(Z, Y)工具变量与结局之间的协方差,衡量“苹果越便宜时体检分是否整体越高”。
    Cov(Z,Y)\displaystyle \text{Cov}(Z, Y)
  2. Cov(Z, T)工具变量与处理之间的协方差,衡量“苹果越便宜时吃的人是否真的变多”。
    Cov(Z,T)\displaystyle \text{Cov}(Z, T)
  3. 两个协方差相除把“价格→吃苹果”的推力校准掉,剩下的就是“吃苹果→体检分”的净推力。
    Cov(Z,Y)Cov(Z,T)\displaystyle \frac{\text{Cov}(Z, Y)}{\text{Cov}(Z, T)}
  4. τ̂_IV工具变量法识别的因果效应估计量。
    τ^IV\displaystyle \hat{\tau}_{IV}

双重机器学习

健康厨房的登记表越堆越厚:每个人有睡眠时长、步数、心率、饮食偏好……上百个特征扑面而来。倾向得分匹配的“一维压缩”在超高维面前开始力不从心——太多变量要捏合,丢信息在所难免。这时,机器学习带着它强大的高维拟合能力登场了。

双重机器学习(DML,Double Machine Learning)的思路是“专业分工”:让机器学习去拟合两个“陪跑函数”——用特征预测结局的 g(X),用特征预测处理的 t(X);再把两者的残差拿出来做因果推断。它把“高维混杂清理”这件脏活累活外包给了随机森林、XGBoost 等任意算法,自己只专注估算苹果效应的那个参数 τ。模型表达式简单到令人意外:

DML 的灵魂在于正交化与交叉拟合:正交化让“陪跑函数”即使没练到位,一阶误差也不会污染 τ 的估计;交叉拟合则用一部分样本练模型、另一部分样本做预测并交替进行,杜绝模型“自己给自己打分”的过拟合。就像煮汤先滤净残渣再调味——高维噪音被过滤掉,最后留下一勺干净、稳健的因果效应。

Y=τT+g(X)+U\displaystyle Y = \tau T + g(X) + U
通俗理解:结局 = 苹果的线性效应 + 高维特征的任意复杂函数 + 随机噪声。大白话是“把高维干扰先擦干净,再谈苹果的账”。
  1. T处理变量,吃苹果记为 1,没有吃记为 0。
    T\displaystyle T
  2. τT线性保留的核心部分——苹果效应的力度,τ 是我们要估计的目标参数。
    τT\displaystyle \tau T
  3. g(X)混淆变量 X 的复杂非线性函数,由机器学习灵活拟合,比如“睡眠和运动如何共同影响体检分”。
    g(X)\displaystyle g(X)
  4. U不可观测的随机扰动,代表运气、测量误差等残余噪音。
    U\displaystyle U
  5. 正交化思路先把 g(X) 估计出来并从两侧减去(残差化),再对残差回归得到 τ,这样 g(X) 的拟合偏误不会污染因果参数。
    Y−g^(X)=τT+U\displaystyle Y - \hat{g}(X) = \tau T + U

评估验证与应用

无论用匹配、工具变量还是双重机器学习,苹果效应总算算出来了。但健康厨房的质检远没结束:换一批邻居,结论还一样吗?三种方法互相打架怎么办?如果倾向得分匹配说苹果 +12 分、工具变量说 +3 分,那你第一反应不应该是挑一个顺眼的数字,而是要追查哪个环节的假设不成立。这就像两道菜用同一个配方,味道却对不上,那一定是食材或步骤出了问题。

常用的质检手段有三件套:平衡性检验——匹配后两组各特征是否还有显著差异;稳健标准误——校正异方差让置信区间更诚实;敏感性分析——如果存在一个被漏掉的未观测混杂,它要强到何种程度才能推翻现有结论。其中平衡性检验最常用的指标是标准化差异 d:

通过了质检的因果效应,才能进入真实的决策环节:医保部门据此判断要不要把某种药纳入报销目录,电商据此决定优惠券发给哪批人,教育部门据此评估补习班的真实价值。因果效应从“苹果的传说”变成可以预算、可以问责的政策依据。在 AI 领域,它更是从“预测相关”迈向“回答因果”的关键技术栈——大模型可以背下全世界的相关性,但如果要模拟“干预后世界会怎样”,就需要因果效应估计给出答案。

d=Xˉ1−Xˉ0(s12+s02)/2\displaystyle d = \frac{\bar{X}_1 - \bar{X}_0}{\sqrt{(s_1^2 + s_0^2)/2}}
通俗理解:某个特征在两组间的均值差,除以两组方差平均值的平方根。经验法则:|d| < 0.1 表示该特征在两组间已足够均衡。
  1. X̄₁处理组某个特征的均值,比如“吃苹果组的平均睡眠时长”。
    Xˉ1\displaystyle \bar{X}_1
  2. X̄₀对照组同一特征的均值。
    Xˉ0\displaystyle \bar{X}_0
  3. s₁² 与 s₀²两组各自的样本方差,刻画组内个体的分散程度。
    s12,s02\displaystyle s_1^2, \quad s_0^2
  4. 分母部分两组方差加权平均再开方,作为统一的尺度,让不同单位的特征可以比较。
    (s12+s02)/2\displaystyle \sqrt{(s_1^2 + s_0^2)/2}
  5. d标准化差异,|d| < 0.1 时认为该特征在两组间已经平衡。
    d\displaystyle d

AI 应用场景

真实世界药品效果评估

阶段:观察性数据因果推断

解决的问题:新药上市前 RCT 样本严格但人群有限,上市后要在真实人群(含老年人、多病共存者)中验证效果。然而医生开药并非随机——重症者更可能用新药,直接比较用药组与未用药组的疗效会被病情严重程度污染。

具体案例:某降糖药上市后,研究者从电子病历中筛出用药与未用药人群,用倾向得分匹配平衡年龄、病程、并发症等 20 余个变量,估计出该药在真实世界中使 HbA1c 额外降低 0.8%。这一数字被用于医保谈判的定价证据。

电商促销补贴归因

阶段:营销策略因果效应估计

解决的问题:营销红包发给谁最划算?直接对比领券与未领券用户的复购率,会发现领券者本来就活跃——这是典型的混淆偏倚。需要控制用户历史行为等高维特征,才能估计补贴的净效果。

具体案例:某电商用双重机器学习控制用户近 30 天浏览、加购、下单等上千维行为特征,估计 5 元红包对 7 日复购率的平均处理效应为 +3.1%,据此把预算集中投给价格敏感人群,整体 ROI 提升了 22%。

教育补习效果评估

阶段:工具变量识别与政策评估

解决的问题:上补习班的学生往往自身更积极、家庭条件更好,存在自我选择偏倚。直接比较补习与不补习的学生成绩,会高估补习效果。需要找一个“只影响是否上补习班、不影响成绩”的外生变量。

具体案例:研究者用“家到最近补习班的距离”作为工具变量——距离近的学生上补习概率更高,但距离本身不直接影响考试分数。用两阶段最小二乘估计出补习对数学成绩的局部平均效应约为 +4.5 分,为双减政策的事后评估提供了量化依据。

Python 演示

python43 行
import numpy as np np.random.seed(42)n = 600X = np.random.normal(size=(n, 2))logit_p = 0.8 * X[:, 0] + 0.6 * X[:, 1]T = np.random.binomial(1, 1.0 / (1.0 + np.exp(-logit_p)))Y0 = 2.0 + 1.5 * X[:, 0] + 1.0 * X[:, 1] + np.random.normal(size=n)Y1 = Y0 + 1.2Y = np.where(T == 1, Y1, Y0) def fit_logit(X, T, iters=60):    Xb = np.column_stack([np.ones(len(X)), X])    beta = np.zeros(Xb.shape[1])    for _ in range(iters):        p = 1.0 / (1.0 + np.exp(-Xb.dot(beta)))        W = p * (1.0 - p)        z = Xb.dot(beta) + (T - p) / np.clip(W, 1e-8, None)        XW = Xb * W[:, None]        new_beta = np.linalg.lstsq(XW, W * z, rcond=None)[0]        if np.max(np.abs(new_beta - beta)) < 1e-7:            beta = new_beta            break        beta = new_beta    return beta beta = fit_logit(X, T)Xb_full = np.column_stack([np.ones(n), X])ps = 1.0 / (1.0 + np.exp(-Xb_full.dot(beta)))treated = np.where(T == 1)[0]control = np.where(T == 0)[0] matched = []for i in treated:    dist = np.abs(ps[i] - ps[control])    j = control[np.argmin(dist)]    matched.append(j) att = float(np.mean(Y[treated] - Y[matched]))naive = float(np.mean(Y[T == 1]) - np.mean(Y[T == 0]))print("naive diff:", round(naive, 3))print("ATT via PSM:", round(att, 3))print("true effect: 1.2")
目的:用模拟数据演示“倾向得分匹配消除混淆偏倚”的全流程——先造出混淆(处理和结局都受 X 影响),再估计倾向得分、最近邻匹配、计算 ATT,并与朴素差值对比。
  1. T = np.random.binomial(1, 1.0 / (1.0 + np.exp(-logit_p)))让“吃苹果”的概率依赖特征 X,人为制造混淆。
  2. Y = np.where(T == 1, Y1, Y0)现实只能看到一种潜在结局,另一面就是反事实。
  3. def fit_logit(X, T, iters=60)用迭代加权逻辑回归(IRLS)估计倾向得分。
  4. W = p * (1.0 - p)迭代中的方差权重,方差越小的样本贡献越大。
  5. z = Xb.dot(beta) + (T - p) / np.clip(W, 1e-8, None)线性化响应,把二分结果变成可回归的目标。
  6. dist = np.abs(ps[i] - ps[control])计算每个处理个体与所有对照的倾向得分距离。
  7. att = float(np.mean(Y[treated] - Y[matched]))匹配差值的均值,即处理组平均因果效应。
  8. naive = float(np.mean(Y[T == 1]) - np.mean(Y[T == 0]))朴素关联差,未消除混淆,通常大于真实效应。

常见误区

误区“我在数据里看到吃苹果的人体检分普遍高,这不就是苹果的效果吗?数据都摆在那儿了,为什么还要绕那么多弯?”

正解观测数据里,吃苹果的人通常更自律、更爱运动,这些差异混在两组比较中,导致朴素差值不等于因果效应。这就像在健康厨房里比“天天健身还吃苹果的人”和“躺平不吃苹果的人”,差值是生活方式造成的,不是苹果。因果效应估计就是要在数据之外补上“如果没吃苹果会怎样”的对照。

为何常见:人的直觉天然把“相关”解读为“因果”,尤其是当数据量大、现象明显时,更容易忽略隐蔽的第三变量。

误区“匹配把所有特征都拉平了,两组人已经一模一样,得出的估计总该和随机对照试验一样准了吧?”

正解倾向得分匹配只能消除“可观测变量”带来的混淆。如果存在未观测到的混杂因素(如基因、性格),匹配后它们仍然不平衡。苹果实验中,你可能匹配了年龄和作息,却漏掉了“家族长寿基因”。因此 PSM 之后仍要做敏感性分析,检验结论对潜在未观测混杂的耐受力。

为何常见:匹配完成后两组在登记特征上确实均衡,容易让人产生“万事大吉”的错觉,忽略了观测数据的天花板。

误区“只要找一个能影响吃苹果行为的变量当工具,就能识别因果效应,相关性够强就行。”

正解工具变量必须同时满足相关性与排他性:相关性保证“价格跌→吃的人变多”,排他性保证“价格本身不直接改变体检分”。若工具变量偷偷影响结局,就打开了被禁止的捷径,估计量会被污染。弱工具变量(相关性太弱)也会让估计产生严重偏差。

为何常见:“相关性”容易感知,“排他性”需要靠逻辑论证,而现实中找一个既相关又排他的变量非常困难,初学者往往只盯住第一点。

误区“双重机器学习用了强大的机器学习,还带正交化,是不是不管什么数据丢进去,出来的因果效应都是无偏的?”

正解DML 消除的是高维可观测混杂带来的偏倚,它同样依赖条件可忽略性——即假设没有高度隐蔽的未观测混杂。此外,DML 还需要交叉拟合来防止过拟合、需要恰当的样本量来支撑高维估计。“机器学习 + 正交化”让因果参数更稳健,但不等于替你做掉了所有因果假设。

为何常见:机器学习在大众认知里近乎“万能拟合器”,叠加“正交”“去偏”等专业词汇后,容易被误解为黑魔法式的全自动消除偏倚。

面试题

Q1. 反事实结果指的是以下哪种结局?

单选题 · easy

  • A.个体在对照状态下的结局← 正确答案
  • B.个体在接受处理后的结局
  • C.群体平均到个体身上的结局
  • D.实验中被直接观测到的结局

答案:A。反事实是“如果接受另一种处理会怎么样”的潜在结局。苹果实验中,小王吃了苹果得 88 分,他没吃苹果会得多少分——这个平行世界分值就是反事实。B 是已实现结局,C 和 D 描述的是观测层面而非反事实层面。

Q2. 混淆偏倚的本质是什么?

单选题 · mid

  • A.混杂因素同时影响处理和结局← 正确答案
  • B.样本量不足以支撑统计推断
  • C.结局变量自身测量存在误差
  • D.处理方法选择存在主观偏好

答案:A。混淆偏倚的本质是“处境不同”:爱吃苹果的人本来就更自律,导致两组人群起点不同,观测差异里混入了苹果之外的功劳。样本量不足是方差问题,测量误差是精度问题,选择偏好只是表现形式,根源仍在 A 描述的混杂三角。

Q3. “共同支撑域”指的是什么?

单选题 · easy

  • A.两组样本特征完全相同的区域
  • B.倾向得分分布重合的区域← 正确答案
  • C.处理组独有的高得分区间
  • D.对照组独有的低得分区间

答案:B。共同支撑域指两组倾向得分分布交叠的部分,只有在这里才存在特征相近的“替身”,匹配才有意义。A 过于苛刻(特征完全相同是极端理想化),C 和 D 描述的都是无重叠区域,强行匹配会产生误导性结论。

Q4. 工具变量需要满足的核心排除条件是什么?

单选题 · mid

  • A.工具变量只通过处理变量影响结局← 正确答案
  • B.工具变量直接影响结局变量
  • C.工具变量与混淆因素强相关
  • D.工具变量与结局变量完全独立

答案:A。排他性约束要求工具变量只能经由处理变量 T 影响结局 Y,即不存在“Z 直达 Y”的捷径。B 正是被禁止的路径;C 会破坏排他性;D 中“完全独立”会让工具变量无法影响处理,也就无法识别因果效应。

Q5. Neyman 正交条件在双重机器学习中的作用是什么?

单选题 · extreme

  • A.允许机器学习模型犯一定拟合偏误← 正确答案
  • B.无需任何假设即可得到无偏估计
  • C.要求机器学习模型必须完全正确
  • D.混淆变量数量越多估计效果越差

答案:A。Neyman 正交的妙处在于:即便陪跑函数 g(X) 估计有偏,一阶误差也会被“投影正交化”抵消,τ 的估计仍然稳健。B 过于绝对(仍需无未观测混杂等基础假设),C 把正交化误解为“模型必须完美”,D 与 DML 擅长高维处理的优势正好相反。

Q6. 平均处理效应(ATE)的定义是什么?

单选题 · easy

  • A.全体个体处理结果减对照结果后的期望← 正确答案
  • B.仅处理组个体观测结果的简单平均
  • C.对照组个体观测结果的简单平均
  • D.观测数据中两组结果差值的均值

答案:A。ATE 是全体个体两种潜在结局之差的期望,关注的是“如果每个人都切换处理状态,平均会变化多少”。B 只看到处理组,C 只看到对照组,D 描述的是朴素关联差,中间可能混着混淆偏倚。

Q7. 倾向得分匹配的关键步骤包括哪些?

多选题 · mid

  • A.估计每个个体接受处理的概率← 正确答案
  • B.按得分将两组个体进行配对← 正确答案
  • C.检查匹配后特征是否均衡← 正确答案
  • D.对结局变量进行随机分组

答案:ABC。PSM 的标准流程是:估计倾向得分 → 按最近邻等规则配对 → 匹配后检查特征均衡(标准化差异 |d|<0.1)。D 是随机对照试验的做法,观察性数据中结局是既成事实,无法事后“随机分组”。

Q8. 关于工具变量的说法,正确的有哪些?

多选题 · hard

  • A.相关性要求工具变量与处理强相关← 正确答案
  • B.排他性要求工具变量独立于未观测混杂← 正确答案
  • C.弱工具变量会导致估计偏差变大← 正确答案
  • D.工具变量数量越多结果必然越精确

答案:ABC。工具变量需要“既相关又排他”:相关性强保证第一阶段预测有效;独立于未观测混杂是排他性的延伸,确保 Z 不通过其他通道影响 Y。弱工具变量会让 2SLS 偏差增大。D 错误:若不满足排他性,增加再多工具变量也只会引入新的偏倚。

Q9. 双重机器学习中交叉拟合(Cross-fitting)的作用有哪些?

多选题 · hard

  • A.避免过拟合带来的正则化偏倚← 正确答案
  • B.用样本外预测消除信号泄漏← 正确答案
  • C.提高训练集中机器学习预测的精度
  • D.为因果参数提供正交化去偏估计← 正确答案

答案:ABD。交叉拟合用一部分样本训练、另一部分样本预测,并交换重复,避免模型“自己预测自己”导致的信号泄漏与过拟合偏倚,为因果参数提供正交化估计。C 说反了——交叉拟合牺牲训练集内精度,换取的是样本外鲁棒性和因果参数的无偏性。

Q10. 敏感性分析回答的核心问题是什么?

单选题 · mid

  • A.检验结论对未观测混杂的稳健程度← 正确答案
  • B.增加处理组与对照组的样本数量
  • C.替代主分析获得更精确的估计
  • D.自动消除所有偏倚的统计算法

答案:A。敏感性分析问的是:“如果漏掉一个未观测混杂,它要强到什么程度才能推翻当前结论?” 它评估结论的稳健性,而不是修补主分析。B 是增加统计功效,C 是替代方案,D 是过度理想化——不存在自动消除所有偏倚的算法。