深夜的警察局,侦探老查盯着验尸报告发愁:死者生前是个老烟民,肺部沉着大量焦油,最终死于肺癌。直觉告诉他,这背后是“吸烟 → 焦油沉积 → 肺癌”的因果链。可老查经验丰富,他知道事情没这么简单——人群中可能存在一个看不见的“幕后黑手”:遗传体质。它既让某些人更容易对尼古丁上瘾,也直接提高他们患癌的概率。也就是说,吸烟与肺癌之间的表面关联,可能被这个隐形变量“污染”了,直接对比吸烟者与不吸烟者的患病率,得出的结论并不可靠。 老查换了个思路:如果吸烟真的导致肺癌,那它一定通过“焦油沉积”这个中间环节起作用。于是破案被拆成两步——先证明吸烟导致焦油沉积,再证明焦油沉积(在排除体质干扰后)导致肺癌。这种绕开不可观测混杂因素、借助中间变量来识别因果效应的巧妙方法,就是 do-演算中的前门调整公式。它让侦探在“正门被堵死”时,找到一条从窗户翻进屋的路。
掌握前门调整,你就拥有了在“看不见的混杂因素”面前依然能识别因果效应的核心武器——这是 AI 从业者做政策评估、医疗归因、商业决策分析时不可替代的底层方法论。
目录
可视化演示
展示do-演算前门调整公式:通过中介变量M识别X对Y的因果效应,在存在不可观测混杂因素U时实现因果效应估计。
本节配有交互动效(进入视口后自动加载,约 3KB)。
前门调整 X M Y为因果链 U为混杂因素 P(Y|do(X))=Sum P(M|X)Sum P(Y|M,X)P(X) M完全中介X对Y的因果路径
混杂因素困境:幕后黑手搅浑了水
老查的第一个困惑是:为什么不能直接对比“吸烟的人”和“不吸烟的人”的患病率?因为他发现,这群人从根上就不一样——遗传体质(U)既让人更容易染上烟瘾,也让人更容易患癌。用统计学的说法,U 是一个不可观测的混杂因素,它像幕后黑手一样,同时操纵着原因 X 和结果 Y,导致观测到的“吸烟者患病率更高”可能只是体质差异造成的假象。
从数学上看,老查想知道的量是因果效应 P(y|do(x))——也就是“如果强制所有人吸烟/不吸烟”,患癌概率会差多少。但观测数据只能给出 P(y|x)——“在吸烟者这个群体里”的患病率。二者在存在混杂因素时并不相等。这就好比你想知道“下雨是否导致了堵车”,却发现下雨天人们更爱打车(另一个被天气影响的变量),直接对比打车和不开车的人,结论就被污染了。
老查意识到,后门调整虽然能解决这类问题,但它要求把所有的混杂因素都观测到。可现在 U 根本看不见,传统的校正手段全部失效。他需要一条全新的思路。
- 观测条件概率 P(y|x)这是从数据中直接统计出来的——“在 X=x 的这一组人里,Y 出现的比例”。注意这里没有干预,只是观察。
- 不等号 ≠表示两者通常不相等,因为从 X 到 Y 之间存在经由 U 的后门路径 X←U→Y,污染了观测关联。
- 因果干预概率 P(y|do(x))do(x) 表示“强制所有人都处于 X=x 状态”,切断了 U→X 这条进入 X 的路径,只保留 X 对 Y 的真实作用。
中介变量概念:发现中间线索
正当老查一筹莫展时,验尸报告里的一行字引起了他的注意:焦油沉积。所有死者肺部都有焦油,而焦油只可能来自吸烟。老查眼前一亮——如果吸烟真的会导致肺癌,那么从吸烟到肺癌之间,一定存在一条看得见的“中间通道”:吸烟让焦油沉积,焦油损伤肺部组织,最终引发癌变。这个中间变量 M(焦油沉积)就是破案的线索。
在因果图中,中介变量 M 位于 X 和 Y 之间,构成路径 X→M→Y。如果 X 对 Y 的所有影响都通过 M 传递、不存在直接的 X→Y 边,我们就说 M 完全中介了 X 对 Y 的效应。这时,原本“一锤定音”的因果问题被拆成了两小段:X→M 和 M→Y。老查心想:就像查案要找目击证人一样,只要把两段证据分别坐实,就能还原整个因果链。
用概率语言表达,因果效应可以沿中介变量展开:
老查明白,这两块证据各有难点:第一块“吸烟导致焦油”可以直接从观测数据中读出(X→M 没有混杂),第二块“焦油导致肺癌”却被体质变量 U 干扰着。不过没关系,他有办法——前门准则的第三条路,就是用来攻克第二块难题的。
- 对 M 求和 Σ_m把所有可能的中间状态(焦油多/少)都考虑进来,分别计算再累加,这是全概率公式的思想。
- 第一块 P(m|do(x))干预 X 之后,M 的分布。它回答的是“如果强制所有人吸烟,焦油沉积会怎么变”。
- 第二块 P(y|m, do(x))在干预 X 且中间状态为 m 的条件下,Y 的概率。它回答“在给定焦油水平下,患病风险是多少”。
前门准则条件:证据链的三个印章
老查在卷宗上列出了一个优秀的“中间线索”必须满足的三个条件,就像法官要求证据链盖满三个印章:
第一个印章:完全中介。M 必须截断 X 到 Y 的所有有向路径,X 对 Y 的影响全部经由 M 传导。焦油沉积显然满足——吸烟本身不直接毒害肺部,它得先变成焦油才起作用。
第二个印章:X→M 无混杂。从 X 到 M 的路径上不能有未观测的混杂因素。这意味着我们可以直接用观测数据估计“吸烟对焦油沉积的影响”。遗传体质虽然让人爱吸烟,但它并不直接往肺里加焦油,焦油是烟烧出来的,所以这一条成立。
第三个印章:M→Y 的后门路径被 X 阻断。也就是说,只要我们控制住 X(吸烟状态),M 对 Y 的因果效应就可以通过调整 X 来分离出来。这就好比在比较“焦油多的人和焦油少的人谁更容易得癌”时,老查会把具有相同吸烟习惯的两个人放在一起比——吸烟状态相同了,体质差异这个后门就被关上了。
三个印章盖齐,前门路径就“通关”了。老查长舒一口气:第一段证据直接读取观测数据即可,第二段证据则需要对 X 做一次后门调整——这正是前门公式中内层求和将要完成的任务。
- 干预分布 P(m|do(x))想象老查按下“干预按钮”,强制所有人都吸烟,这时整个社会的焦油沉积分布。
- 等号的意义在条件二(X→M 无混杂)成立时,通过干预得到的分布与观测到的条件分布相同,等式成立。
- 观测条件分布 P(m|x)直接从数据中计算“吸烟者中焦油沉积的比例”。因为 U 不直接影响 M,所以无需校正。
公式整体结构:两段证据的合成
老查现在手握两块拼图:第一块是“吸烟 → 焦油”的效应 P(m|x),第二块是“焦油 → 肺癌”的效应 P(y|do(m))。但他还面临一个问题:第二块效应该怎么算?焦油沉积虽然不受体质 U 影响,但从 M 到 Y 仍然存在一条被 X 阻断的后门路径 M←X←U→Y。老查的解法是:以 X 为条件做后门调整——在比较不同焦油水平人群的患病率时,把吸烟状态这个“污染源”固定住,然后用人群的吸烟比例加权平均。
把两块拼图拼在一起,就得到了完整的前门调整公式:
整个公式就像侦探的结案陈词:焦油是吸烟通向肺癌的“桥梁”。老查不直接争论“吸烟是否致癌”(这条线被 U 污染了),而是先证明吸烟造出了焦油,再证明焦油(在排除吸烟状态干扰后)提高了患癌率,两段合璧,真相大白。
- 目标量 P(y|do(x))老查想要还原的真相——如果全社会强制吸烟(或禁烟),肺癌发生率变化多少。
- 外层求和 Σ_m对所有可能的焦油水平 m 求和,把“不同焦油水平下肺癌风险”按“产生该焦油水平的概率”加权合并。
- 第一段效应 P(m|x)吸烟状态下焦油沉积的分布,直接来自观测数据(条件二保证无偏)。
- 内层后门调整 Σ_{x'}为了估计 M→Y 的因果效应,对所有可能的吸烟状态 x' 加权求和,这相当于把不同吸烟背景的人“标准化”。
- 权重 P(x')人群中吸烟状态的边际比例,用于模拟“如果社会中吸烟状态分布不变,焦油导致的患病率是多少”。
- 条件概率 P(y|x',m)在给定吸烟状态 x' 和焦油水平 m 时,患病的概率。这是从数据中可直接统计的观测值。
公式逐项理解:每份证据的分量
老查把公式拆开摊在桌上,像法医检验每件证物一样逐一确认。第一件证物是 P(m|x)——吸烟对焦油沉积的效应。由于条件二保证 X→M 无混杂,这项可以直接从观测数据中估计:只需统计吸烟者里焦油偏高的比例。用朴素的经验频率即可:
第二件证物是内层的 P(y|x', m) 和 P(x')。内层公式本质上是在计算“控制吸烟状态后,焦油对肺癌的因果效应” P(y|do(m)):
老查的解释很形象:“当我想知道焦油是否导致肺癌时,我会把所有人按吸烟习惯分成两组,在每一组内部比较焦油高低对患病率的影响,最后按全社会的吸烟比例把两组结果加权平均。这样一来,吸烟状态这个变量被'抹平'了,体质差异的干扰也就被排除在外。”
两件证物都验明正身,前门公式的每一项都有了确切的物理含义。老查合上卷宗:整个公式不是从天而降的魔法,而是把“中介路径”这一常识拆解得清清楚楚的数学工具。
- 目标 P(y|do(m))全社会强制把焦油水平提高到 m 时,患肺癌的概率。
- 对 x' 求和枚举所有吸烟状态,把每个吸烟亚组的结果合并。
- 加权函数 P(x')用各吸烟亚组的人口比例作为权重,模拟真实社会的组成结构。
- 组内条件概率 P(y|x',m)在吸烟状态 x' 下,焦油水平 m 对应的患病率。这个值直接从观测数据统计。
前后门对比:两条识别路径的殊途同归
结案报告写到一半,老查停下来对比了一下自己的老方法——后门调整。后门调整是侦探的第一套工具箱:当你想知道 X 对 Y 的效应时,找到所有同时影响 X 和 Y 的混杂变量 Z,把它们控制住,再计算 X 对 Y 的效应:
前门调整和后门调整的区别,就像老查的两种查案策略:
场景差异——后门调整要求把所有混杂因素都摆上台面(Z 可观测);前门调整则恰好用在混杂因素看不见(U 不可观测)、但存在一个干净的中介变量 M 的场景。在一桩案子里,后门被幕后黑手守死了,老查就只能改走前门。
路径差异——后门调整直接对 X 做校正,把污染源 Z 排除掉;前门调整绕道而行,先算 X→M 的效应,再算 M→Y 的效应,通过两段式破解来间接识别。
条件要求——后门要求“所有后门路径都被 Z 阻断”;前门要求 M 完全中介且 X→M 无混杂、M→Y 的后门被 X 阻断。两者的适用条件互不包含,需要侦探根据案情灵活选择。
老查在笔记本上画了两条路线:一条直捣黄龙(后门),一条迂回包抄(前门)。殊途同归,目标都是同一个因果效应。
- 对 z 求和对所有可能的混杂状态 z 加权求和,把不同混杂水平下的人群合并。
- 权重 P(z)混杂变量 Z 的边际分布,用于按真实人口结构加权。
- 条件效应 P(y|x,z)在给定混杂水平 z 时,X=x 对 Y 的条件概率,这是“请走混杂者”之后的干净对比。
应用场景与局限:侦探方法的边界
案件告破,老查的方法论却传遍了整个侦探圈。同事纷纷来请教:这个“前门调整”什么时候能用?老查总结了三个典型的应用舞台。
政策评估是前门调整的主场。比如研究“最低工资上调”(X)对“就业率”(Y)的影响时,宏观经济形势(U)既是促使政府上调工资的原因,也直接影响就业——这又是一个不可观测的混杂因素。此时“企业用工成本”(M)恰好完全中介了工资政策对就业的影响,前门公式就能派上用场。
医学研究中,前门调整帮助研究者摆脱对完美观测的依赖。当“药物推广强度”(X)影响“患者康复”(Y)时,患者的“基础健康水平”(U)同时影响着两者,而“药物在体内的实际吸收浓度”(M)可以是干净的中介变量。前门公式在无法测量 U 的情况下,依然能估算药物真实的治疗效果。
商业决策场景同样受益。假设分析师想评估“广告投放策略”(X)对“用户留存率”(Y)的因果效应,用户的“消费偏好”(U)是看不见的混杂——既影响他们对广告的反应,也决定留存。此时“用户对产品的认知度”(M)充当了中介角色,前门调整可以给出比朴素对比更可靠的归因结论。
然而,老查也郑重提醒同事们注意前门公式的边界。最终要使用的效应度量是把干预和对照的差值算出来:
老查把前门公式的边界写成了警句:“中介变量必须是一扇完全干净的窗户——它不能沾染任何幕后黑手的痕迹。一旦 M 本身被 U 直接污染,或者 X 还能直接跳到 Y,这扇'前门'就形同虚设。”破案如此,做 AI 因果推断亦如此:工具再巧妙,也要先验明数据结构的真实模样。
- 对照组 P(Y=1|do(X=0))用前门公式代入 x=0,计算所有人都吸烟时(对照组)的患病率。
- 干预组 P(Y=1|do(X=1))同理代入 x=1,计算所有人都吸烟时的患病率。
- 差值 ATE两组患病率相减,得到吸烟对肺癌的平均因果效应,正值意味着吸烟提高患病风险。
AI 应用场景
政策评估:最低工资的因果迷局
阶段:因果效应识别(观察性数据下的政策评估)
解决的问题:某市想评估“最低工资上调”(X)对“青年就业率”(Y)的真实影响。但经济周期(U)既会影响政府出台上调政策的意愿,也会直接影响就业市场。AI 分析师拿不到经济运行全貌(U 不可观测),朴素对比“上调前后”的就业率会严重失真。借助前门调整,通过中介变量“企业用工成本变化”(M)间接识别政策效应,避免了测量经济周期的难题。
具体案例:某数据科学团队使用前门公式分析 A 市 2019—2024 年月度面板数据,发现朴素估计显示最低工资上调使就业率下降 2.1%,而前门调整后真实效应仅为 0.6% 且不显著——之前的“负面结论”主要来自经济下行的混杂污染。该结论直接影响了后续政策建议书的措辞。
商业决策:广告投放的归因难题
阶段:营销归因与增量分析(Uplift Modeling)
解决的问题:电商平台想评估“个性化广告投放”(X)对“用户复购率”(Y)的增量效应。用户的“历史活跃偏好”(U)既决定了他们是否更常被广告触达,也天然影响复购行为。传统 ROI 分析无法厘清“广告带来的增量”与“用户本来就有的复购倾向”,前门调整通过中介变量“用户对活动页的访问深度”(M)识别纯净的广告效应,为预算分配提供科学依据。
具体案例:某增长团队对 50 万用户跑前门调整 A/B 测试观察数据,得出广告的真实增量复购率约为 3.8%,远低于朴素估计的 11.2%。据此将 30% 广告预算从“高触达人群”转向“中低活跃人群”,季度 ROI 提升 27%。
医学研究:药物推广与患者康复
阶段:流行病学因果推断(药物上市后观察性研究)
解决的问题:药企需要评估“药物推广强度”(X)对“患者康复率”(Y)的真实效果,但“患者基线健康水平”(U)不可观测地同时影响推广覆盖与康复结果。前门调整通过中介变量“患者体内药物稳态浓度”(M)来识别疗效,避免因伦理限制无法开展随机对照试验时的因果识别困境。
具体案例:某研究团队回顾了 12 家医院的电子病历数据,用前门公式估计降压药的真实有效率。前门调整得到的 ATE 为 6.1%,显著低于朴素估计的 15.3%,揭示了部分疗效是患者基础状态带来的假象,为临床指南的修订提供了量化依据。
Python 演示
import numpy as np def generate_frontdoor_data(n=20000, seed=42): """生成符合前门准则结构的合成数据:真实因果效应已知,用于验证前门调整公式。 结构: U -> X, X -> M, M -> Y, U -> Y(U不可观测)""" rng = np.random.default_rng(seed) # U: 不可观测混杂因素(遗传体质,0/1) U = rng.binomial(1, 0.5, n) # X: 是否吸烟(受U影响,U=1时更易吸烟) p_smoke = 0.3 + 0.4 * U X = rng.binomial(1, p_smoke) # M: 焦油沉积水平(只受X影响,不受U影响) M = 0.5 + 0.8 * X + rng.normal(0, 0.3, n) M_bin = (M > np.median(M)).astype(int) # Y: 是否患肺癌(受U与M影响) logit = -2.5 + 0.8 * U + 1.2 * M_bin p_y = 1 / (1 + np.exp(-logit)) Y = rng.binomial(1, p_y) return X, M_bin, Y, U def frontdoor_adjustment(X, M, Y): """前门调整公式: P(Y=1|do(X=x)) = Σ_m P(m|x) Σ_x' P(x') P(Y=1|x', m)""" x_vals = [0, 1] m_vals = [0, 1] n = len(X) # 第一段效应 P(m|x) p_m_given_x = {} for x in x_vals: mask_x = (X == x) for m in m_vals: p_m_given_x[(x, m)] = np.mean(M[mask_x] == m) # X 的边际分布 P(x') p_x = {x: np.mean(X == x) for x in x_vals} # 条件概率 P(Y=1|x', m) p_y_given = {} for x in x_vals: for m in m_vals: mask = (X == x) & (M == m) p_y_given[(x, m)] = np.mean(Y[mask] == 1) # 前门公式 p_y_do_x = {} for x in x_vals: total = 0.0 for m in m_vals: inner = sum(p_x[xp] * p_y_given[(xp, m)] for xp in x_vals) total += p_m_given_x[(x, m)] * inner p_y_do_x[x] = total return p_y_do_x def naive_estimate(X, Y): """朴素估计 P(Y=1|X=x),会受不可观测混杂因素污染""" return {x: np.mean(Y[X == x] == 1) for x in [0, 1]} def true_causal_effect(M, Y, U): """蒙特卡洛模拟 do(X=x) 干预,得到近似真实因果效应(作为对照基准)""" rng = np.random.default_rng(123) effects = {} for x in [0, 1]: m_sim = 0.5 + 0.8 * x + rng.normal(0, 0.3, len(U)) m_sim_bin = (m_sim > np.median(M)).astype(int) logit = -2.5 + 0.8 * U + 1.2 * m_sim_bin p_y = 1 / (1 + np.exp(-logit)) y_sim = rng.binomial(1, p_y) effects[x] = np.mean(y_sim) return effects def main(): print("=" * 62) print("前门调整公式演示:吸烟(X) -> 焦油(M) -> 肺癌(Y)") print("不可观测混杂因素 U(遗传体质)同时影响 X 和 Y") print("=" * 62) X, M, Y, U = generate_frontdoor_data() print(f"\n数据规模: n={len(X):d}") print(f"吸烟率: P(X=1)={np.mean(X):.3f}") print(f"高焦油率: P(M=1)={np.mean(M):.3f}") print(f"患病率: P(Y=1)={np.mean(Y):.3f}") print("\n--- 朴素估计(受混杂污染)---") naive = naive_estimate(X, Y) print(f"P(Y=1|X=1)={naive[1]:.3f} P(Y=1|X=0)={naive[0]:.3f}") print(f"朴素差值: {naive[1] - naive[0]:.3f}") print("\n--- 前门调整公式估计 ---") fd = frontdoor_adjustment(X, M, Y) print(f"P(Y=1|do(X=1))={fd[1]:.3f} P(Y=1|do(X=0))={fd[0]:.3f}") print(f"因果效应: {fd[1] - fd[0]:.3f}") print("\n--- 真实因果效应(蒙特卡洛对照)---") true = true_causal_effect(M, Y, U) print(f"P(Y=1|do(X=1))={true[1]:.3f} P(Y=1|do(X=0))={true[0]:.3f}") print(f"真实效应: {true[1] - true[0]:.3f}") print("\n结论: 前门调整公式在不可观测混杂存在时仍能还原因果效应") print(" 而朴素估计被混杂因素严重污染,产生明显偏差") if __name__ == "__main__": main()
U = rng.binomial(1, 0.5, n)生成不可观测混杂因素:遗传体质 U,之后只作为“幕后变量”,不参与前门公式的计算。M = 0.5 + 0.8 * X + rng.normal(0, 0.3, n)焦油沉积 M 只由吸烟 X 决定(0.8 是 X→M 的效应系数),确保条件二成立。M_bin = (M > np.median(M)).astype(int)将连续焦油水平二值化为高/低,方便用频率直接估计条件概率。p_m_given_x[(x, m)] = np.mean(M[mask_x] == m)实现第一段效应 P(m|x):在吸烟状态为 x 的样本中统计焦油水平为 m 的比例。p_y_given[(x, m)] = np.mean(Y[mask] == 1)实现条件概率 P(Y=1|x',m):在同时满足 X=x' 且 M=m 的样本中计算患病率。inner = sum(p_x[xp] * p_y_given[(xp, m)] for xp in x_vals)内层后门调整:对 x' 加权求和,得到 P(Y=1|do(m))。total += p_m_given_x[(x, m)] * inner外层求和:把第一段效应与第二段效应相乘后累加,即前门公式的核心计算。
常见误区
误区“前门调整不就是中介分析吗?算一下直接效应和间接效应,拆一下总效应就行。我跑个结构方程模型,输出的中介效应不就是前门调整结果吗?”
正解二者目标完全不同。前门调整解决的是“因果效应识别”——在存在不可观测混杂时,借助中介 M 来识别 X→Y 的总效应;它关心的不是把效应拆成直接与间接两部分,而是把被 U 污染的总效应“抢救”回来。中介分析则假设因果结构已知、效应可识别,研究的是效应分解的比例。用侦探比喻:前门调整是“借线索破案”,中介分析是“把案件按作案动机分门别类”,两码事。
为何常见:两者都涉及中介变量 M,且都要计算 X→M 和 M→Y 两步,形式上很像,初学者容易把“识别总效应”与“分解总效应”混为一谈。
误区“X 和 Y 之间有混杂,那我随便找个夹在中间的变量 M,套前门公式不就行了?反正公式都摆在那,跑一遍就能出结果。”
正解前门准则的三条铁律缺一不可:M 必须完全中介(否则存在 X→Y 直接路径会漏掉效应)、X→M 必须无混杂(否则第一段估计就偏了)、M→Y 的后门路径必须能被 X 阻断(否则第二段也失真)。很多场景里,中介变量本身就被不可观测的 U 直接影响(U→M),这时前门公式完全失效。就像侦探不能拿一条被凶手动过手脚的线索当铁证。
为何常见:公式的形式看起来像是“任何中介都能代入”,初学者忽略了公式背后的因果图假设,只记住了代数操作,没记住适用条件。
误区“P(y|do(x)) 约等于 P(y|x) 吧?反正都是 X 等于 x 时 Y 的概率,我直接用训练数据里的条件概率统计一下不就行了?”
正解P(y|x) 是“在吸烟者群体中”的患病率,P(y|do(x)) 是“强制所有人吸烟后”的患病率。由于遗传体质 U 同时推高吸烟倾向和患癌风险,吸烟者本身就是被 U“筛选”过的群体,他们的患病率天然偏高。只有当前门准则(或后门准则)条件满足,二者才可能相等。前门公式的价值恰恰在于:你永远无法直接观测 P(y|do(x)),但可以用观测值把它间接构造出来。
为何常见:日常机器学习习惯把条件概率当作预测依据,而 do 运算要求“干预”而非“观察”,这个反直觉的差别容易被我忽视。
误区“既然前门调整这么厉害,以后不用做随机对照试验了,拿观察数据跑一遍前门公式,因果效应自然就出来了。”
正解前门调整只是观察性数据下的一个识别策略,它依赖的中介变量必须完全中介且不受混杂,这是很强的结构假设。随机对照试验通过随机化直接切断所有后门路径,无需依赖中介假设。当无法确认 M 是否满足前门准则时,结论就可能失真。正确的态度是:前门调整是在“实验不可行”时的次优解,而不是实验的替代品。它给侦探指了一条路,但路上的陷阱依然要一一排查。
为何常见:看到前门公式在某个案例上成功矫正了朴素估计后,容易产生“这招万能”的错觉,忽略了它严格的结构前提。
面试题
Q1. 前门调整公式主要用于解决哪类问题?
- A.数据中存在大量缺失值
- B.存在不可观测混杂因素← 正确答案
- C.预测未来的事件概率
- D.消除数据的测量误差
答案:B。前门调整的核心场景是混杂因素 U 不可观测、无法直接控制时,借助中介变量识别因果效应。A 属于缺失值处理,C 是预测任务,D 是数据质量问题,都与因果识别无关。
Q2. 前门调整公式 P(y|do(x))=Σ_m P(m|x)Σ_x' P(x')P(y|x',m) 中,M 代表什么?
- A.混杂因素
- B.中介变量← 正确答案
- C.结果变量
- D.工具变量
答案:B。M 是介于 X 与 Y 之间的中介变量,完全中介因果路径。它既不是混杂因素(那是 U),也不是结果变量(那是 Y),更不是工具变量。就像焦油沉积是吸烟与肺癌之间的中间桥梁。
Q3. 前门准则要求中介变量 M 满足的核心条件是什么?
- A.M 不受任何变量影响
- B.M 完全中介 X 对 Y 的效应← 正确答案
- C.M 与 Y 相互独立
- D.M 只受混杂因素影响
答案:B。前门准则第一条要求 M 截断 X 到 Y 的所有有向路径,即完全中介。M 可以被 X 影响,所以 A 错;M 与 Y 不独立(存在 M→Y 因果路径),C 错;D 与第二条 “X→M 无混杂” 矛盾。
Q4. 前门公式内层 Σ_x' P(x')P(y|x',m) 的计算目的是什么?
- A.消除混杂 U 的影响
- B.后门调整 X 以识别 M→Y← 正确答案
- C.计算 M 的边际分布
- D.标准化 Y 的取值
答案:B。内层是对 X 的后门加权:将 X 作为条件变量固定,排除 M←X←U→Y 的后门路径,得到 P(y|do(m))。它不直接消除 U(U 不可观测),而是通过控制 X 阻断 U 到 M 的间接影响。
Q5. 与后门调整相比,前门调整的核心优势是什么?
- A.不需观测任何变量
- B.不必观测混杂因素← 正确答案
- C.计算速度更快
- D.适用于所有数据
答案:B。后门调整要求所有混杂因素 Z 被完整观测并列进条件集;前门调整在混杂 U 不可观测时,借助中介 M 依然可识别因果效应。A 说法绝对化(仍需观测 X、M、Y),C、D 不是前门独有的优势。
Q6. 若前门公式中忽略外层 Σ_m 求和,会发生什么?
- A.得到 X 对 M 的效应
- B.遗漏中介路径导致偏差← 正确答案
- C.得到 M 对 Y 的效应
- D.结果完全不受影响
答案:B。外层 Σ_m 把所有中间状态 m 的贡献累加,缺了它只算了某一条中介路径,会遗漏 X 通过其他 M 取值影响 Y 的部分。就像侦探只考虑“高焦油”一种情况,忽略了低焦油人群的贡献,结案陈词不完整。
Q7. 若存在 U→M 的路径,前门准则的哪个条件被破坏?
- A.M 完全中介 X 对 Y 效应
- B.X 到 M 路径无混杂← 正确答案
- C.Y 只受 M 影响
- D.X 与 Y 相互独立
答案:B。U→M 会在 X→M 之间引入未阻断的后门路径 X←U→M,破坏条件二,使 P(m|do(x)) ≠ P(m|x),第一段效应无法直接从观测数据估计。完全中介、Y 的独立性和 X-Y 独立性均不受 U→M 直接影响。
Q8. 前门准则的三项条件包括哪些?
- A.M 完全中介 X 对 Y 效应← 正确答案
- B.X 到 M 路径无混杂← 正确答案
- C.M 到 Y 效应可被 X 阻断← 正确答案
- D.X 和 Y 必须完全独立
答案:ABC。三项条件分别为完全中介、X→M 无后门路径、M→Y 的后门路径被 X 阻断。D 是把结论当条件,X 与 Y 并非必须独立,恰恰相反,前门调整就是要识别 X→Y 的效应。
Q9. 关于前门调整公式,下列说法正确的有哪些?
- A.外层对 M 求和以合并中介路径← 正确答案
- B.内层 x' 加权属于后门调整← 正确答案
- C.公式适用于 M 受 U 影响的情况
- D.P(m|x) 代表 X 对 M 的因果效应← 正确答案
答案:ABD。A 描述外层求和的作用,正确;B 内层正是以 X 为条件的后门调整,正确;C 错误,M 受 U 影响会破坏条件二,公式失效;D 正确,X→M 无混杂时 P(m|x) 即因果效应。
Q10. 前门调整公式的典型应用领域有哪些?
- A.政策评估← 正确答案
- B.医学研究← 正确答案
- C.商业决策← 正确答案
- D.图像识别
答案:ABC。前门调整在政策评估(如最低工资对就业)、医学研究(如药物疗效)、商业决策(如广告归因)中都有应用。图像识别属于监督学习任务,不涉及因果效应识别,D 与主题无关。