你是一家“国家汤品大赛”的新任首席裁判长。今年大赛最受关注的奖项是“最佳调盐贡献奖”——你要在几千份参赛汤品中判断:加盐到底对口感提升有多大贡献?乍一看很简单:把加盐的汤和不加盐的汤分别算平均分,对比一下不就行了?但你不禁犹豫:那些加盐的汤,往往出自更资深的厨师之手,他们不仅会加盐,还懂得火候、选料、摆盘;不加盐的汤大多是新人作品,连调味都不敢冒进。这样一来,“加盐组得分高”到底是盐的功劳,还是厨师手艺的功劳?这就是因果推断中最经典的一道难题——相关性不等于因果性。要解开它,你需要一套严谨的方法论:do-演算(do-calculus)。而其中最关键的第一步,就是“控制变量选择”——决定分析时,应把哪些干扰因素纳入统计控制,哪些必须排除在外。这就像裁判长要决定:评审表中,到底该记录厨师的哪些信息,才能把“盐的功劳”从“厨师手艺的功劳”中干干净净地剥离出来。
因果推断能力正在成为 AI 从业者的核心竞争力。掌握 do-演算与控制变量选择,你就能在数据建模、AB 实验、可解释 AI 等场景中,避免把相关当因果的系统性陷阱,给出可靠的结论。
可视化演示
展示因果推断中控制变量选择的四步流程、后门准则图阻断路径原理、以及欠控制、正确控制与过控制三种策略的偏差对比,交互切换三种模式探索。
本节配有交互动效(进入视口后自动加载,约 3KB)。
'+CAPS.mode1+'
控制变量基础
你端坐在主裁判席上,面前的规则书写着一句让人头疼的话:“本届新增'最佳调盐贡献奖',请科学评估加盐对汤品口感的因果贡献。”你翻看往年记录:加盐的汤平均得分 8.1,不加盐的汤平均得分 7.2,差了整整 0.9 分。这个数字能拿上台面吗?你心里清楚:加盐的汤多数出自资深厨师之手,他们掌控着火候、食材、摆盘——这些因素也可能让汤更好喝。数据里的 0.9 分,混杂了“盐的功劳”和“厨师手艺的功劳”。你真正想知道的,是只有盐发生变化、其他一切保持原样时,口感会提升多少。就像问:让同一位厨师,把同一锅汤分成两半,一半加盐一半不加,再盲评,差异是多少?
统计学家把你想知道的量写成 $P(Y|do(X=x))$——“do“表示干预:强制指定加盐与否。而数据直接告诉你的,是 $P(Y|X=x)$——”观察到“加盐与否时 Y 的分布。两者之间的沟壑,就是整篇故事的起点。控制变量选择要做的事,正是找出那些让沟壑出现的”搅局者“,把它们纳入统计口径,从而把观察分布”校正”成干预分布。
回到比赛现场,裁判长要做的第一件事,就是搞清楚该在评审表中记录哪些字段。只有把“围裙等级”这类变量记录下来,后续才有机会从数据中还原盐的真实贡献——这就是变量选择的意义。
- 等号左边——干预分布$do(X=x)$ 表示“通过实验强制所有人把 X 设为 x”,例如规定某一组厨师必须加盐。这切断了一切其他因素对 X 的影响,只留下 X 本身对 Y 的作用。
- 等号右边——观察分布$P(Y|X=x)$ 表示“观察到 X=x 时 Y 的条件概率”——这只是在记录海量数据中那些选择了 X=x 的样本,没有做任何干预。
- 不等号的意义二者通常不相等,正是因为混杂因子的存在——“是否加盐”并非随机,而是与厨师技艺等高竞争力的因素纠缠在一起。
混杂偏倚识别
大赛现场有位评委,他有个小习惯:看到系着金色围裙的厨师就忍不住多给 0.5 分。金色围裙只有资深厨师才配拥有,而资深厨师恰恰更爱加盐。于是“围裙等级”同时影响了 X(是否加盐)和 Y(评分)——这就是一个典型的混杂因子(confounder)。它打开了一条从 X 通往 Y 的“后门路径”:X ← 围裙等级 → Y。在这条路径上,信息不是从 X 流向 Y,而是从外部流进来,污染了 X 与 Y 的关系。
判断一个变量是否是混杂因子,看两点:它是否影响 X?它是否在 X 之外独立影响 Y?如果两者都成立,它就会制造偏倚。任何科学评估的第一步,就是画一张因果图,把这类变量找出来。这张图上,箭头代表“干预含义”:删掉某条边,意味着外部的某种手段强制切断了这种影响。
回到比赛,你要做的就是先画出这张“因果关系图”:金色围裙等级既指向“是否加盐”,又指向“评分”。有了这张图,你就知道要在评审表中增加一栏“围裙等级”,为后续的统计控制做好准备。
- 观察差异不加控制时直接比较“加盐组”和“不加盐组”的平均评分,这是你手上数据直接算出来的数。
- 因果效应假设已经做了强制干预实验,两组唯一差别只有加盐,这时候的平均分差。
- 混杂偏倚 Bias观察差异中被“围裙等级”这类第三方因素推高的部分。偏倚可正可负,也可能把真实效应完全掩盖掉。
do算子介入
你决定不再坐等数据,而是主动出击:在复赛阶段随机抽签,把 100 名厨师分成两组——A 组强制加盐、B 组强制不加盐。其余流程完全照旧。这就是一次真正的干预,统计语言写为 $do(X=1)$ 与 $do(X=0)$。神奇的事情发生了:因为加盐与否由抽签决定,和厨师技艺、围裙等级完全无关,后门路径上的 Z→X 那条边就被切断了。
do 算子的作用,就是在因果图上删除所有指向 X 的箭头。删除之后,X 变成由外部“强制设定”的变量,不再受任何混杂因素影响。你可以把它理解为:厨师长一声令下“今天这锅汤,我说了算”,于是所有“资深厨师才爱加盐”的规律统统失效。
实际比赛里,你并不能强制所有厨师改变习惯,只能对少数人做干预实验。do 算子让你在数学上“切除”外部影响,把小规模随机实验的结论推广到全体——这正是因果推断强大的地方:一场只有 100 人的抽签实验,就能推算出几千名厨师都听令时会发生什么。
- do 干预——删边在因果图中去掉所有指向 X 的入边,X 成为“受控变量”,这是与普通条件概率在图形上最本质的区别。
- 在 Z 的每一层内看关系对厨师技艺的每个取值 z,分别计算出“加盐时评分”和“不加盐时评分”的条件分布,此时 Z 被固定,不再干扰。
- 按 Z 的原始分布加权把每一层的结果乘上 $P(Z=z)$ 再加总——相当于保留原始样本中各级别厨师的比例,模拟“在全体厨师的混合体中统一施加干预”的效果。
后门准则应用
如果复赛也不能做随机干预呢?比如大赛规定不许干扰厨师操作。你还有一个策略:后门准则。所谓后门路径,就是从 X 出发、逆着箭头方向走到某个混杂因子,再顺着箭头方向到达 Y 的路径。厨师的围裙等级 Z 就打开了一条这样的路径。后门准则说:如果你能找到一个变量集合 Z,它满足“阻断所有从 X 到 Y 的后门路径”且“不包含 X 的后代”,那么你无需干预,只需在统计分析时按 Z 分层,就能得到因果效应。
这就像一个聪明的裁判长说:我无法让每位厨师都听令加盐,但我记录下所有人的围裙等级,然后“在同一个等级内部”比较加盐与不加盐的差异,再把各个等级的结果按人数加权。相当于把后门给堵上,再重新统计。这里的 Z 在公式里被称为“充分协变量集”——它不需要包含所有变量,但必须能阻断所有后门路径。
实际工程中,我们往往不需要控制所有变量,而只需要控制一个“最小充分集合”——用最少的变量阻断所有后门路径。例如,围裙等级和锅具品牌高度相关,控制了围裙等级后,锅具品牌就不再提供额外信息,也就不必再控制。这能有效降低维度灾难,也让分析结果更鲁棒。
- 后门准则的图形条件Z 必须阻断 X 与 Y 之间的所有后门路径(即所有从 X 出发逆箭头而行再顺箭头到达 Y 的路径),并且 Z 不能是 X 的后代。
- 分层计算把样本按 Z 的取值(如围裙等级金/银/铜)分成若干层,在每层内计算 X 对 Y 的条件影响。
- 加权求和用 $P(Z=z)$ 对各层结果加权,还原整体人口中 Z 的分布——这就是“标准化”操作。
前门工具变量
有时,即使后门准则也无法满足:你根本测量不到混杂因子“厨师手感”——它是种玄学。但你发现了一条新的路径:加盐会先改变“调味手法 M”(比如抖盐次数、盐粒粗细),而 M 直接决定评分。也就是说,X 经由 M 影响 Y,且 M 到 Y 之间没有其他后门干扰。这就是前门准则:通过测量中介变量 M,用两次后门调整拼接出 X 对 Y 的总效应。另一条出路是寻找工具变量。你发现一个奇妙的“盐罐”:大赛统一使用容量忽大忽小的盐罐,厨师想多加盐但盐罐不给力,导致“盐罐容量”强烈影响 X,却不直接影响 Y——它只能通过 X 这条唯一路径作用于 Y。这个盐罐容量就是一个工具变量,它像一个“天然的随机装置”,替你完成了一次无需你动手的随机化。
在真实场景中,前门准则要求 M 必须是一个可测量、且 X 对 Y 的效应全部经由 M 传递的中介变量;工具变量则要求工具 Z 与 X 强相关、与 Y 仅通过 X 相连。理解这三种识别策略——后门、前门、工具变量——你就掌握了 do-演算的核心直觉,它们分别是“分层堵路”“绕道中介”和“寻找天然随机装置”。
- 第一层X 对 M 的效应:先看加盐如何影响调味手法 M 的分布,用观察概率 $P(M=m \mid X=x)$ 直接估计。
- 第二层M 对 Y 的总效应:以 X 为混杂变量,对 M 到 Y 的关系做一次后门调整:在每个 X 水平内看 M 与 Y 的关系,再按 $P(X=x')$ 加权。
- 嵌套组合把这两个效应相乘并对所有 m 求和,得到 X 通过 M 传导到 Y 的完整间接效应。
do演算三规则
现在你有了裁判长的“万能手册”。do-演算的核心,是三条永远正确的改写规则。它们让你在一个包含干预操作 $do(\cdot)$ 的表达式中,逐步删除 do 符号、替换成可计算的观察概率,甚至在无法做任何实验时,仅凭因果图推出因果效应。规则一说:如果一个变量在干预后的图中已经与结果条件独立,就可以把它从条件集合中删掉。规则二说:如果一个变量处在一个“被干预”的位置,但你只是想“观察”它,那么干预与观察可以互换。规则三说:如果一个变量与干预后的结果独立,并且它不会开启新的路径,就可以直接把它从 do 里面抹去。三条规则,对应着三种“化简手术”。
这三条规则合在一起是完备的:只要一个因果效应能从观察数据中识别出来,就一定可以通过有限次应用这三条规则推导出无 do 的表达式。Shpitser 与 Pearl 在 2006 年证明了这一点。对于裁判长来说,这相当于拿到一座数学金矿:即使永远无法做随机实验,只要因果图正确,你仍能算出“加盐的因果贡献”。就像一位经验丰富的大厨,仅凭观察别人的操作,就能推算出自己动手做时味道会有什么变化。
- 规则一删除多余观察项:在删除了 X 所有入边的图 $G_{\overline{X}}$ 中,若 Z 与 Y 条件独立,则可以删除条件中的 Z——这个被观测的变量不再携带任何信息,留着只会增加噪声。
- 规则二干预与观察互换:在删除了 X 入边且删除了 Z 出边的图 $G_{\overline{X}\underline{Z}}$ 中,若 Z 与 Y 条件独立,则“干预 Z”可以改写为“观察 Z”——Z 的行为变得像一个普通观察变量。
- 规则三忽略无关干预:在删除了 X 入边及所有不含 W 祖先的 Z 入边的图 $G_{\overline{X}\overline{Z(W)}}$ 中,若 Z 与 Y 条件独立,则可以直接删除 do(Z)——干预 Z 对 Y 没有任何直接作用。
实践与优化
理论丰满,现实骨感。你回到赛场,发现真实世界的数据往往很乱:漏记了围裙等级、混入了“评委心情”变量、加盐和火候高度相关……工程师面对一桌乱数据,怎么选择控制变量?这里有一套四步法:第一步,与业务方共同画出因果图——把所有“既影响 X 又影响 Y”的候选变量放进清单;第二步,用后门准则找出满足条件的变量集,优先选最小充分集;第三步,用倾向性得分匹配、分层回归或因果树进行统计调整;第四步,做敏感性分析,验证结论在未观测混杂存在时是否仍然稳健。
常见的坑有三个:一是“控制过头”——把 X 的后代(如“盐的结晶度”)也当作控制变量,这会封堵一部分真实效应;二是“控制不足”——漏掉关键混杂,比如没记录围裙等级;三是“控制无关项”——引入纯噪声变量,白白增大方差。这三种错误分别对应:把后门堵一半、根本没堵、以及堵了一扇根本不存在的门。选择控制变量不仅影响模型的系数,还影响推理的置信区间——变量选得越精巧,结论越锋利;选得越粗糙,结论越钝。
掌握这套流程,你就能在工业界的因果推断项目中,从“看见相关”走向“证明因果”。正如裁判长最终交出报告:加盐的真实贡献为 0.32 分(95% 置信区间 [0.21, 0.43]),而不是初看时的 0.9 分——那消失的 0.58 分,就是“厨师手艺”这层滤镜给你造成的错觉。
- 因果图建模与领域专家一起画出 X、Y 和所有候选混杂因子的有向无环图,这是整个分析的决定性一步。
- 后门准则选变量从候选集合中挑出能够阻断所有后门路径、且不做多余控制的最小变量集。
- 分层/加权调整将选出的变量放入统计模型,通常用分层加权或回归调整得到效应的点估计。
- 敏感性分析考察若存在未观测混杂 U,结论是否被推翻——这决定了分析的可信度边界。
AI 应用场景
场景一:推荐系统的因果纠偏
阶段:特征工程与模型评估
解决的问题:推荐系统训练数据中,用户是否点击某个商品受到“商品曝光位置”的干扰——排在首页的商品本就更容易被点击,但这并不代表推荐算法真正喜欢它们。传统 CTR 模型把位置特征当作普通特征训练,导致模型把“位置效应”误学为“内容效应”。通过 do-演算控制变量选择,将曝光位置视为混杂因子 Z,用后门准则把位置影响从样本中剔除,训练出对内容质量的无偏估值。
具体案例:某短视频平台发现推荐算法的线上点击率偏高但用户留存下降。工程师引入位置混杂校正后,重新抽取训练样本,将“是否在首页曝光”作为控制变量分层训练,模型评估指标改用经后门调整后的因果点击率,最终留存提升 5%。
场景二:可解释 AI 中的因果特征归因
阶段:模型解释与公平性分析
解决的问题:SHAP 等归因工具只能给出特征相关性,无法回答“如果强制改变该特征,模型输出会怎样”。利用 do-演算,可将特征视为 X,模型输出视为 Y,在因果图上识别哪些特征存在混杂(如年龄与收入高度相关),并通过控制变量选择得到每个特征的因果归因。
具体案例:信贷风控团队使用因果归因解释拒绝贷款决策。他们发现学历特征与收入存在混杂路径,通过后门调整后,学历的因果贡献从表面上的 12% 下降到 4%,避免了模型对高学历的虚假偏好,也降低了监管合规风险。
场景三:AB 实验失效时的因果替代
阶段:实验设计与效果度量
解决的问题:某些场景无法做随机 AB 实验(如新功能灰度范围受限、政策限制)。这时需要利用观察数据进行因果推断。控制变量选择是其中关键:先画因果图,选出阻断后门路径的最小协变量集,再使用倾向性得分加权或分层分析估计干预效果。
具体案例:某电商平台无法对部分用户强制关闭“运费险”来做 AB 实验。团队改用店铺历史数据,以“用户是否购买运费险”为 X,“复购率”为 Y,将用户城市等级、客单价、投诉率作为控制变量,用后门准则识别出运费险的真实因果效应,指导了保险定价策略调整。
Python 演示
# -*- coding: utf-8 -*-"""后门准则演示:控制变量选择如何消除混杂偏倚。"""import numpy as np np.random.seed(42)n = 3000 # 生成数据:Z(厨师技艺)影响 X(是否加盐)与 Y(口感评分)Z = np.random.normal(0, 1, n)X = 0.8 * Z + np.random.normal(0, 0.6, n)Y = 1.2 * X + 0.8 * Z + np.random.normal(0, 1, n) def stratal_adjustment(X, Y, Z, bins=10): """按 Z 分层,加权估计 X 对 Y 的平均因果效应。""" cut = np.quantile(Z, np.linspace(0, 1, bins + 1)[1:-1]) layer = np.digitize(Z, cut) effect = 0.0 for s in range(bins): mask = layer == s if mask.sum() < 5: continue weight = mask.sum() / len(X) beta_s = np.cov(X[mask], Y[mask])[0, 1] / np.var(X[mask]) effect += weight * beta_s return effect # 朴素估计:未控制 Z(观察差异)naive = np.cov(X, Y)[0, 1] / np.var(X)print("朴素估计(未控制Z): %.3f" % naive) # 后门调整:控制 Z 后的因果效应adjusted = stratal_adjustment(X, Y, Z)print("后门调整(控制Z, 分层加权): %.3f" % adjusted) # 用多元线性回归做同样的事A = np.column_stack([X, Z, np.ones(n)])coef = np.linalg.lstsq(A, Y, rcond=None)[0]print("回归调整(控制Z): %.3f" % coef[0])print("真实因果效应: 1.200")
X = 0.8 * Z + np.random.normal(0, 0.6, n)生成处理变量 X,它与混杂因子 Z 正相关,模拟“资深厨师更爱加盐”。Y = 1.2 * X + 0.8 * Z + ...生成结果 Y:真实因果效应为 1.2,混杂贡献 0.8。layer = np.digitize(Z, cut)把连续的 Z 切分成 10 层,等价于把厨师按技艺水平分组。beta_s = np.cov(X[mask], Y[mask])[0, 1] / np.var(X[mask])在每个 Z 层内做一元回归,得到该层的局部效应。effect += weight * beta_s按各层人数占比加权,得到全体的平均因果效应,即后门调整公式的数值实现。coef = np.linalg.lstsq(A, Y, rcond=None)[0]用多元回归同时控制 X 和 Z,得到另一种等价的后门调整估计。print("朴素估计...")输出未控制 Z 时的偏倚结果,直观展示不加控制变量的危害。
常见误区
误区“既然要控制变量,那就把能拿到的变量全都塞进模型,这样总不会错吧?”很多初学者认为控制变量越多越安全。
正解这是典型的“控制过头”。如果控制了一个本身是 X 结果的变量(如“盐的结晶度”是加盐的直接结果),就会阻断 X 通过真实机制对 Y 的传导,导致因果效应被低估甚至完全消失。正确的做法是只控制满足后门准则的变量,且优先选择最小充分集。就像裁判长不应把“厨师是否出汗”也记进评审表——出汗可能只是加盐后的生理反应,跟口感毫无关系,记了反而破坏分析。
为何常见:机器学习里“特征越多模型越强”的惯性思维,让人把数据量等同于信息量,忽视了因果图中“控制什么”比“有多少数据”更关键。
误区“我看了数据,加盐组的评分显著更高,所以加盐一定提升口感。”初学者容易把 $P(Y|X)$ 和 $P(Y|do(X))$ 混为一谈。
正解观察数据中 X 的取值是系统自选的,混杂因子 Z 同时推高了 X 和 Y。只有在做过随机干预或按后门调整之后,$P(Y|X)$ 才能近似等于 $P(Y|do(X))$。一个直观判断方法是问自己:“如果强行让所有人都加盐,数据的分布会和现在一样吗?”答案几乎总是“不一样”。
为何常见:人类大脑天然擅长发现相关,却不容易自动化地检验混杂,尤其在数据量大、变量多的情况下,相关关系太显眼而因果机制太隐蔽。
误区“只要找一个和 X 相关的变量就能当工具变量。”初学者常把工具变量理解为“X 的另一份观测值”。
正解工具变量必须同时满足三个条件:与 X 强相关;对 Y 没有直接效应;与 Y 之间不存在任何后门路径。这三条缺一不可。“盐罐容量”之所以是好工具,是因为它只通过加盐量这条路径影响评分。如果盐罐容量同时影响厨师情绪,而情绪又直接影响评委打分,那它就不再是有效工具变量。
为何常见:工具变量的定义在数学上简洁,但现实中“直接影响 Y”的路径很难排除,学习者容易忽略对排除性约束的严格检验。
误区“因果图嘛,把相关变量连上线就完了。”很多团队把相关矩阵当作因果图,变量间只要相关系数高就连一条边。
正解因果图的每条边都代表一个明确的“干预含义”:删掉 X 的入边意味着外部强加 X 的值。箭头方向一旦画错,后门准则和 do-演算的结果就会完全失效。正确做法是与领域专家反复确认变量间的机制方向,使用结构学习算法作为辅助,而不是拍脑袋连线。裁判长画图时,必须确认到底是“围裙等级”影响“加盐习惯”,还是反过来——方向错了,整个分析就错了。
为何常见:因果关系与相关关系在视觉上都是“连线”,但因果方向来自领域知识而非数据相关,容易让人用数据直觉替代实质判断。
误区“我已经控制了所有能找到的变量,结论一定是对的。”还有些初学者认为控制变量齐了因果推断就完全可靠。
正解现实中永远可能存在未观测混杂因子 U(比如厨师基因、市场大环境)。敏感性分析可以告诉你:U 需要有多大强度才能推翻当前结论。如果 U 只有极小的相关性就能逆转结论,那么分析结果不可信。优秀的因果研究报告,一定会报告不同混杂强度下结论的稳定性区间。
为何常见:人们天然偏好确定性答案,容易把“已观测”当成“已完备”,忽略了因果推断中“不可观测世界”的普遍存在。
面试题
Q1. 观察分布 $P(Y|X=x)$ 与干预分布 $P(Y|do(X=x))$ 不等的最主要原因是?
- A.样本量不足
- B.存在混杂因子← 正确答案
- C.数据缺失较多
- D.结果变量离散
答案:B。混杂因子同时影响 X 和 Y 时,$P(Y|X=x)$ 中混入了外部因素的作用,而 $P(Y|do(X=x))$ 是纯粹干预的效果。样本量、缺失值和变量离散性会带来噪声或限制,但都不是两者系统性不等的原因。好比加盐组评分高,是因为资深厨师(混杂 Z)既爱加盐又做得好。
Q2. 后门准则要求控制变量集 Z 满足的核心条件是?
- A.包含 X 的全前驱
- B.阻断全部后门路径← 正确答案
- C.包含 Y 的全部后代
- D.Z 与 X 互不相关
答案:B。后门准则的定义是 Z 阻断所有从 X 到 Y 的含指向 X 箭头的后门路径,且 Z 中不含 X 的后代。A 不是充分条件,C 会引入对撞偏差,D 与阻断要求恰好相反。
Q3. do 算子 $do(X=x)$ 在因果图上的操作等价于?
- A.删除 X 的入边← 正确答案
- B.删除 X 的出边
- C.新增指向 X 的边
- D.把 X 与 Y 合并
答案:A。do 干预意味着 X 由外部强制设定,不再受其自然原因影响,因此删除所有指向 X 的入边 $G_{\overline{X}}$。删除出边是规则二的操作,新增边和合并节点都不符合干预语义。
Q4. 前门准则主要适用于以下哪种情形?
- A.混杂因子可直接测量
- B.混杂不可测但中介可测← 正确答案
- C.需要工具且父节点未知
- D.数据完全来自随机实验
答案:B。前门准则正是当 X 与 Y 之间的混杂不可观测时,通过可观测的中介变量 M(X→M→Y)实施两次后门调整来识别效应。A 情况可以直接用后门准则,C 属于工具变量思路,D 情形根本不需要调整。
Q5. 工具变量需要满足哪些条件?
- A.与处理变量 X 强相关← 正确答案
- B.对结果 Y 无直接效应← 正确答案
- C.与 Y 间无未阻断后门← 正确答案
- D.必须是连续型变量
答案:ABC。工具变量三条件为相关性、排除性、外生性,即 A、B、C。D 是错的,工具变量可以是二值或分类变量,只要满足三条件即可。好比“盐罐容量”是随机忽大忽小的工具变量,它影响加盐但本身不影响评委打分。
Q6. 某图符合 $X \leftarrow Z \rightarrow Y$ 且 $X \rightarrow Y$,以下哪个说法正确?
- A.不控制 Z 时系数等于因果效应
- B.控制 Z 后系数是无偏因果效应← 正确答案
- C.结构图中 Z 是中介变量
- D.控制 Z 会引入对撞偏倚
答案:B。该结构 Z 是 X 与 Y 的共同原因(混杂因子),后门路径 X←Z→Y 被 Z 阻断后,回归调整能得到无偏因果效应。A 中不控制 Z 会有偏,C 中 Z 是混杂而非中介,D 中控制 Z 是阻断后门而不是制造对撞。
Q7. 关于 do-演算三规则,以下哪些描述正确?
- A.规则一可删独立观察变量← 正确答案
- B.规则二可交换干预与观察← 正确答案
- C.规则三可删独立干预变量← 正确答案
- D.三规则无需条件直接使用
答案:ABC。A、B、C 分别是规则一、二、三的描述。规则三的删除条件是“Z 与 Y 在删边后的图中条件独立”,并非无条件;D 忽视了每条规则前面的独立性前提。
Q8. 为了估计“是否购买运费险(X)对复购率(Y)的因果效应”,你控制了“城市等级”和“客单价”,但漏掉了“投诉率”,因为它同时影响购买运费险和复购。这属于哪种错误?
- A.控制过头
- B.控制不足漏掉混杂← 正确答案
- C.控制了工具变量
- D.引入对撞偏倚
答案:B。投诉率同时影响 X 和 Y,是一个典型的混杂因子。遗漏它相当于没有完全阻断后门路径,得到的估计仍包含偏倚,这是“控制不足”。
Q9. 敏感性分析的核心目的是什么?
- A.验证训练集预测精度
- B.评估未观测混杂的强度影响← 正确答案
- C.计算置信区间宽度
- D.确定工具变量相关性
答案:B。因果推断永远可能受未观测混杂影响,敏感性分析通过引入假设的未观测混杂 U,给出其强度与结论翻转阈值的关系,从而衡量结论的稳健性。预测精度和置信区间属于传统统计范畴,不是敏感性分析重点。
Q10. 已知因果图 X→M→Y、X←U→Y,U 不可观测,M 可观测。识别 $P(Y|do(X=x))$ 的表达式是?
- A.前门公式两层加权调整← 正确答案
- B.直接观察条件分布估计
- C.按不可观测 U 分层加权
- D.中介分布与条件概率相乘
答案:A。U 不可观测时无法按 C 操作;B 是观察分布,不等于干预分布;D 缺少对 X 的再次求和,项也不完整。正确做法是前门调整公式:先以 X 为混杂调整 M→Y,再按 X→M 的分布加权,从而绕开不可观测的 U 识别因果效应。