周末你带着问卷,在两家奶茶店门口做试饮评测。傍晚汇总数据:B 店整体满意度 78%,A 店只有 70%,看上去 B 完胜。可当你把数据按人群拆开,却发现反转了——在甜度敏感型顾客中,A 的满意度 60% 对 B 的 50%;在甜度耐受型顾客中,A 高达 95%、B 是 90%。每一类人群里 A 都更好,合在一起 B 反而赢了?这不是算术错误,而是统计世界里著名的“辛普森悖论”。谜底在于试饮人群的构成不均衡:A 在健身房投放,招来大量“甜度敏感型”(对奶茶挑剔、整体给分低)顾客;B 在大学校园投放,招来大量“甜度耐受型”(容易满足、整体给分高)顾客。数据不会说谎,但“谁选择试喝了哪款”并不是随机发生的。要拆穿这个骗局,我们需要一把因果手术刀——do 算子。它模拟“强制所有人都喝两款奶茶”的干预,把被混杂掩盖的真实效应还原出来。本文将带你从统计相关性走进因果推断,用 do 算子破解辛普森悖论。
掌握 do 算子,你将拥有看穿“整体统计结论陷阱”的能力,学会从观察数据中还原真实因果效应。这是 AI 工程师从“相关性匹配”升级到“因果决策”的核心技能,也是数据科学家进阶路上的关键一步。
目录
可视化演示
动态演示do算子破解辛普森悖论的因果的核心机制,通过开始/执行/监控/完成四种模式展示关键概念与交互流程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
do算子破解辛普森悖论的因果:辛普森悖 辛普森悖论的经典现象与困惑 悖论产生的统计机制分析 核心机制可视化 do算子破解辛普森悖论的因果整体架构与关键组件
辛普森悖论:整体与分组的“翻转魔术”
周末你带着问卷去两家奶茶店门口做试饮评测。傍晚汇总数据:B 店的整体满意度 78%,A 店却只有 70%,看起来 B 完胜。但你刚准备写“B 更好”的结论时,随手把数据按人群拆开一看——甜度敏感型顾客中 A 的满意度 60%、B 只有 50%;甜度耐受型顾客中 A 高达 95%、B 是 90%。每一类人群里 A 都更好,怎么合在一起 B 反而赢了?
这不是算术错误,而是统计世界里著名的辛普森悖论。1951 年,统计学家 Edward Simpson 系统阐述了它:当数据存在隐藏的分组结构时,合并后的整体结论可能与每个分组内部的结论完全相反。医学领域最著名的案例是肾结石手术:一种新术式在“小结石”和“大结石”两类患者中成功率都更高,但合并统计时反而低于传统术式,原因是新术式被更多用在了难以治疗的大结石患者身上。
用数学语言刻画这个翻转,需要看清“整体比例”与“分组比例”的关系。设 T 表示选择哪款奶茶,Y 表示是否满意(1 满意,0 不满意),Z 表示人群类型(1 甜度敏感,0 耐受)。整体的满意率并不是“把分组满意率简单平均”,而是每个分组满意率按各自占比加权求和:
回到奶茶故事:A 真的是更好的奶茶,只不过它被投放在了一个“容易给低分”的人群聚集地。整体数据是“人群构成”和“真实口味”两股力量角力的结果,而辛普森悖论就是统计数字在我们眼前上演的一场翻转魔术。要拆穿它,光看平均数不够——我们必须先找到那个暗中操控权重的“幕后黑手”。
- 整体比例分解把整体满意率写成分组满意率的加权平均,权重是本组在试饮者中的占比。
- 组内优势对任意人群 z,A 的满意率都高于 B,即 A 在每个分组内都更优。
- 权重颠倒$P(Z=1 \mid A)=0.7$ 而 $P(Z=1 \mid B)=0.3$,难满意人群在 A 组中占比过大,把 A 的整体数值拉低。
混杂变量:操控权重的幕后黑手
为什么敏感型人群占比高会把 A 的整体满意度拉低?因为“人群类型”这个变量像个隐藏导演,它同时干了两件事:一方面影响了“你喝到哪款奶茶”——健身房和校园的投放差异决定了谁更容易试喝 A 或 B;另一方面又直接影响了“你会不会给高分”——甜度敏感的人本来就挑剔。当一个变量同时影响“原因”和“结果”时,统计学家称它为混杂变量。
在你的数据表里,T(喝 A 还是 B)与 Y(满意度)之间的数值关系,是被 Z(人群类型)这条暗道“掺了水分”的。我们观察到“喝 B 的人满意度更高”,但这并不等于“B 让人更满意”——也许只是 B 的试喝人群恰好更容易满意罢了。这正是“相关不等于因果”的典型证据:观察到的关联中,混入了“人群构成差异”带来的系统性偏差。
用两组差异来直观展示这种偏倚。先看观察差异——直接拿整体满意率相减;再看调整差异——把人群类型调平后再相减:
幕后黑手找到了:正是 Z 的权重失衡,让“谁选择喝哪款”与“会不会给高分”纠缠在一起。要想得到干净的因果答案,我们必须对这个世界“动手术”——强制干预。这正是 do 算子登场的时刻。
- 观察差异直接比较整体满意率,得到负值,表面结论是 B 更好。
- 层内差异在每个 Z 层内比较 A 与 B,A 分别领先 10 个百分点和 5 个百分点。
- 按全局构成合并以目标人群构成 $P(Z=z)$(各 50%)为权重合并层内差,得到正的因果效应。
do算子:从“看到”到“做到”
要弄清 A 和 B 谁更好,最稳妥的办法是做个盲测实验:把人群按相同比例分成两组,强制每组都喝两款奶茶,再看满意度。但现实中你没法强迫顾客——你只能“看到”他们自己做出的选择。看到 vs 做到,正是统计观察与因果干预的分界线。Judea Pearl 用一把“手术刀”标记干预动作,这就是 do 算子。
在常规概率中,$P(Y \mid T=t)$ 读作“观察到 T=t 的人中 Y 发生的概率”;而 $P(Y \mid do(T=t))$ 读作“强迫所有人都把 T 设为 t 时 Y 的概率”。前者是观测世界的快照,后者是干预世界的假设。两者在存在混杂时相差甚远,这正是辛普森悖论歧路的根源。
do 操作对应物理世界中的随机对照实验(RCT)。如果用 $Y(t)$ 表示“当 T=t 时的潜在结果”,那么平均因果效应定义为:
do 算子让我们得以在数据中“重演”盲测实验:与其被动观察“谁选择了什么”,不如在模型世界里强制所有人喝两款奶茶。回到奶茶店,这个“强制”操作就是对整体人群做公平干预:把甜度敏感和耐受的人群比例都调成 50%,再去对比满意度。接下来我们要讨论如何找到这个“调整配方”——这需要先绘制变量之间的因果地图。
- 潜在结果符号$Y(1)$ 与 $Y(0)$ 分别表示同一个人在被强制喝 A 和喝 B 两种平行世界里的满意度,这是“因果关系”的定义性概念。
- 干预后分布$P(Y=1 \mid do(T=1))$ 指全体人群都喝 A 时的满意率,这正是随机对照实验要估计的量。
- 期望之差用两个干预分布的期望相减得到平均因果效应,正值表示 A 更好,负值表示 B 更好。
因果图:变量关系的路线图
要正确地调平人群,首先得知道谁影响了谁。因果图(有向无环图,DAG)就是一张“变量关系路线图”:每个节点是一个变量,每条箭头表示“箭头的起点会对终点产生因果影响”。在你的奶茶数据里,存在三条箭头:人群类型 Z 指向试喝选择 T,Z 又指向满意度 Y,T 也指向 Y。
为什么必须是“有向无环”?因为因果只能从原因流向结果(有向),且不能允许“我导致你、你又导致我”的循环(无环)。每个节点的直接原因被称为“父节点”,由此整张图的联合分布可以被拆成一系列条件概率的乘积,这就是因果马尔可夫分解,也叫因果图的结构因子分解。
设图中所有变量为 $V = (V_1, \dots, V_n)$,联合分布可以按因果序分解为每个变量在给定其父节点下的条件分布之积:
拿到这张奶茶因果地图,我们就能看清“整体结论被谁带偏”了:Z → T 这条箭头,意味着人群构成“污染”了谁试喝哪款;Z → Y 这条箭头,意味着人群构成也直接影响满意度。当你想知道 T 对 Y 的真实效果时,地图上却有一条 T ← Z → Y 的“后门小路”在捣乱。下一节我们就要学习如何“堵住后门”。
- 因果序将变量按箭头方向排好序,原因在前、结果在后,形成一条时间或逻辑上的流动顺序。
- 父节点集合$\text{pa}_i$ 表示直接指向 $V_i$ 的所有变量,是 $V_i$ 的“直接原因”。
- 条件分布连乘每个变量只依赖其父节点,联合概率等于所有条件概率相乘,这是后续调整公式的基石。
后门准则:堵住混杂的暗道
一条 T ← Z → Y 的路径,像极了奶茶店仓库的后门:外部人群结构从这儿悄悄溜进 T 和 Y 的关系里,搅浑了真实因果效应。后门准则告诉你:只要找到并阻断所有这样的后门路径,就能从观察数据中还原干预效果。所谓“阻断”,就是把 Z 分层,然后在每一层内比较 A、B,最后按目标人群构成加权合并。
形式化地说,若变量集合 W 满足两个条件:(1) W 中任何节点都不是 T 的后代;(2) W 阻断了所有从 T 指向 Y 的、含指向 T 的箭头的路径(即后门路径),那么 W 就是一个合法的调整集。最常见的后门调整公式如下:
代入奶茶数据:A 的校正满意率 = 0.6×0.5 + 0.95×0.5 = 0.775,B 的校正满意率 = 0.5×0.5 + 0.9×0.5 = 0.70,A 反超 B!悖论被破解了。后门准则就像给奶茶评测装上“门禁系统”:任何试图从人群构成溜进来的干扰都被拦截在门外。但现实里更复杂的问题接踵而至——如果 Z 根本观察不到呢?这时我们无法直接调整,就需要更强大的武器:do 演算。
- 调整集 W在奶茶例子里 W = {Z}(人群类型),它同时指向 T 和 Y,是后门路径上的关键节点。
- 层内估计$P(Y \mid T=t, W=w)$ 是在固定人群类型 w 之下比较各奶茶的满意率,不受人群构成干扰。
- 按全局分布加权以 $P(W=w)$ 而不是各组内的 $P(W=w\mid T)$ 作权重,相当于把两组人群构成“调平”到目标水平。
do演算:因果计算的三条公理
如果后门被堵死(混杂变量不可观测),是不是就束手无策了?Judea Pearl 等人在 1995 年给出了“因果代数”的完整规则——do 演算(do-calculus)。它像解方程时移项、合并同类项的代数规则,通过三种合法的图变换,把含有 do 的表达式逐步化简成不含 do 的纯观察表达式。
do 演算的三条规则各司其职:规则 1 在给定某些条件下允许插入或删除观察条件;规则 2 在条件独立成立时把干预替换成观察;规则 3 在干预不影响结果时直接删除干预。每一条都对应图结构上的特定“独立性判定”,通过删边、加边或改变箭头来检查条件是否成立。
最核心的规则 2(行动与观察的等价条件):若在删去所有指向 T 的边之后,Y 与 T 关于 W、Z 条件独立,则干预可替换为观察:
do 演算让我们在“后门被锁”的绝境里开辟出符号通道:只要图结构上存在某种独立性关系,干预就能一步步“翻译”成我们可以从数据中直接统计的数量。它回答了因果推断最核心的问题——哪些因果效应是可识别的,哪些不可能从观察数据中恢复。不过,do 演算的规则虽然完备,用起来却需要技巧;好在我们还有一个更直观的特例——前门准则。
- 干预图 $G_{\overline{T}}$在原图 G 中删去所有指向 T 的箭头,相当于封住了混杂因素进入选择的通道。
- 条件独立性判定在干预图中检查 $(Y \perp\!\!\!\perp T \mid Z, W)$ 是否成立,若成立则 T 对 Y 的关系不再受混杂污染。
- 完成替换在条件成立时,$P(y \mid do(T=t), z, w)$ 就等于观察条件概率 $P(y \mid T=t, z, w)$,干预被“翻译”为可观测的统计量。
前门准则:无后门时走前门
想象你在奶茶店做回访:顾客是不是甜度敏感(Z)完全无法获知,后门调整这条路走不通。但你注意到一个中间环节:口味如何(T)会影响顾客是否回购(M),而回购又明显影响最终满意度评分(Y)。既然“后门”被锁,不妨改走“前门”——通过 T → M → Y 这条中介链,间接还原 T 对 Y 的因果作用。
前门准则处理的结构是:T 通过中介变量 M 影响 Y,而且 M 到 Y 的因果关系不受 T、Y 之间的混杂干扰。它的识别条件有三个:M 完全中介了 T 对 Y 的效应;T 到 M 的关系不含后门路径;M 到 Y 的关系可以被调整识别。在这些条件下,因果效应可表示为 T→M 与 M→Y 两段效应的合成:
前门准则告诉我们:即便混杂幕后黑手隐身,只要因果链条上存在一个“透明的中介环节”,我们就能借道它完成识别。它和后门准则一起,成为 do 演算最经典的两种应用范式。有了这些工具,我们终于可以回到奶茶店,把整套方法用在真实决策里。
- 第一段 T→M$P(m \mid x)$ 表示喝 A 奶茶(x)后产生回购意愿 M 的概率,它可直接从数据中观察。
- 第二段 M→Y 的调整$\sum_{x'} P(y \mid x', m)P(x')$ 用后门方式估计“回购 M 对满意度 Y”的因果效应,把所有可能的 T 值 $x'$ 作为调整变量。
- 两段合成把每一条中介路径上的效应按 M 求和,得到 X 对 Y 的总因果效应。
因果实战:从数据到决策
现在把奶茶店的故事升级为真实业务。你是一名数据分析师,老板拿着报表问:“B 店满意度 78%,A 店 70%,是不是该加大对 B 店的推广?” 如果你只读报表,就会做出一个被混杂误导的决策。而掌握了 do 算子之后,你的回答分四步:画因果图、找后门路径、选调整集、计算干预效应。
同样的逻辑早已进入医学、推荐系统和社交网络分析。在电子病历中评估“降糖药是否真的降低并发症风险”时,必须校正患者“病情严重程度”这一混杂;在推荐系统中评估“展示位是否真的带来点击提升”时,必须校正“用户活跃度”这一混杂;在社交网络中判断“转发是否真的引发二次传播”时,必须校正“话题热度”这一混杂。
实践中,一套完整的因果效应估计流程通常分为三步:构建 DAG、用后门准则(或 do 演算)判断可识别性、用调整公式计算效应。对二元处理的情形,因果效应写作:
回到奶茶店,你用后门准则算出 A 的校正满意度 77.5%、B 是 70%,于是建议加大对 A 的研发与投放。老板半信半疑,但一份“按人群分层”的对比报告让所有人都心服口服。统计数字没有错,错的是“只看整体”的视角。do 算子给了你第二双眼睛——因果的视角。
- 层内效应在每一个混杂层 w 内,计算处理组与对照组结果期望之差,这是“纯净”的层内因果效应。
- 混杂权重用 $P(W=w)$ 表示该混杂层在目标人群中的比例,把各层效应按真实构成加权。
AI 应用场景
电子病历中的药物疗效评估
阶段:数据预处理与效应识别
解决的问题:传统方法直接比较“用药组 vs 未用药组”的复发率,会因病情严重程度等混杂而得出错误结论——病情轻的人更可能被处方某种药,也让该药“看起来有效”。用 do 算子做后门调整后,能在非随机化病历数据上还原真实因果效应,避免把“适应症偏倚”当成药效。这就好比奶茶评测里,不看人群构成就直接比较满意率。
具体案例:某医院评估“他汀类药物是否降低心梗复发率”。病历中重症患者更多被处方他汀,而重症本身复发概率高,导致观察数据中“用药者复发率反而更高”。通过 DAG 确定调整集(年龄、既往病史、病情程度),用后门公式校正后,得到他汀显著降低复发率的真实效应。
推荐系统离线评估纠偏
阶段:模型评估与偏差校正
解决的问题:离线日志里“被展示的物品点击率高”不代表“推荐该物品能带来高点击”——因为展示策略本身受用户活跃度等混杂影响(活跃用户看到更多曝光也更容易点击)。用 do 算子模拟“强制曝光”来求因果效应,离线评估才与线上 A/B 实验对齐,避免上线效果大幅缩水。
具体案例:某推荐平台统计发现“视频 A 的点击率高于视频 B”,但将其放到首页强曝光(do 操作)后,A 的完播率反而低于 B。原因:日志中 A 被分发给了短视频偏好人群(点击率高),而 B 被分发给长视频偏好人群。团队用后门调整校正用户偏好分布后,重新排序模型评估结果。
社交网络影响力分析
阶段:因果效应识别
解决的问题:社交平台上“被转发的帖子传播更广”有两种解释:帖子本身好(因果)或转发者的粉丝量本来就大(同质性混杂)。do-calculus 帮助区分“同质性”与“影响力”,避免把社交放大效应错误归因于内容价值。
具体案例:某内容平台分析“关键意见领袖转发是否带来二次传播”,用前门准则处理“内容质量”这一不可观测混杂(内容质量 → 转发意愿 → 二次传播),识别转发对传播的因果效应,从而优化冷启动分发策略。
Python 演示
import numpy as np def simulate(n=20000, seed=42): """Simulate a Simpson's paradox dataset: stores A/B and hidden Z.""" rng = np.random.default_rng(seed) # Hidden confounder: 1 = sweet-sensitive, 0 = tolerant z = rng.integers(0, 2, size=n) z_share = 0.5 # target population share of z=1 # Store choice depends on z (confounding path) # P(store=A | z=1) = 0.7, P(store=A | z=0) = 0.3 p_a = np.where(z == 1, 0.7, 0.3) t = (rng.random(n) < p_a).astype(int) # 1 = store A, 0 = store B # Satisfaction probability per group (A is better in BOTH groups) p_y = np.zeros(n) p_y[(t == 1) & (z == 1)] = 0.60 p_y[(t == 1) & (z == 0)] = 0.95 p_y[(t == 0) & (z == 1)] = 0.50 p_y[(t == 0) & (z == 0)] = 0.90 y = (rng.random(n) < p_y).astype(int) # 1 = satisfied return t, z, y, z_share def naive_effect(t, y): """Naive association: E[Y|T=1] - E[Y|T=0] (pure correlation).""" return y[t == 1].mean() - y[t == 0].mean() def backdoor_adjust(t, z, y, z_share): """Back-door adjustment: sum_z E[Y|T=1,Z=z]*P(Z=z) - sum_z ... for T=0.""" est = {} for store in (1, 0): total = 0.0 for z_val in (0, 1): mask = (t == store) & (z == z_val) if mask.sum() > 0: weight = (1 - z_share) if z_val == 0 else z_share total += y[mask].mean() * weight est[store] = total return est[1] - est[0] def main(): t, z, y, z_share = simulate() print("Naive association E[Y|A]-E[Y|B] =", round(naive_effect(t, y), 4)) print("Back-door adjusted ATE =", round(backdoor_adjust(t, z, y, z_share), 4)) print("Conclusion: naive says store B is better,") print(" causal effect says store A is better.") if __name__ == "__main__": main()
z = rng.integers(0, 2, size=n)生成隐藏混杂变量:顾客是否甜度敏感。p_a = np.where(z == 1, 0.7, 0.3)让选择店面的概率依赖 z,制造选择偏差。t = (rng.random(n) < p_a).astype(int)模拟每位顾客走进哪家店试喝。p_y[(t == 1) & (z == 1)] = 0.60设定 A 在敏感型顾客中的满意率,注意 A 在每个分组都更高。def naive_effect(t, y):传统做法:直接比较两店整体满意率,即“观察视角”。return y[t == 1].mean() - y[t == 0].mean()得到负值,表面结论是 B 更好。for z_val in (0, 1):后门调整的核心:对两个人群层分别统计满意率。total += y[mask].mean() * weight按目标人群构成加权,这是 do 校正的关键步骤。if __name__ == "__main__":提供命令行入口,直接运行即可复现悖论。
常见误区
误区整体和分组结论矛盾,说明数据是错的,或者统计软件出了 bug,把某个数字算错了。
正解数据完全真实。悖论源于隐藏的混杂结构:分组比例失衡导致加权后的整体被带偏。就像奶茶盲测,A 在每类人群都更好,但难满意人群在 A 试饮者中占比过高导致整体偏低。解决思路不是改数据,而是引入因果视角做 do 干预。
为何常见:人的直觉默认“数据大就是真相”,加上悖论的反直觉反转给人一种“统计不可靠”的印象,很容易归因于数据质量问题。
误区既然整体结论被混杂带偏,那我直接把各分组的满意度取算术平均,就能得到无偏的正确答案。
正解简单平均把所有分组一视同仁,忽略了目标人群的真实构成。后门调整要求按 $P(Z=z)$——目标人群的全局构成——加权,而不是等权平均。如果商场里甜度敏感与耐受是 50:50,就用 50:50;如果全局是 80:20,就按 80:20 加权。
为何常见:分层后每层都有差异,初学者自然想用“平均”来汇总,却不知道权重本身需要因果图的指导。
误区P(Y | T=t) 和 P(Y | do(T=t)) 意思差不多,样本量大了两者就会趋同。
正解这是观察与干预的根本区别。样本量再大也无法消除混杂导致的系统性偏差——B 试饮者里耐受人多的“结构性优势”不会因为数据多而消失。只有随机对照实验或满足后门准则的调整,才能让观察分布逼近干预分布。
为何常见:大数定律让我们习惯性地认为“样本多=更准确”,但它只能消除随机误差,无法消除系统偏差。
误区做因果分析时,把能收集到的变量全部放进调整集更保险,多控一个变量总没有坏处。
正解盲目调整可能打开新的偏倚路径。如果某个变量是“碰撞器”(由 T 和 Y 共同影响),以它为条件反而会制造虚假关联。正确做法是先画 DAG,用后门准则判断哪些变量该进调整集,哪些必须排除。
为何常见:处理观测数据时大家习惯“多控变量”,但这套思维来自回归建模;因果推断的变量选择必须基于图结构而非数据可及性。
面试题
Q1. 辛普森悖论最核心的表现是?
- A.样本量越大统计结果越可靠
- B.整体结论与组内结论方向矛盾← 正确答案
- C.数据分组越细致信息越丰富
- D.统计显著性比效应量更重要
答案:B。辛普森悖论的本质就是“整体与分组结论相反”:整体看 B 赢,分组看 A 全赢。这是混杂结构导致的加权错位,而不是样本量、显著性检验或分组精细度的问题,因此选 B。
Q2. "do(T=1)" 在因果推断中表示?
- A.观察到 T 取值为 1 的样本
- B.强制全体对象将 T 设为 1← 正确答案
- C.统计 T 等于 1 的事件个数
- D.拟合 T 对结果变量的回归
答案:B。do 算子代表“干预”而非“观察”:强制所有人喝 A 奶茶,而不是统计哪些人喝了 A。观察是 T=1 的被动记录,干预是 do(T=1) 的主动改变,这是二者最本质的区别。
Q3. 混杂变量需要满足什么条件?
- A.同时影响处理变量和结果变量← 正确答案
- B.只影响处理变量不影响结果
- C.只影响结果变量不影响处理
- D.与处理变量和结果变量均无关
答案:A。混杂变量 Z 必须同时指向处理变量 T 和结果变量 Y,形成 T ← Z → Y 的后门路径。如果 Z 只影响其中一方,就不会产生“选择偏差+结果偏差”的叠加效应,也就不是真正的混杂。
Q4. 后门准则主要用于解决什么问题?
- A.确定哪些混杂变量可以调整← 正确答案
- B.判断样本量是否足够大
- C.选择最合适的机器学习模型
- D.检验数据是否符合正态分布
答案:A。后门准则回答“为了识别因果效应,应该调整哪些变量”:找到所有从 T 指向 Y 的后门路径,选择能阻断这些路径的变量集合。它不涉及样本量、模型选择或分布假设,因此选 A。
Q5. 在 DAG 中,“碰撞器”节点有什么特性?
- A.同时受多个原因变量的影响← 正确答案
- B.同时影响多个结果变量的分布
- C.自身没有任何父节点存在
- D.代表了误差项和未观测变量
答案:A。碰撞器是多个箭头指向的节点,比如 Z ← T → Y 中同时受 T 和 Y 影响的变量。在碰撞器上做条件调整反而会打开原本封闭的路径、制造虚假关联,这与通常“多控变量”的直觉相反。
Q6. do 演算三条规则的核心作用是什么?
- A.把干预表达式转换为观察表达式← 正确答案
- B.把数据集切分为训练与测试集
- C.提升深度学习模型的泛化能力
- D.将非平稳时间序列变为平稳
答案:A。do 演算是“因果代数”,通过三种图变换规则,判断干预表达式能否化简为可观察的统计量。它解决的是“因果效应是否可识别”的问题,与数据集划分、模型泛化、时间序列平稳性毫无关系。
Q7. 前门准则适用的典型场景是?
- A.混杂变量不可观测但有中介变量← 正确答案
- B.中介变量不可观测需要后门调整
- C.所有变量都可以被直接测量
- D.处理变量与结果变量完全独立
答案:A。前门准则是为“混杂不可观测”设计的备选路径:无法测量人群类型 Z,但存在中介 M(如回购意愿)位于 T 与 Y 之间,于是通过 T→M 和 M→Y 两段合成总效应。如果中介不可观测,前门准则也无法使用。
Q8. 关于辛普森悖论的正确理解有?
- A.分组内部结论与整体结论相反← 正确答案
- B.原因在于分组权重结构失衡← 正确答案
- C.说明统计数字必然不可信任
- D.需要用因果调整来还原真相← 正确答案
答案:ABD。悖论的表现是分组与整体结论矛盾(A 对),根源是各分组权重失衡(B 对),解法是用后门调整等因果方法还原(D 对)。统计数字本身没错,只是混入了混杂,不能因此说统计不可信(C 错)。
Q9. 下列哪些是后门准则的合法调整条件?
- A.调整集不包含处理变量的后代← 正确答案
- B.调整集阻断所有后门路径← 正确答案
- C.调整集包含全部可观测变量
- D.调整集变量必须是连续变量
答案:AB。后门准则要求 W 不包含 T 的后代(避免打开新的路径),且 W 阻断所有从 T 到 Y 的后门路径(A、B 对)。“包含全部变量”是错误直觉,可能引入碰撞器偏差;变量类型也不受限制,分类变量完全可以进调整集。
Q10. 关于 P(Y|do(T)) 与 P(Y|T) 的关系,说法正确的是?
- A.随机对照实验中二者数值一致← 正确答案
- B.混杂存在时二者通常不一致← 正确答案
- C.后门调整后可逼近前者← 正确答案
- D.观察数据只能估计后者
答案:ABC。随机对照实验通过随机分组消除了混杂,观察分布等于干预分布(A 对);存在混杂时二者一般不同(B 对);后门调整能从观察数据逼近干预分布(C 对)。观察数据在满足可识别条件时也能估计前者,D 的说法过于绝对,因此错误。