想象你是一位家族史研究员,想搞清楚“爱熬夜”这个特质是否像眼睛颜色一样由基因遗传。你翻开一大家子的族谱:爷爷、爸爸、叔叔、你。你不能把爸爸的睡眠习惯强行改掉再做观察——这不道德,也太慢。你唯一能做的,是观察族谱上每个人之间的亲缘关系,判断哪些关联是血脉相传,哪些只是“同住一个屋檐下”造成的巧合。结构因果模型(SCM)就是一套把这种“族谱推理”数学化的工具:变量是族谱上的人,箭头是亲缘影响的方向,因果图就是那张你亲手绘制的家族关系网。本文教你如何画这张网、如何绕开“同住屋檐”造成的假象,最终从观察数据中读出真正的因果效应——就像从族谱推断遗传规律一样。

岗位关联

学会用 SCM 构建因果图,你就能在“模型为什么得出这个结论”的质疑中,用一张图讲清“到底是什么导致了结果”,从只会预测的工程师,升级为能回答因果问题的决策级 AI 专家。

目录
  1. 可视化演示
  2. 因果图基本概念
  3. SCM 三大组件
  4. 因果图构建流程
  5. 混杂与对撞因子
  6. 后门准则应用
  7. 因果检验与实战
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

三步展示因果图构建:专家构建法、PC算法约束发现、评分搜索与函数因果模型方向识别。

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

专家构建法 领域专家根据机制理解指定因果方向 如吸烟→肺癌基于已知病理机制 每条边表示因果机制而非相关关系 Edge(X→Y): X causes Y 专家法直接可靠但依赖领域知识难以自动化。

因果图基本概念

画家族谱时,我们用圆圈代表人,用箭头代表“直接影响”:爷爷的箭头指向爸爸,爸爸的箭头指向你。这张谱里的箭头永远不会倒流——你不会反过来成为爸爸的祖先。SCM 中的因果图(causal graph)就是这张“家族关系网”的数学版本,只不过圆圈里站的是变量,箭头表示的是变量之间的直接因果作用。

在 SCM 中,每个节点是一个变量(如“是否服药”“是否痊愈”),每条有向边表示“直接原因”。因果图用有向无环图(DAG)表示,所谓“无环”就是不允许出现 A 影响 B、B 又影响 A 的循环——就像血缘只能从长辈流向晚辈,不可能倒灌回上一代。沿着箭头方向或逆着箭头方向能走通的链路叫做路径,它是判断两个变量之间是否存在关联通道的基础。

需要特别强调的是,图中画的是“因果结构”而不是“相关热力图”。爷爷爱打牌和你爱打牌高度相关,可能因为爸爸这个中间人传递,也可能因为全家人同住一个屋檐下(共同环境)。统计相关捕捉的是同步波动,因果图要回答的却是:箭头到底该从谁指向谁。

看懂这张族谱,你就能顺着箭头找到真正的“遗传源头”;而分清“共同居住的巧合”与“血脉相传的箭头”,正是因果图区别于相关分析的第一步。

G=(V,E)\displaystyle G = (V, E)
因果图 G 由节点集 V 和有向边集 E 组成,相当于一张标注了成员和亲缘方向的家族谱。
  1. 节点集 VV 表示因果图中所有圆圈(可观测变量),每个节点就是族谱上的一位成员。
    V={v1,v2,…,vn}V = \{v_1, v_2, \dots, v_n\}
  2. 有向边集 EE 中的每条有向边 v_i → v_j 表示 v_i 是 v_j 的直接原因,就像父亲是孩子的血亲来源。
    E={eij:vi→vj}E = \{e_{ij} : v_i \to v_j\}
  3. 无环约束图中不允许出现 v_1 → v_2 → … → v_1 这类循环,血缘只能顺向传播,因果方向才能被排序。
    ∄ (vi1→vi2→⋯→vi1)\nexists\, (v_{i_1} \to v_{i_2} \to \cdots \to v_{i_1})

SCM 三大组件

光有一张族谱还不够,家族史研究员还会给每位成员建一份“个人档案”:他从谁那里继承了特征?他自带的天赋和运气是什么?这份档案在 SCM 中就是结构方程。一个完整的结构因果模型由三元组 M = (U, V, F) 构成。

U 是外生变量,代表家族之外的背景环境与随机运气——它们没有入边,不需要解释由谁产生,就像“天生的天赋”说不清来源。V 是内生变量,代表成员们可观测的特征和行为——它们至少有一条入边,由其他变量决定。F 是一组结构方程,规定了每个内生变量如何由它的父节点和外生变量生成,相当于“这个人的性格是怎么被爸妈和环境塑造出来的”。

一个关键认识是:箭头方向不是数据自动给出的,而是因果假设。画谱时你靠长辈口述亲缘关系,建模时你靠专家领域知识、时间顺序和干预实验来定方向。结构方程写出来是:

有了这些“个人档案”,族谱上的每一条箭头都对应到一条“家族传承公式”,因果图也就从一幅画变成了一台可以计算的机器。

vi=fi(PAi,ui)\displaystyle v_i = f_i(PA_i, u_i)
每个内生变量 v_i 都由它的直接父节点 PA_i 和无法解释的外生扰动 u_i 共同决定。
  1. 内生变量 v_i第 i 个成员的可观测特征,比如“是否熬夜”这个变量。
    vi∈Vv_i \in V
  2. 结构方程 f_i决定 v_i 如何随父节点变化的“性格公式”,允许任意函数形式(线性、非线性都行)。
    vi=fi(⋅)v_i = f_i(\cdot)
  3. 父节点集 PA_i直接影响 v_i 的所有变量集合,即族谱中所有指向 v_i 的箭头来源。
    PAi={vj:vj→vi}PA_i = \{v_j : v_j \to v_i\}
  4. 外生扰动 u_i模型解释不了的运气成分,代表每个成员独有的随机偏差。
    ui∈Uu_i \in U

因果图构建流程

资深家族史专家不会凭直觉乱画谱,而是按四步采访:先确认要研究什么问题,再列出所有相关成员,接着听长辈口述关系,最后按出生先后确定箭头方向。因果图构建也遵循同样的四步法。

第一步问题定义:明确结果变量 Y(你想解释什么)和处理变量 X(你想评估什么)。第二步变量识别:用“不重不漏”的原则列全所有相关变量,包括环境、行为、结果。第三步专家知识:把领域经验转化为候选箭头,比如病理学告诉我们“病毒感染先于肺炎发生”。第四步边方向判定:利用时间先后(先发生的指向后发生的)、干预能力(能被手动改变的更可能是因)以及已有理论来敲定方向。

画完初稿后必须做验证:因果图暗示某些条件独立关系,比如“在给定 Z 时,X 与 Y 互不影响”。如果你的数据强烈反对这种独立性,说明图里有错,要回头修改。d-分离(d-separation)就是用来判断“图上是否隔开”的规则,它的统计表达是条件独立:

画因果图就像修族谱——先采访长辈,再画出初稿,最后还要拿出生记录核对。数据检验就是那本“户籍登记册”,能帮你发现画错的箭头。

X⊥Y∣Z⟺P(x,y∣z)=P(x∣z) P(y∣z)\displaystyle X \perp Y \mid Z \quad \Longleftrightarrow \quad P(x, y \mid z) = P(x \mid z)\, P(y \mid z)
这张图在说:控制了 Z 之后,X 和 Y 在图上被“隔开”了,它们的观测分布也应该互不影响。
  1. 条件独立记号 X ⟂ Y | Z在给定 Z 的条件下,X 与 Y 相互独立,如同一大家子里,隔开 Z 这个中间人再观察两人,他们的言行不再联动。
    X⊥Y∣ZX \perp Y \mid Z
  2. 联合概率 P(x, y | z)给定 Z=z 时,X=x 且 Y=y 同时出现的概率。
    P(x,y∣z)P(x, y \mid z)
  3. 概率乘积 P(x | z) P(y | z)联合概率等于两个边缘概率相乘,数学上表示“互不影响”,是独立性的定义式。
    P(x∣z)⋅P(y∣z)P(x \mid z) \cdot P(y \mid z)

混杂与对撞因子

爷爷同时影响了爸爸和叔叔:爸爸爱熬夜(X),叔叔爱吃辣(Y)。叔叔爱吃辣这个现象,会让不知情的人猜测爸爸也爱熬夜——但其实这两人只是共享了爷爷的“生活习惯”这个共同原因。这个共同祖先,就是混杂因子(confounder),它让 X 与 Y 之间出现了一条虚假关联的后门路径。

与混杂相反,还有一类危险的节点叫对撞因子(collider):它是两条箭头共同指向的节点。比如“考上重点大学”同时受“天赋”和“补习”影响。如果只看考上大学的人,会发现天赋和补习呈现虚假的负相关——补习多的人天赋看起来低。这就是控制对撞因子带来的选择偏差:你用“已录取”筛选了样本,反而打开了一条原本不存在的通道。

在因果图中,X 到 Y 的路径分两类:因果路径的箭头顺着 X 流向 Y;后门路径则有一条箭头“进入”X,再通向 Y,是虚假相关的主要来源。消掉后门路径的办法是“分层加权”——把混杂变量 Z 分成不同取值层,在每层内部比较 X 对 Y 的影响,再按各层人数加权拼回整体。它的数学基础是全概率公式:

族谱里最危险的不是箭头的多少,而是“共同祖先的背影”和“对撞点的假象”。只有把这两类节点认清楚,分层加权才有意义。

P(Y=y)=∑zP(Y=y∣Z=z) P(Z=z)\displaystyle P(Y = y) = \sum_{z} P(Y = y \mid Z = z)\, P(Z = z)
意思是:把人群按混杂 Z 切成不同“屋檐”的小组,先在各组内观察规律,再按各组人数比例加权汇总,抵消共同环境的影响。
  1. 层内概率 P(Y=y | Z=z)在混杂 Z=z 这一小层中,结果 Y 取 y 的概率,相当于只看“同一个屋檐下”的人群。
    P(Y=y∣Z=z)P(Y = y \mid Z = z)
  2. 层权重 P(Z=z)该混杂层在总人口中的占比,相当于这一房亲戚占整个家族的比例。
    P(Z=z)P(Z = z)
  3. 对所有层求和 Σ_z把每一层的观察结果按比例加权拼回整体,抵消“屋檐效应”造成的虚假关联。
    ∑zP(Y=y∣Z=z) P(Z=z)\sum_{z} P(Y = y \mid Z = z)\, P(Z = z)

后门准则应用

想验证“爸爸熬夜会遗传给你”,你不能真去强迫爸爸熬夜,只能观察并分层:把爷爷那边的影响固定住,再比较爸爸熬夜与否的你。这个“固定住共同祖先影响”的操作,就是关闭后门路径。后门准则(backdoor criterion)给出了系统解法。

选择一个变量集 Z 作为调整集,它需要满足两个条件:其一,Z 中不含 X 的后代(不能把 X 的结果也拿进去控制);其二,Z 能阻断所有从 X 到 Y 的后门路径。满足条件后,X 对 Y 的因果效应就可以通过“对 Z 分层求加权平均”从观测数据中估计出来。

干预本身用 do 算子表示。P(y | do(x)) 读作“把全世界强制设置成 X=x 时,Y 取 y 的概率”。do(x) 会剪断所有指向 X 的箭头,相当于实验者亲自下场安排 X 的取值,而不允许混杂再偷偷影响 X。后门准则的调整公式是:

这就像从多个“同住屋檐”的家族样本中提取共同规律——把每个屋檐的影响分别抵消后,剩下的才是真正属于“爸爸传给你”的遗传效应。

P(y∣do(x))=∑zP(y∣x,z) P(z)\displaystyle P(y \mid do(x)) = \sum_{z} P(y \mid x, z)\, P(z)
这是“观察数据 + 正确调整 + 因果图假设”三者合力还原实验结果的公式,也是因果推断中最常用的武器之一。
  1. do(x) 干预把 X 强制设置为 x,剪断所有指向 X 的箭头,相当于实验者直接安排 X 的取值。
    do(x)do(x)
  2. 条件概率 P(y | x, z)在给定 X=x 且混杂层 Z=z 的人群中,结果 Y 的条件概率。
    P(y∣x,z)P(y \mid x, z)
  3. 层权重 P(z)混杂层 Z=z 的人群占比,用于加权。
    P(z)P(z)
  4. 加权求和 Σ_z对全部混杂层做加权平均,抵消混杂影响,得到纯净的因果效应。
    ∑zP(y∣x,z) P(z)=P(y∣do(x))\sum_{z} P(y \mid x, z)\, P(z) = P(y \mid do(x))
  5. 特例退化若图中不存在任何后门路径,Z 为空集,则公式退化为 P(y|x),即此时条件概率直接等于因果效应。
    P(y∣do(x))=P(y∣x)P(y \mid do(x)) = P(y \mid x)

因果检验与实战

族谱初稿画完,还要拿 DNA 检测和户籍记录审计。因果图同样需要检验与加固。模型检验阶段,我们把图中暗示的每条条件独立关系与数据对照:如果图上说“给定 Z 后 X 与 Y 独立”,而数据强烈拒绝,就得修正箭头。敏感性分析则追问一个更尖锐的问题:未观测的混杂要强到什么程度,才能把当前结论彻底翻转?

当存在无法观测的混杂时,我们需要借力工具变量(instrumental variable):找一个只通过 X 影响 Y、且与未观测混杂独立的变量 Z,就像“政策抽奖”或“自然实验”提供的伪随机变化。例如为了评估教育年限对收入的因果效应,可以用“出生季度”作为工具变量——出生月份不受个人控制,却影响入学年龄和教育年限。工具变量的估计公式是:

工程实践上,因果推断是一个闭环:构建因果图 → 识别调整集 → 估计因果效应 → 验证与敏感性分析。经过审计的族谱才能用于决策,经过检验的因果图才能真正支撑 AI 的自动决策。

β^IV=Cov(Z,Y)Cov(Z,X)\displaystyle \hat{\beta}_{IV} = \frac{\text{Cov}(Z, Y)}{\text{Cov}(Z, X)}
工具变量法把“Z 与 Y 的总关联”除以“Z 对 X 的驱动强度”,折算成 X 每变化一个单位的因果效应。
  1. Cov(Z, Y)工具变量 Z 与结果 Y 的总关联,由于 Z 只通过 X 影响 Y,这个关联全部来自 X 的传导。
    Cov(Z,Y)\text{Cov}(Z, Y)
  2. Cov(Z, X)Z 与处理变量 X 的关联强度,衡量 X 中真正由 Z 驱动的部分有多少。
    Cov(Z,X)\text{Cov}(Z, X)
  3. 两者相除把“经过 X 传导的关联量”按 X 被驱动的单位折算,得到 X 对 Y 的因果效应。
    β^IV=Cov(Z,Y)Cov(Z,X)\hat{\beta}_{IV} = \frac{\text{Cov}(Z, Y)}{\text{Cov}(Z, X)}

AI 应用场景

医疗因果效应评估

阶段:因果推断与可解释诊断决策

解决的问题:用电子病历观测数据评估新药疗效时,患者年龄、并发症等混杂因子同时影响“是否用药”和“康复速度”,直接回归会严重高估药效。传统做法只做相关性分析,无法向监管方说明“药真的有效”。

具体案例:某慢病管理平台发现“按时服药”人群住院率更低,但业务方质疑:依从性高的患者本来就爱惜身体。数据团队画出“依从性 → 住院”与“健康意识 → 依从性 / 住院”的因果图,用后门准则对健康意识分层加权,得到真实药理效应比朴素估计低 37%,据此调整了临床决策模型。

推荐系统的因果化策略评估

阶段:强化学习与推荐策略离线评估

解决的问题:上线 A/B 实验前,想用历史日志估计“发优惠券 → 复购”的因果效应,但日志存在严重选择性偏差——平台倾向于给老用户发券,老用户本来就更容易复购。传统离线评估无法区分“券的功劳”和“用户本身的活跃度”。

具体案例:电商平台构建因果图时发现“会员等级”是典型的混杂因子:它同时影响发券策略和复购行为。团队用后门准则对会员等级分层加权后,发现优惠券对沉默用户的因果效果是活跃用户的 3 倍,于是把预算从“高活跃用户”转向“沉睡用户”,复购率提升 21%。

可解释 AI 的因果归因审计

阶段:模型可解释性(SHAP/归因分析)

解决的问题:SHAP 等归因方法给出的是相关性贡献,高相关特征可能只是因果链条上的“结果”而非“原因”,直接指导业务会犯错。用因果图作为审计骨架,可以过滤掉虚假归因。

具体案例:信贷风控模型显示“登录时长”对违约预测贡献极高,但因果图揭示它其实是“还款能力”的结果变量(属于对撞/中介结构)。审计团队移除该特征,改用“收入稳定度”等因果上游特征重建解释,模型风险归因的监管评审一次性通过。

Python 演示

python24 行
import numpy as npfrom sklearn.linear_model import LinearRegression np.random.seed(42)n = 2000 # 外生混杂变量 Z 作为家族背景z = np.random.normal(0, 1, n) # 处理 X 受 Z 影响 形成后门路径 Z -> Xx = 0.6 * z + np.random.normal(0, 0.8, n) # 结果 Y 同时受 X 与 Z 影响 真实因果系数为 1.2y = 1.2 * x + 0.8 * z + np.random.normal(0, 0.5, n) # 朴素回归 忽略混杂 只拿 X 预测 Ynaive = LinearRegression().fit(x.reshape(-1, 1), y)print('朴素回归系数(有偏):', round(naive.coef_[0], 3)) # 后门调整 控制混杂 Z 后再回归X_train = np.column_stack([x, z])adjusted = LinearRegression().fit(X_train, y)print('后门调整X系数(真实效应):', round(adjusted.coef_[0], 3))print('后门调整Z系数:', round(adjusted.coef_[1], 3))
目的:用模拟数据演示“相关不等于因果”——当混杂 Z 同时影响处理 X 和结果 Y 时,朴素回归系数有偏,而使用后门准则控制 Z 后,X 的系数收敛到真实因果效应 1.2。
  1. x = 0.6 * z + np.random.normal(0, 0.8, n)让处理变量 X 被混杂 Z 驱动,对应因果图中 Z→X 的箭头,这是后门路径的来源。
  2. y = 1.2 * x + 0.8 * z + np.random.normal(0, 0.5, n)真实因果系数 1.2 藏在生成公式里,混杂对 Y 还有 0.8 的额外贡献。
  3. naive = LinearRegression().fit(x.reshape(-1, 1), y)忽略 Z 的朴素回归,会把 Z 的贡献也算到 X 头上,得到有偏估计。
  4. X_train = np.column_stack([x, z])把 X 和混杂 Z 拼成特征矩阵,对应后门准则中的“对 Z 分层”。
  5. adjusted = LinearRegression().fit(X_train, y)控制 Z 后 X 的系数逼近 1.2,这是用一行代码实现后门调整。

常见误区

误区“我看到 X 和 Y 的相关系数高达 0.8,那就在因果图里画上 X→Y 吧。数据都这么强了,箭头方向还能有错吗?”

正解相关可能来自共同祖先(混杂),也可能来自反向因果(其实是 Y 导致了 X)。画箭头前必须回答三个问题:时间上 X 确实在前吗?是否存在共同原因同时影响两者?有没有干预实验的证据?因果图是“被假定为真的因果结构”,不是相关矩阵的可视化。爷爷和孙子都爱吃辣,不能断定是爷爷遗传的——可能只是同一张餐桌(共同环境)造成的。

为何常见:机器学习训练中,特征与标签的高相关常常被当作特征重要性的证据,长期做特征选择会让人误以为相关就是因果。

误区“为了消除混杂,我把能想到的变量全部放进回归模型。控制得越多,结果一定越接近真相。”

正解控制中介变量会遮住真实的因果路径——X 对 Y 的部分效应经由中介 M 传导,控制 M 后剩下的只是直接效应;控制对撞因子会打开后门路径,反而引入偏差。正确做法是先画因果图,再按后门准则选择最小调整集 Z,而不是一股脑全塞进去。就像判断爸爸熬夜对你的影响,不能把“你的黑眼圈”也当控制变量——它是结果而不是原因。

为何常见:统计课上“控制变量法”的朴素印象,加上机器学习特征工程里“特征越多越好”的习惯,被错误迁移到了因果推断中。

误区“现在数据量这么大,用结构学习算法跑一遍就能自动得到因果图,不需要请领域专家了。”

正解纯观测数据通常只能识别到一组“马尔可夫等价类”——多个因果图与数据同样兼容,比如 X→Y 和 Y→X 可能产生完全相同的观测分布。要打破这种等价性,必须依赖时间先后、干预实验或领域理论。专家知识是画谱时“长辈的口述”,数据只是“户籍登记”,两者缺一不可。

为何常见:深度学习的“端到端自动学习”在预测任务上大获成功,容易让人误以为因果结构也能纯数据地自动涌现。

误区“我的回归里加入了混杂变量 Z 并控制了它,这不就等于完成了 do(X) 干预吗?两者不应该是一回事吗?”

正解后门调整是在“观察层面”做标准化——它用 P(y|x,z) 对 Z 加权平均,并没有真正切断数据里 Z→X 的箭头。而 do(x) 在因果图中会把所有指向 X 的边全部剪断,对应的是实际的实验操作。只有在“没有未观测混杂 + 调整集选择正确”这两个前提下,两者的数值才相等。把统计控制直接当成实验干预,最容易忽视未观测混杂的存在。

为何常见:统计软件中“调整后效应”这类术语满天飞,让初学者以为只要回归里控制住某个变量,就等价于物理上操控了它。

面试题

Q1. 结构因果模型 SCM 的三元组是?

单选题 · easy

  • A.外生、内生与结构方程三元组← 正确答案
  • B.处理、结果与混杂三变量
  • C.节点、边与概率三要素
  • D.输入、权重与输出三项

答案:A。SCM 的三元组是 M = (U, V, F),分别对应外生变量(背景运气)、内生变量(成员特征)和结构方程(传承公式)。B 是具体变量角色,C 是图定义的组件,D 是神经网络术语,都不构成 SCM 的完整定义。

Q2. 在 DAG 中,一条有向边代表什么?

单选题 · easy

  • A.两个变量的统计相关方向
  • B.变量之间的直接因果作用← 正确答案
  • C.数据在模型中的流转方向
  • D.特征之间的先后计算顺序

答案:B。有向边 v_i → v_j 表示 v_i 是 v_j 的直接原因,相当于族谱中“父亲是儿子的血亲来源”。相关方向、数据流转、计算顺序都是不同的概念,它们不要求满足无环性和因果方向性。

Q3. 后门准则的调整公式是?

单选题 · mid

  • A.用条件概率 P(y|x) 直接替代因果效应
  • B.对混杂 Z 加权:P(y|x,z)P(z) 求和← 正确答案
  • C.对处理 X 加权求和再代入模型
  • D.把 P(x) 除以 P(y) 后取对数

答案:B。后门准则要求选一个阻断所有后门路径的调整集 Z,然后用 P(y|do(x)) = Σ_z P(y|x,z)P(z) 估计因果效应。A 忽略了混杂;C 把加权对象搞反了;D 是杜撰的运算,没有因果含义。

Q4. 对撞因子的典型特征是?

单选题 · mid

  • A.没有任何入边的根节点变量
  • B.两个及以上箭头指向的节点← 正确答案
  • C.同时指向多个节点的父节点
  • D.处于因果路径中间的中介

答案:B。对撞因子是“多条箭头汇聚的节点”,比如“考上重点大学”同时被“天赋”和“补习”指向。A 是外生变量/根节点,C 是共同父节点,D 是中介变量,三者都不会产生“控制后反而打开偏差”的问题。

Q5. 以下哪些属于 SCM 的三大组件?

多选题 · mid

  • A.U 外生变量(背景运气)← 正确答案
  • B.V 内生变量(成员特征)← 正确答案
  • C.F 结构方程(传承公式)← 正确答案
  • D.E 有向边集(箭头集合)

答案:ABC。SCM 三组件是 U(外生变量)、V(内生变量)、F(结构方程)。E 有向边集属于因果图 G=(V,E) 的组成,不是 SCM 三元组的组成部分,注意区分“图”和“模型”两个层次。

Q6. 在因果图中控制对撞因子会导致?

单选题 · mid

  • A.彻底消除所有虚假相关
  • B.打开新的后门虚假路径← 正确答案
  • C.直接放大真实因果效应
  • D.让样本量自动成倍增加

答案:B。对撞因子像一扇“本已关闭的门”,控制它就等于打开门,让原本无关的两个原因之间产生虚假关联。这与控制混杂正好相反——混杂是要控制的,对撞是坚决不能乱控制的。

Q7. 后门准则要求调整集 Z 满足哪些条件?

多选题 · hard

  • A.不包含 X 的任何后代节点← 正确答案
  • B.阻断所有从 X 到 Y 的后门路径← 正确答案
  • C.必须包含 X 与 Y 的中介变量
  • D.必须与未观测混杂高度相关

答案:AB。后门准则两条:Z 不含 X 的后代,且阻断所有 X→Y 的后门路径。C 错误,中介变量是因果路径的一部分,控制了会遮蔽效应;D 错误,与未观测混杂相关的是混杂本身,不是调整集的要求。

Q8. 工具变量 Z 的核心条件是?

单选题 · hard

  • A.仅经 X 作用于 Y 且独立于混杂← 正确答案
  • B.与 Y 不相关但受 X 强烈影响
  • C.是 X 后代并能直接预测 Y
  • D.同时影响 X 与 Y 的共同祖先

答案:A。工具变量要求 Z 只通过 X 影响 Y,且与未观测混杂独立。B 中 Z 与 Y 不相关则无法传导效应;C 中后代作工具变量会引入偏差;D 是混杂的定义,恰好是工具变量要绕开的东西。

Q9. “相关不等于因果”的根本原因是?

单选题 · easy

  • A.样本量不够大会出现抽样误差
  • B.存在混杂或反向因果等假路径← 正确答案
  • C.数据中存在大量的随机噪声
  • D.线性模型无法捕捉非线性关系

答案:B。两个变量相关,可能是因为共同祖先(混杂)、反向因果或者样本选择造成了假路径,并不代表 X 真的推动了 Y。样本量、噪声和非线性会让估计变差,但即使数据完美,相关性本身也不能识别箭头方向。

Q10. 因果图构建的正确做法包括?

多选题 · extreme

  • A.以专家领域知识为先验基础← 正确答案
  • B.用数据检验条件独立性← 正确答案
  • C.仅凭纯数据就能自动画因果图
  • D.用干预实验结果确认边方向← 正确答案

答案:ABD。因果图构建是“专家知识 + 数据检验 + 干预实验”三者的结合。纯观测数据通常只能识别到马尔可夫等价类,无法唯一确定箭头方向,所以 C 错误。A、B、D 分别对应构建流程中的先验、验证和定方向环节,缺一不可。