老张是一位种稻多年的农场主,今年他想验证一种新稻种到底能不能增产。他做了个“聪明”的决定:让农户们自己选种子。结果,地肥、灌溉好的农户几乎都选了新稻种,而山坡上那些贫瘠地块的农户只能继续种老稻种。秋收一算账,新稻种地块平均亩产高出一大截。老张兴高采烈地宣布新稻种大获成功。可你有没有想过:增产的功劳,到底是新稻种的本事,还是那些地块本来就肥沃?地力这个“看不见的手”悄悄混进了比较,让新稻种的“真实效果”被高估了。这正是因果推断中臭名昭著的选择偏差(Selection Bias)——当我们比较两组人的结果时,两组人本身的“底子”就不一样,结论自然失真。本文要来剖析这个偏差的来源:它藏在我们的分组方式里,藏在我们只能看到“一个世界”的结果这一事实里,藏在观测数据无法还原的“反事实”里。弄懂这些,你就能看穿很多“看起来有效”的实验,也能学会用科学的方法把真相等回来。

岗位关联

对 AI 从业者而言,理解选择偏差来源是构建可信模型、做好因果推断与可解释 AI 分析的基本功。它能帮你识别数据中的系统性偏见,避免在特征归因、产品实验和模型解释中得出误导性结论。

目录
  1. 可视化演示
  2. 概念基石
  3. 偏差根源
  4. 识别假设
  5. 结构图示
  6. 现实诊断
  7. 校正策略
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示自选择程序化选择流失选择三种偏差机制的样本过滤路径与可见性偏移、可观测与不可观测因素的IPW匹配分层校正方法对比、以及选择偏差沿AI管道采集处理训练评估四阶段逐层累积放大的效应。

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

三种选择偏差机制 自选择由用户主动行为决定样本可见性 程序化选择由系统规则阈值过滤引入 S⊥⊥Y 选择S与结果Y系统性关联导致偏差

概念基石

回到老张的农场。每一块田在同一个季节只能种一种稻子。如果想知道“这块田种新稻到底比种老稻多打多少粮”,我们就得同时看到两个世界:一个世界里它种了新稻,另一个世界里它种了老稻。可现实只能给我们一个世界。这种“看不见的另一半结果”,在因果推断里有个响亮的名字——反事实(Counterfactual)。潜在结果框架(Rubin 因果模型)正是建立在“每个个体都存在两种潜在结果”这一思想实验之上的。

把话说得更技术一点:对第 \(i\) 块田,我们用 \(Y_i(1)\) 表示它种新稻时的产量,用 \(Y_i(0)\) 表示它种老稻时的产量。这两个量在观测前都是“潜在”的,就像考试前你既可能得高分也可能得低分。一旦分组确定(\(Z_i=1\) 表示种新稻,\(Z_i=0\) 表示种老稻),我们只能观测到与之对应的那个结果,另一个从此沉入反事实的世界。

τi=Yi(1)−Yi(0)\displaystyle \tau_i = Y_i(1) - Y_i(0)

1. 定义两个世界的产量:\(Y_i(1)\) 是第 \(i\) 块田在“种新稻”这个世界的亩产,\(Y_i(0)\) 是它在“种老稻”那个世界的亩产。

Yi(1),  Yi(0)\displaystyle Y_i(1),\; Y_i(0)

2. 作差得个体因果效应:把两个世界的产量相减,得到的差值就是新稻对这第 \(i\) 块田的净影响。

τi=Yi(1)−Yi(0)\displaystyle \tau_i = Y_i(1) - Y_i(0)

有了个体效应,我们自然会想求所有田的平均效应 \(\text{ATE}=\mathbb{E}[Y_i(1)-Y_i(0)]\)。可惜我们看到的不是完整世界:种了新稻的田看不到它种老稻的样子,种了老稻的田也回不去种新稻的平行时空。观测到的等式只是 \(Y_i = Z_i Y_i(1) + (1-Z_i) Y_i(0)\)——我们拿到的永远是“被选择过的现实”。这正是选择偏差问题的起点:你想比较两个世界,手上却只有一组残缺的快照。

偏差根源

老张的秋收报告一出,旁边有经验的农技员就笑了:“你让肥田种新稻、瘦田种老稻,这哪是在比稻种?分明是在让'尖子生'和'后进生'比赛,然后宣布尖子生所在的补习班更优秀。”这句话点破了选择偏差(Selection Bias)的本质:处理组和对照组的潜在结果基线不齐。所谓“基线不齐”,就是假设两组人互换种子,对照组拿到新稻也未必能达到处理组的老稻产量——因为他们的地力条件打从一开始就不同。

形式化地看,我们真正能算的是观测差异:

E[Y∣Z=1]−E[Y∣Z=0]=ATE+(E[Y(0)∣Z=1]−E[Y(0)∣Z=0])⏟选择偏差\displaystyle \mathbb{E}[Y\mid Z=1] - \mathbb{E}[Y\mid Z=0] = \text{ATE} + \underbrace{\left(\mathbb{E}[Y(0)\mid Z=1] - \mathbb{E}[Y(0)\mid Z=0]\right)}_{\text{选择偏差}}

1. 观测到的东西:\(\mathbb{E}[Y\mid Z=1]\) 是新稻组实际观测的平均产量,\(\mathbb{E}[Y\mid Z=0]\) 是老稻组的平均产量。

E[Y∣Z=1]−E[Y∣Z=0]\displaystyle \mathbb{E}[Y\mid Z=1] - \mathbb{E}[Y\mid Z=0]

2. 拆出真实效应:\(\text{ATE}\) 是全体地块种新稻相对种老稻的平均因果效应,这是我们要找的真相。

ATE=E[Y(1)−Y(0)]\displaystyle \text{ATE} = \mathbb{E}[Y(1)-Y(0)]

3. 揪出偏差项:\(\mathbb{E}[Y(0)\mid Z=1]\) 表示“新稻组如果当初种老稻会是什么产量”,\(\mathbb{E}[Y(0)\mid Z=0]\) 是老稻组实际的老稻产量。两者相减就是两组的地力底子差。

E[Y(0)∣Z=1]−E[Y(0)∣Z=0]\displaystyle \mathbb{E}[Y(0)\mid Z=1] - \mathbb{E}[Y(0)\mid Z=0]

选择偏差的来源可以归结为三类:自选择(农户自己挑种子,肥田者选新稻)、他选择(政策规定高产田优先试种新品)、机制性缺失(某种产量关联因素导致结果记录不全)。在观测数据里,我们永远不知道那个偏差项有多大,只知道它像幽灵一样附着在数据上。随机化实验之所以珍贵,就是因为它用“掷硬币”斩断了这个幽灵——让两组的地力分布趋于一致,偏差项归零。

识别假设

那么问题来了:既然观测数据里有偏差,我们凭什么还能做因果推断?答案是:必须依赖一组识别假设(Identification Assumptions)。沿用农场的比喻,要让“新稻组 vs 老稻组”成为一场公平的比赛,必须满足四个条件。

第一个叫 SUTVA(Stable Unit Treatment Value Assumption,稳定单元处理值假设),包含两层意思:一是 无干扰——你家田用新稻种,不能影响到隔壁田的产量(不能有溢出效应);二是 一致性——种新稻就是种新稻,不分“张三种的新稻”和“李四种的新稻”,只要 \(Z_i=1\),观测到的就是 \(Y_i(1)\)。如果农户偷偷把新稻种分给邻居,SUTVA 就崩了。

第二个也是最核心的,叫可忽略性(Ignorability),也叫无混淆性。数学上写作:

(Y(1), Y(0))⊥Z∣X\displaystyle (Y(1),\,Y(0)) \perp Z \mid X

1. 两个潜在的产量:\((Y(1),\,Y(0))\) 是每块田在新稻世界和老稻世界的潜在产量组合。

(Y(1), Y(0))\displaystyle (Y(1),\,Y(0))

2. 处理分配:\(Z\) 表示这块田实际种的是新稻还是老稻。

Z∈{0,1}\displaystyle Z \in \{0,1\}

3. 条件独立:\(\perp\) 表示独立;给定 \(X\) 之后,\(Z\) 与潜在结果不再相关。

⊥Z∣X\displaystyle \perp Z \mid X

第三个条件是重叠假设(Overlap),也叫正性:对任意 \(X\) 值,都有 \(0<P(Z=1\mid X)<1\)。即地力相同的田块里,既要有种新稻的,也要有种老稻的——否则我们拿什么对比?最后还有一个正性条件(Positivity)的细化:倾向得分不能恰好等于 0 或 1,否则会出现“这块田永远只有一种命运”的极端情况。这四个假设是因果推断的四根柱子,缺一根,整座楼都会歪。老张的实验之所以翻车,正是因为可忽略性和重叠性同时被打破——肥田全去种了新稻,根本没有“肥田种老稻”的对照组。

结构图示

如果把选择偏差画成一张“关系地图”,就是有向无环图(DAG,Directed Acyclic Graph)。节点是变量,箭头代表因果关系。在老张的例子里有三个角色:地力 \(C\)(协变量)、种子选择 \(Z\)(处理)、产量 \(Y\)(结果)。地力同时指向 \(Z\) 和 \(Y\)——地力好的人更爱选新稻,地力好也直接让产量高。于是形成了一条“岔路”:\(C \rightarrow Z\) 再 \(C \rightarrow Y\)。这条从 \(Z\) 到 \(Y\) 但箭头指向 Z 的路径,就是我们说的后门路径(Backdoor Path)。它像一条工地后门,把地力的影响悄悄运进了 Z 与 Y 的比较里。

后门不堵,因果难求。堵住它靠的是阻断策略:把地力 \(C\) 在分析中“按住”——比如只看地力相同的田块,或者把地力作为协变量放进回归模型,相当于在这条后门上设一道关卡,让地力无法再同时影响分组和结果。这就是“条件于协变量”(conditioning)的几何直觉。

P(Y(1)=y∣X=x)=P(Y=y∣Z=1,X=x)\displaystyle P(Y(1)=y \mid X=x) = P(Y=y \mid Z=1, X=x)

1. 左边是反事实:\(P(Y(1)=y \mid X=x)\),地力为 \(x\) 的地块如果种新稻,产量为 \(y\) 的概率。

P(Y(1)=y∣X=x)\displaystyle P(Y(1)=y \mid X=x)

2. 右边是可观测:\(P(Y=y \mid Z=1, X=x)\),地力 \(x\) 且实际种了新稻的地块产量为 \(y\) 的条件概率。

P(Y=y∣Z=1,X=x)\displaystyle P(Y=y \mid Z=1, X=x)

3. 等号即识别:在可忽略性假设下,两者相等,反事实被“翻译”成可估计量。

Y(1)⊥Z∣X⇒等式成立\displaystyle Y(1) \perp Z \mid X \Rightarrow \text{等式成立}

DAG 的价值在于把模糊的“混杂”变成清晰的路径结构。每当你看到一个声称的因果结论,就画出它的 DAG,问自己:还有哪条后门没堵死?工具变量(IV)、前门调整、后门调整,本质上都是在这张地图上找一条“干净的路”。老张要是早画出这张图,就不会让地力成为后门里狂奔的小偷了。

现实诊断

现在,假设你接手了一份“观察性数据”——不是你设计的实验,而是老老实实扫来的历史记录。怎么判断里面有没有选择偏差?这就好比医疗体检,先做几项“化验”看指标是否异常。

第一项化验是协变量失衡检查:比较处理组和对照组在关键协变量(地力、年龄、收入等)上的分布。如果新稻组的平均地力比老稻组高出一截,那就是红牌警告——基线不齐了。第二项化验是重叠检查:估计每个个体的倾向得分 \(e(x)\),也就是给定协变量后他被分到处理组的概率:

e(x)=P(Z=1∣X=x)\displaystyle e(x) = P(Z=1 \mid X=x)

1. 条件概率定义:\(P(Z=1 \mid X=x)\) 表示协变量取值 \(x\) 的个体被分到处理组的概率。

P(Z=1∣X=x)\displaystyle P(Z=1 \mid X=x)

2. 建模方式:通常用逻辑回归等分类模型估计这个条件概率。

e(x)=11+e−β⊤x\displaystyle e(x) = \frac{1}{1+e^{-\beta^\top x}}

第三项化验是敏感度分析:假设存在一个我们没观测到的混杂因素 \(U\),它要多强才能彻底推翻现有的结论?这就像问“地力之外还得藏多深的暗渠,才能把新稻组的产量优势全冲走”。如果答案是需要一个极强的未观测混杂,那结论还算稳;如果随便一个弱混杂就能翻转结果,那结论就是沙上建塔。实践中还要做数据审查:检查缺失值的产生机制、重复测量、分组规则记录等,因为“谁的数据被记下来了”本身就可能受结果影响。诊断的意义在于:先知道自己输在哪里,才知道该用哪张牌去补救。

校正策略

确诊之后,就要开药方。既然选择偏差来自于两组基线不齐,校正的核心思路就是“把两组重新拉回同一起跑线”。方法有很多,最常用的是倾向得分加权(IPW,Inverse Probability Weighting),也就是“逆概率加权”。

理解 IPW 可以回到农场:地力高的田更容易被选进新稻组,所以新稻组里“肥田”扎堆。怎么办呢?我们给这些肥田一个较小的权重——因为它们在新稻组里太多了,代表了过多的肥田声音;给那些“地力高但居然种了老稻”的稀有样本一个较大的权重——它们是纠正偏见的宝贵证据。权重的公式就是倾向得分的倒数:

τ^IPW=1n∑i=1n(ZiYie(Xi)−(1−Zi)Yi1−e(Xi))\displaystyle \hat{\tau}_{\text{IPW}} = \frac{1}{n}\sum_{i=1}^{n}\left(\frac{Z_i Y_i}{e(X_i)} - \frac{(1-Z_i)Y_i}{1-e(X_i)}\right)

1. 处理组贡献:\(Z_i=1\) 的个体,其产量 \(Y_i\) 除以他进入处理组的概率 \(e(X_i)\)。

ZiYie(Xi)\displaystyle \frac{Z_i Y_i}{e(X_i)}

2. 对照组贡献:\(Z_i=0\) 的个体,其产量除以他进入对照组的概率 \(1-e(X_i)\)。

(1−Zi)Yi1−e(Xi)\displaystyle \frac{(1-Z_i)Y_i}{1-e(X_i)}

3. 取平均:把每个个体的加权贡献加起来除以样本量 \(n\),得到全样本的平均处理效应估计。

1n∑i=1n(⋯ )\displaystyle \frac{1}{n}\sum_{i=1}^{n}(\cdots)

除了 IPW,还有匹配法(为每个处理组个体找协变量相似的对照组邻居,像相亲一样配对)、分层分析(把样本按倾向得分切成几层,在层内做比较再汇总)、协变量回归调整(直接把地力放进回归方程)。实操中常把这几种结合起来用,就像高明的医生会开多种药联合治疗。但请记住:所有校正方法都依赖前面提到的假设——如果你的数据连“可忽略性”都不满足,再漂亮的加权也无济于事。老张的故事最后有了新版本:他改用抽签决定哪块田种新稻,从此肥田、瘦田均匀分布在两组,秋收的对比才终于站得住脚。科学不是消灭不确定性,而是用设计让偏差无处遁形。

AI 应用场景

在线广告与推荐系统的 A/B 实验归因

阶段:实验评估与归因分析

解决的问题:产品团队上线一个新推荐算法,想评估它对“用户点击率”的因果效应。但用户是否进入实验组往往受用户活跃度影响——活跃用户更容易被分配到新版本,也会天然产生更多点击。传统“直接比较两组平均点击率”的做法会高估算法效果,因为活跃度这个混杂因素偷偷开了后门。

具体案例:某短视频平台上线新推荐策略,直接对比显示新策略提升点击率 8%。用倾向得分加权校正用户活跃度后,真实提升只有 3.5%。产品团队据此调整了上线决策,避免了一次虚假繁荣。

临床观察性数据中的药物疗效评估

阶段:数据清洗与因果建模

解决的问题:在电子病历这类观察性数据中,“是否用药”往往由病情决定:重症患者更容易用强效药,但重症本身也导致预后差。直接比较用药组与未用药组,会得到“用药反而有害”的荒谬结论。选择偏差隐藏在看病偏好、病情记录机制中,需要用潜在结果框架系统地建模与校正。

具体案例:某药企分析新药对住院患者的效果。医生倾向给危重患者开新药,导致用药组死亡率偏高。研究团队用 IPW 加权调整重症评分后,发现新药实际有显著保护作用,成功通过监管审查。

可解释 AI 中的反事实解释生成

阶段:模型解释与推理验证

解决的问题:反事实解释(“如果这位客户的收入提高 20%,贷款申请就会被批准”)本质上是在问 \(Y(1)\) vs \(Y(0)\),一个标准的潜在结果问题。如果训练数据本身含有选择偏差(例如银行历史上对高收入人群采集了更多样本),生成的解释就会失真,给用户错误的行为指引。

具体案例:某征信 AI 系统输出的解释显示“提高学历可提升获批概率”,但该结论来自偏差数据——高学历样本大多来自一线城市高收入申请者。校正选择偏差后,学历的影响大幅缩水,银行避免了误导性的用户建议。

Python 演示

python39 行
import numpy as npfrom sklearn.linear_model import LogisticRegression np.random.seed(42)n = 4000 # 协变量 X: 地块地力, 影响潜在产量与选种倾向X = np.random.normal(0, 1, n) # 潜在结果: Y0 老稻产量, Y1 新稻产量 = Y0 + 真实因果效应 2.0Y0 = 10.0 + 2.0 * X + np.random.normal(0, 0.8, n)Y1 = Y0 + 2.0 + np.random.normal(0, 0.5, n) # 自选择: 地力越高越倾向种新稻(处理组)logit = -0.8 + 1.6 * Xp_assign = 1.0 / (1.0 + np.exp(-logit))Z = np.random.binomial(1, p_assign) # 观测结果Y = np.where(Z == 1, Y1, Y0) ate_true = np.mean(Y1 - Y0)naive = np.mean(Y[Z == 1]) - np.mean(Y[Z == 0])print("真实ATE: %.3f" % ate_true)print("观测差异: %.3f" % naive)print("选择偏差: %.3f" % (naive - ate_true)) # 用逻辑回归估计倾向得分, 做IPW校正lr = LogisticRegression()lr.fit(X.reshape(-1, 1), Z)e = lr.predict_proba(X.reshape(-1, 1))[:, 1]e = np.clip(e, 0.05, 0.95)  # 防止权重无穷大 weight_treat = Z / eweight_ctrl = (1 - Z) / (1 - e)mu1 = np.sum(Y * weight_treat) / np.sum(weight_treat)mu0 = np.sum(Y * weight_ctrl) / np.sum(weight_ctrl)ipw_ate = mu1 - mu0print("IPW估计: %.3f" % ipw_ate)
目的:模拟“地力影响选种”的自选择数据,演示观测差异如何偏离真实因果效应,并用倾向得分加权(IPW)将偏差校正回来。
  1. p_assign = 1.0 / (1.0 + np.exp(-logit))用 sigmoid 把地力转换成选种概率,地力越高越可能种新稻,这是自选择偏差的源头。
  2. Y = np.where(Z == 1, Y1, Y0)构造观测结果:现实只能看到分组对应的那个潜在结果,另一个反事实被藏了起来。
  3. naive = np.mean(Y[Z == 1]) - np.mean(Y[Z == 0])直接比较两组观测均值,典型的“老张式”错误算法。
  4. lr.fit(X.reshape(-1, 1), Z)用逻辑回归估计倾向得分 \(e(x)=P(Z=1\mid X=x)\),把多维协变量压缩成概率。
  5. weight_treat = Z / e处理组个体除以倾向得分:地力高且大概率进处理组的人权重变小,稀有对照权重变大。
  6. mu1 = np.sum(Y * weight_treat) / np.sum(weight_treat)加权平均构造“全体样本都种新稻”世界的平均产量。
  7. ipw_ate = mu1 - mu0两个加权均值的差,就是校正选择偏差后的因果效应估计。

常见误区

误区我做了 A/B 测试,实验组的指标比对照组高了 10%,那这 10% 肯定就是新功能的功劳。

正解这 10% 里可能混着选择偏差。就像老张比较新稻和老稻的产量,却没发现新稻全种在肥田里。只有当两组在潜在结果上“基线齐平”时,观测差异才等于因果效应。必须检查两组协变量是否可比,或用随机化、加权等方法来隔离真实效应。

为何常见:人的直觉天然把“差异”等同于“原因”。我们习惯看着结果讲故事,却忘了追问“这两组人一开始是否一样”。

误区只要用了随机分组,数据就是干净的,不存在任何选择偏差问题。

正解随机化只能平衡“期望”上的混杂,小样本下仍可能失衡。更重要的是,现实中参与者会违背分配——医生给病情严重的患者调药、用户不看强制弹出的广告。这种不依从(non-compliance)会重新打开后门,让处理组不再等于随机组。此时要用“按分配分析(ITT)”或工具变量法,而不是想当然认为数据纯净。

为何常见:教材常强调随机化是因果推断的黄金标准,学习者容易把“理想实验”当成“真实数据”,忽略了现实世界中的人性干扰。

误区为了消除选择偏差,我把所有能想到的特征都塞进回归模型或倾向得分模型,肯定万无一失。

正解在协变量里混入处理后变量(比如“是否用了新稻种”之后才发生的“分蘖数”)或工具变量,反而会引入新的偏差。地力该控,但“测土配方施肥量”本身受选种影响,控制它等于把真实效应也堵死了。正确的做法是:基于 DAG 挑选进入模型的协变量,只控制真正的混杂因素,避免过度调整。

为何常见:人们普遍相信“数据越多越安全”的直觉,却不知道因果模型中“变量多一点”和“变量对一点”是两回事。

误区我的数据是跑实验得来的,字段都有记录,根本不存在选择偏差。

正解实验设计再好,数据缺失、样本流失、结果未测量也会造成选择偏差。比如用户认为新版 App 难用就卸载了,后续日志里只剩下满意用户——“留下来”本身就是被结果影响的选择。缺失不是随机发生的,缺失机制就是偏差来源之一。

为何常见:大多数人把偏差归因于“分组方式”,却忽略“数据记录方式”和“样本留存方式”同样是选择过程。

误区倾向得分加权时,给稀有样本超大权重,这样它们就能代表很多人,估计应该更准。

正解权重过大会导致方差爆炸——一个权重 100 的样本就能主导整个估计结果。倾向得分接近 0 或 1 时,权重相当于放大了极端噪声。实际中要对倾向得分做修剪(如截断在 0.05~0.95),或者结合匹配、分层做多种方法交叉验证,而不是迷信单一加权结果。

为何常见:学习 IPW 时人们记住了“逆概率”公式,却忽略了有效样本量这一约束,以为权重越大代表“信息越多”,实则是“噪声越大”。

面试题

Q1. 潜在结果框架中,个体因果效应 \(\tau_i\) 的定义是?

单选题 · easy

  • A.\(Y_i(1) + Y_i(0)\)
  • B.\(Y_i(1) - Y_i(0)\)← 正确答案
  • C.\(\mathbb{E}[Y_i] - Y_i\)
  • D.\(Y_i(0) - Y_i(1)\)

答案:B。个体因果效应是同一人在两种处理下的潜在结果之差,即 \(Y_i(1)-Y_i(0)\)。B 正确;A 是加和、C 是均值偏差、D 符号反了,均不符合定义。

Q2. 观测方程 \(Y_i = Z_i Y_i(1) + (1-Z_i) Y_i(0)\) 体现的是哪个假设?

单选题 · easy

  • A.可忽略性
  • B.一致性← 正确答案
  • C.重叠假设
  • D.正性条件

答案:B。该方程说明观测结果等于实际分组对应的潜在结果,即“种什么看什么结果”,正是一致性假设。可忽略性处理的是 \(Z\) 与潜在结果的独立性;重叠与正性关注倾向得分的取值空间。

Q3. 选择偏差的本质是?

单选题 · mid

  • A.样本量太少导致误差
  • B.两组潜在结果的基线分布不齐← 正确答案
  • C.测量工具精度不足
  • D.处理效应在不同人群相同

答案:B。偏差来自 \(\mathbb{E}[Y(0)\mid Z=1] \neq \mathbb{E}[Y(0)\mid Z=0]\),即反事实基线不齐,如同让尖子生和后进生比赛。样本量、测量精度和效应异质性都不构成选择偏差定义。

Q4. 随机化实验消除选择偏差的关键机制是?

单选题 · mid

  • A.保证样本量足够大
  • B.使 \(Z\) 与潜在结果独立← 正确答案
  • C.使处理效应变为常数
  • D.消除所有测量噪声

答案:B。随机掷硬币决定分组后,处理分配与 \(Y(1),Y(0)\) 独立,两组潜在结果分布期望一致,偏差项归零。其余选项均不是随机化的因果机制。

Q5. 选择偏差可以来源于以下哪些途径?

多选题 · mid

  • A.个体自选择进入处理组← 正确答案
  • B.政策规定特定人群接受处理← 正确答案
  • C.缺失值机制与结果相关← 正确答案
  • D.样本量恰好为偶数

答案:ABC。自选择(肥田选新稻)、他选择(政策指派)和依结果缺失(卸载用户丢失记录)都会让分组与潜在结果挂钩。样本量奇偶性与偏差无关,纯属干扰项。

Q6. 倾向得分 \(e(x)\) 的定义是?

单选题 · mid

  • A.\(P(Y=1 \mid Z=x)\)
  • B.\(P(Z=1 \mid X=x)\)← 正确答案
  • C.\(P(X=x \mid Z=1)\)
  • D.\(\mathbb{E}[Y \mid X=x]\)

答案:B。倾向得分是给定协变量 \(X=x\) 后被分配到处理组的条件概率。A 混淆了结果与处理;C 方向反了;D 是回归函数而非倾向得分。

Q7. 关于重叠假设,下列说法正确的是?

多选题 · hard

  • A.要求 \(0<P(Z=1\mid X)<1\) 对任意 \(X\) 成立← 正确答案
  • B.保证每个协变量组合下都有处理组和对照组样本← 正确答案
  • C.重叠不足时 IPW 估计仍然完全可靠
  • D.重叠不足可通过修剪处理组样本缓解← 正确答案

答案:ABD。重叠假设要求倾向得分不取 0 或 1,保证每种协变量组合下都有可比对象。重叠不足会让 IPW 权重极端化、估计不可靠,因此 C 错;实践中可通过修剪(仅保留重叠区域样本)缓解。

Q8. 在 DAG 中,变量 \(X\) 同时影响 \(Z\) 和 \(Y\),这条 \(Z \leftarrow X \rightarrow Y\) 路径被称为?

单选题 · hard

  • A.前门路径
  • B.后门路径← 正确答案
  • C.因果路径
  • D.工具路径

答案:B。从 \(Z\) 到 \(Y\) 存在一条不经由 \(Z \rightarrow Y\) 且有箭头指向 \(Z\) 的路径,即后门路径。它是不需要调整的因果路径的对立面,必须通过控制 \(X\) 来阻断。

Q9. 下列哪些假设是观察性数据识别因果效应所必需的?

多选题 · mid

  • A.SUTVA 无干扰与一致性← 正确答案
  • B.可忽略性(无未观测混杂)← 正确答案
  • C.重叠假设← 正确答案
  • D.处理效应为常数

答案:ABC。SUTVA、可忽略性、重叠假设(含正性)是潜在结果框架的三根支柱,缺一不可。处理效应是否为常数是科学问题而非识别假设,异质性依然可识别,故 D 错。

Q10. 当倾向得分趋近于 1 但仍有少数对照组样本时,IPW 估计会出现什么问题?

单选题 · extreme

  • A.偏差消除但方差爆炸← 正确答案
  • B.偏差和方差同时消失
  • C.估计变为无偏且高效
  • D.正性条件自动满足

答案:A。\(1-e(x)\) 趋近 0 使对照组权重趋近无穷大,单个极端样本主导估计导致方差爆炸。虽然理论上无偏,但有限样本下极不稳定,需修剪或换用匹配等方法。C 与 D 均不符合实际。