你是城市智能交通控制中心的指挥员,面前钉着一张奉为圭臬的交通指挥图:每个路口画成圆圈,每条单向车道标上箭头——学校一放学,车流必然涌向主干道;主干道一拥堵,环线便跟着瘫痪。你所有的信号灯优化预案,都基于这张图。然而图上单行道的方向,必须与真实路况严丝合缝。若有人悄悄改了路,图纸却没更新,预案就沦为纸上谈兵。 在 AI 世界,这张指挥图叫作「因果图」,是一种有向无环图(DAG);而「图与真相始终吻合」这件事,正是今天要讲的「数据一致性」。整篇文章,我们将围绕这张交通指挥图展开:它如何画、如何判断是否过时、如何校正,以及校正后如何帮我们做可靠的因果推断。

岗位关联

掌握因果图与数据一致性,相当于给模型装上一套会自我纠错的导航系统——避免因变量关系假设错误而做出灾难级决策,是从「会调包」走向「会设计」的关键一步。

目录
  1. 可视化演示
  2. 因果图基础
  3. 一致性内涵
  4. 不一致溯源
  5. 验证方法
  6. 修正实践
  7. 因果应用
  8. 可信数据层
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示有向无环图DAG的因果结构,节点代表变量,有向边表示因果关系,体现因果推断中数据一致性的核心原理。

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

因果图与数据一致性 DAG有向无环图,节点=变量,边=因果关系方向 X→Y→Z→W→V因果链,无环保证一致性 因果推断基础,DAG结构保证数据一致性推导

因果图基础

在你指挥台正中央,钉着一张城市交通指挥图。图上每个路口画成圆圈,每条单行道标出箭头:学校放学→车流涌入主干道,主干道拥堵→环线瘫痪。交通工程师还立下一条铁规矩:不许画圈。如果哪条路的方向标成环形,汽车就会永远绕圈,整个指挥系统瞬间死机。这条「不许画圈」的规矩,正是因果图里那枚定海神针。

把镜头从指挥中心拉回数据科学家的屏幕,你会发现两者同构:路口对应变量,箭头对应有向边,整张「不许画圈」的图就叫有向无环图(DAG)。箭头方向意味着「原因在前、结果在后」——学校放学是车流涌入的原因,而不是反过来。在一个 DAG 中,上游直接指向本节点的节点叫父节点,被它指向的下游节点叫子节点。例如研究高血压时,吸烟→高血压→中风,吸烟是高血压的父节点,中风的父节点是高血压。

有了图,还差流量概率表。在每个路口的旁边,你贴上一张小纸条:当父路口出现特定车流时,本路口出现多大车流的概率。把所有小纸条乘在一起,就会得到整座城市的宏观车流分布。这正是因果图最漂亮的性质:

从此,你不需要背下每条街的完整规律,只要记住每个路口与父路口的局部关系,就能还原整座城市的车流全貌。这也是因果图能成为「可计算的领域知识」的根本原因。

P(X1,…,Xn)=∏i=1nP(Xi∣Pa(Xi))\displaystyle P(X_1,\dots,X_n)=\prod_{i=1}^{n} P(X_i \mid Pa(X_i))
联合分布分解:整张图的所有变量联合概率,等于每个变量在父节点条件下的概率之积。
  1. 联合分布$P(X_1,\dots,X_n)$ 表示所有路口同时出现某一种车流状态的完整概率,好比整个路网所有路口的快照。
  2. 连乘符号$\prod_{i=1}^{n}$ 表示从第 1 个路口乘到第 n 个路口,把各路口局部规则串起来。
  3. 局部条件概率$P(X_i \mid Pa(X_i))$ 表示只看父路口车流后,本路口出现相应车流的概率,即「小纸条」上的内容。

一致性内涵

现在请回答一个朴素的问题:图上的单行道,和交警支队数据库里的真实路况记录,完全一致吗?如果图标注梧桐路是东向西单行,实际却是西向东,那么任何基于图纸的信号灯预案都等于在一个镜像世界里施令。因果图与数据一致性的第一层含义,正是「图结构必须与真实因果结构相符」——哪些箭头存在、指向何方,一个都不能错。

第二层含义藏得更深:图不仅是画着箭头的示意图,它还编码了一批关于数据的断言。图中没有从 X 到 Y 的路径,就暗示「知道 X 后并不能直接预测 Y」;图中 Z 截断了从 X 到 Y 的唯一路径,就暗示「给定 Z 后,X 与 Y 条件独立」。数据一致性,就是让真实观测数据尊重这些断言。若数据拒绝断言,说明图错了。

这种「条件独立」是检验一致性的钥匙。它可以用数学语言精确表达:

把这张图重新挂回墙上:图断言了一条「被阻断」的关系,数据却显示两个路口依然相关。这种图与数据的裂隙,就是一切因果推断失误的起点。

X⊥ ⁣ ⁣ ⁣⊥Y∣Z\displaystyle X \perp\!\!\!\perp Y \mid Z
条件独立:在给定 Z 的条件下,X 不再携带关于 Y 的任何额外信息。
  1. 独立符号$\perp\!\!\!\perp$ 表示两个事件相互独立,互不提供信息,如同两个路口的车流互不相干。
  2. 条件竖线$\mid Z$ 表示「先固定 Z 路口的车流级别」,在此前提下观察 X 与 Y。
  3. 整体含义整个式子断言——一旦知道 Z 的车流,X 的车流就不再帮助我们预测 Y;这正好对应图中「从 X 到 Y 的路径被 Z 阻断」。

不一致溯源

图纸与实况发生裂隙,交管局的档案室里记录过三种典型事故。第一种:去年新修的西隧道没有画上图。西隧道同时连接了学校区与主干道,于是主干道的车流多了一股「来路不明」的注入。这在因果推断里叫遗漏变量——一个既影响原因又影响结果的隐藏因素被忽略,它会伪装成假的相关性。

第二种:梧桐路的箭头方向画反了。改建工程把单行道改成双向,但图没更新,信号灯依旧按旧方向配时,导致早高峰排队长龙。这对应因果方向的时间错位——因果的先后顺序颠倒,或忽略了因果作用的滞后。第三种:暴雨夜流量计跳数,数据采集误差让某路口车流记录虚高一倍。测量误差让数据本身失真,哪怕图再正确,数据也不会配合。

这三种裂隙的共同后果,是「图给出的预言」与「观测到的现实」之间出现系统性偏差。若用数学刻画,偏差等于干预效应与观测关联之间的落差:

图纸过时、方向颠倒、数据失真,归终都会让「预言」与「现实」错位。好在,裂隙虽然可怕,却可以被系统性地发现。

Bias=P(Y∣do(X))−P(Y∣X)\displaystyle \text{Bias}=P(Y \mid do(X))-P(Y \mid X)
偏差公式:真实干预效果与我们「仅凭观测」得到的相关性之间的差值。
  1. 干预算子$do(X)$ 表示人为封锁并控制 X 路口的车流,让它到达某个指定值,如同封路演练。
  2. 干预分布$P(Y \mid do(X))$ 是封路干预之后 Y 路口的真实车流分布,反映真因果效果。
  3. 观测分布$P(Y \mid X)$ 是不做干预、只在一旁观察 X 与 Y 同时出现时得到的相关关系。
  4. 两者之差当图中漏掉混杂变量时,观测相关性会偏离真实因果效应,偏差就是这个差值。

验证方法

每逢周二下午,指挥中心会派两名巡查员携带图纸巡城。第一站是拓扑检查:沿着图纸上的箭头走一遍,确认每个方向都遵守单行规定,尤其要排除「环形路线」——一旦出现环路,就说明有人把双向路画成了单向环,DAG 变成了 DAG 的悖论。这是最基础的结构检验。

第二站是条件独立检验。巡查员站在 Z 路口,同时观测 X 与 Y 的路况监控:如果图中断言「给定 Z 后 X 与 Y 无关」,而监控数据却显示显著相关,那么图纸很有可能缺了一条边或标反了一个方向。统计学家用卡方检验或互信息来裁决这种「图言与数据」的冲突。

第三站是分布距离评估。光看一个断言还不够,最好把整张图生成的理论车流分布与真实监控分布做整体对比。两个分布越像,图就越可信。量化两个分布差异的常用标尺是 KL 散度:

巡查不是一次性的运动,而应成为常态。每一次实时数据回流,都是一次低成本的全城核图;KL 散度一旦超标,就拉响一致性警报。

DKL(P∥Q)=∑xP(x)log⁡P(x)Q(x)\displaystyle D_{KL}(P \| Q)=\sum_{x} P(x)\log\frac{P(x)}{Q(x)}
KL 散度:刻画「数据真实分布 P」与「图模型假设分布 Q」之间的距离,距离越小越一致。
  1. 真实分布$P(x)$ 是监控视频统计出的真实车流比例,相当于路面实况。
  2. 模型分布$Q(x)$ 是依据图纸的条件概率表推算出的预期车流比例,相当于理论预报。
  3. 对数比值$\log\frac{P(x)}{Q(x)}$ 衡量在某个车流档位上,实况与预报的偏离程度。
  4. 加权求和$\sum_{x} P(x)\cdot[\dots]$ 按实况出现的频率给每个偏离值加权,汇总成最终距离。

修正实践

巡查员带着证据回到指挥中心,画线员拿起红笔开始改图。第一类修改是增边:在 X 与 Y 之间补上被遗漏的边,比如把西隧道画回图纸;依据是数据中的条件相关显著——本应条件独立的两个变量,在控制 Z 后依然纠缠不清,说明中间或旁路还藏着一条被漏掉的路径。第二类修改是删边:数据表明某条边其实不存在,画线员就擦去这条多余箭头。

第三类修改不碰图,而是碰数据。如果流量计有系统性偏差,就把偏差校准后再进入分析;如果某些记录明显是噪声,就做清洗。与此同时,还有一种「不画新边也不删旧边」的聪明办法:分层调整。与其放弃图中 X→Z→Y 的结构,不如在做分析时把 Z 的取值分成几层,每一层内分别计算 X 与 Y 的关系,最后再按 Z 的分布加权汇总。这等于在数据分析阶段「人为屏蔽」Z 的干扰:

修图之后,还要重新走一遍巡查流程——增删边是否让条件独立断言重新成立,分层后的效应是否更加稳定。一次修正,就是一次闭环。只要闭环持续旋转,图与数据就能长期保持同步。

P(Y∣X,Z)\displaystyle P(Y \mid X, Z)
分层条件概率:固定住 Z 路口车流等级后,X 对 Y 的干净影响。
  1. 关注的变量$Y$ 是结果路口(如环线拥堵),$X$ 是原因路口(如学校出口)。
  2. 混杂变量$Z$ 是夹在中间的枢纽路口,它同时连通上下游,容易制造虚假关联。
  3. 条件化$\mid X, Z$ 表示同时在 X 与 Z 的特定取值下观测 Y,等于把比较对象限定在「同一 Z 等级」内,剥离 Z 的干扰。

因果应用

图纸修好之后,指挥中心终于敢做一件以前不敢做的事:在图上直接「动手」。假设你想知道「封锁学校出口后,环线拥堵会减轻多少」,你不可能真的封路一个月做实验——成本太高,市民会投诉。但有了可靠一致的因果图,你可以在图上用 do 算子模拟封路:把 X 路口的值钉死在一个设定值,切断所有指向它的箭头,将其变为一个被外部控制的变量。

一旦图结构可信,后门准则可以帮你把「干预效果」换算成可计算的公式。原理很简单:找出所有从 X 到 Y 的「后门路径」——那些不经过 X 却混入 X 与 Y 关联的旁路,用分层调整的方式把它们逐一关闭。这就是整张图最有价值的地方:

除效应估计外,反事实推演也依赖一致的图:假如当初没有把梧桐路改成双向,现在的早高峰排队会短多少?图给出假设世界的结构,数据给出假设世界的参数,两者一致时,反事实才有意义。这正是从「看见相关」走向「看清因果」的关键一跃。

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)
后门调整公式:通过对所有混杂变量 z 加权平均,把观测关联换算为真实因果效应。
  1. 干预目标$P(Y \mid do(X))$ 是封路干预后目标路口的预期分布,是决策真正需要的指标。
  2. 遍历混杂$\sum_{z}$ 对混杂变量 Z 的所有可能取值逐一求和,相当于把所有路况场景都考虑一遍。
  3. 层内效果$P(Y \mid X,z)$ 是固定 Z=z 这一层时 X 对 Y 的影响,不再受 Z 的路径干扰。
  4. 加权权重$P(z)$ 是每层场景在整体中的出现比例,保证汇总结果是真实路网中的加权平均。

可信数据层

故事讲到这里,聪明的工程师会问:一次修正终会被下一次道路改造打破,如何让一致性不依赖某个人的责任心?答案是制度化——把「图纸与实况保持一致」从一次专项行动升级为持续运转的数据治理体系。

治理流程规定:任何涉及图结构的修改,必须经过影响评估与审批,避免某位分析师为了拟合数据顺手加边。版本管理让每张图都拥有编号与快照,一旦新版本校验失败,可以一键回滚到上一版可用状态。血缘审计记录每条边的「出生证明」:它源自专家经验还是数据挖掘?上一次被修改是什么时候?依据哪批数据?这份追溯能力,保证任何一致性事故都能被定位到具体环节。

为了让「一致性」本身可量化,我们还可以借用前面的 KL 散度构建一个 0 到 1 的评分:分数越接近 1,说明图模型与真实数据越吻合,图越值得信赖:

从一张孤立的图纸,到一套带审批、版本、血缘的活体系,数据一致性终于不再是某个夜晚的程序员加班,而是组织长期运转的肌肉记忆。

C=1−DKL(Pdata ∥ Pmodel)\displaystyle C = 1 - D_{KL}\bigl(P_{\text{data}} \,\|\, P_{\text{model}}\bigr)
一致性评分:用总体分布距离的补数度量可信度,1 表示完全一致,0 表示完全背离。
  1. 数据分布$P_{\text{data}}$ 是实时观测的真实分布,相当于今日路况监控。
  2. 模型分布$P_{\text{model}}$ 是因果图推演出的理论分布,相当于基于图纸的预报。
  3. 分布距离$D_{KL}(\cdot)$ 越大,说明预报与实况差异越大。
  4. 补数变换$1 - D_{KL}$ 把「差异」转成「一致」,分数越高图越可信,也越适合进入下游决策。

AI 应用场景

特征工程中的变量关系审批

阶段:特征工程 / 数据可信层

解决的问题:传统特征工程只看特征的预测力(相关),谁与标签相关度高就让谁上线,结果常出现特征穿越——比如用「用户当天是否领取优惠券」预测「当天是否下单」,两个变量互相影响,模型在线上却拿不到完整信息。AI 因果图方案要求在特征上线前绘制特征与标签的 DAG,并校验图结构与历史数据的一致性:若图中存在反向边或缺失的父节点,该特征直接打回。

具体案例:某电商平台的推荐团队每次新增特征,都要先回答三个问题:它是否应为标签的父节点?是否存在共同的隐藏父节点(如季节)?给定中间变量后,它与标签是否条件独立?通过一致性校验后,特征才允许进入离线训练管道。

医疗观察性研究的混杂控制

阶段:因果推断 / 统计分析

解决的问题:电子病历中「吸烟→肺癌」的因果推断不能做随机实验,只能观察数据。传统回归分析容易遗漏吸烟者的职业暴露等混杂因素,导致 DAG 图与数据的条件独立断言破裂,效应估计严重偏离真实值。借助图结构与数据一致性校验,研究团队可以定位遗漏的混杂变量并通过后门调整修正。

具体案例:某医院科研团队构建「吸烟→肺功能→肺癌」DAG,用病历数据校验时发现给定肺功能后吸烟与肺癌仍显著相关。团队据此补入「职业粉尘暴露」节点,重新分层调整后,吸烟对肺癌的效应估计趋于稳定,论文顺利通过审稿。

风控策略的反事实推演

阶段:策略评估 / 决策模拟

解决的问题:风控团队想评估「将信用卡最低还款比例从 5% 上调到 10% 后,逾期率会上升多少」。直接看历史数据会受到经济周期等混杂因素干扰,传统 AB 实验成本高、周期长。使用经数据一致性验证的信贷因果图,分析师可以对利率策略节点执行 do 演算,得到剥离混杂后的干预效应。

具体案例:某消费金融公司用历史 3 年用户数据构建「收入→负债率→逾期」DAG,并用 KL 散度持续监控分布漂移。当一致性评分低于阈值时,系统自动暂停策略模拟并触发图结构重校验,保证了调额策略上线前推演结果的可靠性。

Python 演示

python36 行
import numpy as np rng = np.random.default_rng(42) def generate_data(eta_u, n=2000):    # 真实结构: U -> X, U -> Y, X -> Z, Z -> Y    u = rng.normal(0, 1, n)    x = 0.8 * u + rng.normal(0, 1, n)    z = 0.7 * x + rng.normal(0, 1, n)    y = 0.6 * z + eta_u * u + rng.normal(0, 1, n)    return x, z, y def partial_corr(a, b, c):    # 计算给定 c 后 a 与 b 的偏相关系数    def resid(x, y_, extra=None):        A = np.column_stack([np.ones_like(y_), y_])        coef, _, _, _ = np.linalg.lstsq(A, x, rcond=None)        return x - A.dot(coef)    ra = resid(a, c)    rb = resid(b, c)    return float(np.corrcoef(ra, rb)[0, 1]) def consistency_check(x, z, y, threshold=0.05):    # 图中只有 X -> Z -> Y, 因此给定 Z 后 X 与 Y 应条件独立    pc = partial_corr(x, y, z)    return pc, abs(pc) < threshold def main():    for eta_u in (0.0, 0.9):        x, z, y = generate_data(eta_u)        pc, consistent = consistency_check(x, z, y)        print("eta_u=%.1f  partial_corr(X,Y|Z)=%+.3f  consistent=%s"              % (eta_u, pc, consistent)) if __name__ == "__main__":    main()
目的:模拟一个「已知 DAG 为 X→Z→Y」的场景,用偏相关系数检验「给定 Z 后 X 与 Y 条件独立」是否成立,从而判断图结构与模拟数据是否一致。
  1. def generate_data(eta_u, n=2000)用结构方程生成仿真数据,eta_u 控制隐藏混杂变量 U 对 Y 的影响强度。
  2. u = rng.normal(0, 1, n)构造未画入图中的隐藏混杂节点 U,它是数据一致性的「隐形杀手」。
  3. z = 0.7 * x + rng.normal(0, 1, n)按图中 X→Z 的因果方向生成中间节点 Z。
  4. y = 0.6 * z + eta_u * u + rng.normal(0, 1, n)Y 同时受图中 Z 和图中未出现的 U 影响,eta_u 越大结构越不一致。
  5. def partial_corr(a, b, c)先把 a、b 分别对 c 做线性回归取残差,再算残差相关系数,即为控制 c 后的偏相关。
  6. ra = resid(a, c)用最小二乘回归剥离 c 对 a 的线性影响,得到「净化后」的 a。
  7. pc = partial_corr(x, y, z)检验数据是否支持图中的条件独立断言。
  8. consistent = abs(pc) < 0.05偏相关绝对值小于阈值就认为条件独立成立,图与数据一致。

常见误区

误区我花了一周和领域专家画好了因果图,箭头都是专家确认过的,应该可以直接用于因果推断了吧?数据验证是统计学家的事情,跟图结构没关系。

正解专家的箭头是「假设」,数据是「证词」。图若与数据不一致,推断结果就是沙上建塔。最典型的反例是:专家坚信 A→B,数据却显示控制 C 后 A 与 B 条件独立,说明这条边或许根本不该存在。图必须接受条件独立性检验与分布拟合检验的双重审查。

为何常见:人脑擅长讲故事,不擅长验证故事。因果图看起来像「真理地图」,容易让人忘记它本质上仍是待检验的假设模型。

误区校验发现数据和图对不上,那肯定是数据有问题!把异常样本删掉,把缺失值填一填,再跑一遍不就一致了吗?

正解冲突既可能源于数据噪声,也可能源于图本身画错——遗漏变量、方向颠倒、多余箭头都会产生同样的信号。正确的流程是先做溯源:检查测量误差、核对时间顺序、试探性增删边,确认图结构无误后再动数据。否则你只是在用数据清洗掩盖结构错误。

为何常见:数据清洗是日常工作中更熟悉、更具掌控感的动作;而承认自己的因果图错了,需要专业判断与勇气。

误区X 和 Y 的相关系数高达 0.8,这肯定是因果关系,快在 X→Y 之间画上箭头。图就是用来描述相关关系的吧?

正解因果图描述的是「干预后的响应关系」,相关可能来自第三方的共同父节点(混杂)。如果 X 与 Y 只是同时受到 U 驱动,图中的 X→Y 边就是冗余甚至有害的。判断一条边是否该画,要看给定其他变量后条件独立是否仍不成立,而不是看边际相关。

为何常见:日常数据分析几乎都在看相关矩阵,这种习惯会让人本能地把「一起变化」脑补成「谁导致谁」。

误区我的图通过了无环检验,拓扑结构完全合法,所以图与数据肯定是一致的。

正解无环只是「合法」的最低要求,绝不等于「正确」。一张无环图可能遗漏了关键的混杂变量,可能在某条边上方向相反,也可能条件概率表与数据分布严重背离。一致性校验至少还要包含条件独立检验、KL 散度或偏相关分析等数据层面的验证。

为何常见:无环性可被快速检查且结果二值(有环/无环),给人「确定性」的错觉;而数据层面的验证是连续的、模糊的,容易被跳过。

面试题

Q1. 有向无环图 DAG 中的「D」代表什么?

单选题 · easy

  • A.数据
  • B.方向
  • C.有向← 正确答案
  • D.动态

答案:C。DAG 是 Directed Acyclic Graph 的缩写,「D」代表 Directed(有向),「A」代表 Acyclic(无环),「G」代表 Graph(图)。它强调每条边都有方向且整体不构成环,就像交通指挥图上每条道路都有固定单向方向。A「数据」和 D「动态」是无中生有,B「方向」是直译的误导项。

Q2. 因果图中两个变量之间没有边,最合理的解读是?

单选题 · easy

  • A.两者必然独立
  • B.无直接因果假设← 正确答案
  • C.两者必然相关
  • D.图结构定有误

答案:B。图中没有边表示「我们假设它们之间没有直接因果关系」,但并不排除通过其他路径产生间接关联,所以不能说「必然独立」。如果数据后续显示条件独立被破坏,再考虑补边。这道题考的是因果图作为「假设编码器」的性质。

Q3. 表示「在给定 Z 的条件下 X 与 Y 条件独立」的正确符号是?

单选题 · mid

  • A.X ⊥ Y | Z← 正确答案
  • B.X | Y ⊥ Z
  • C.X ⊥ Z | Y
  • D.Y ⊥ Z | X

答案:A。条件独立的符号规范是把独立符号放在两个变量之间,把条件变量写在竖线右侧,即 X ⊥ Y | Z。它表达「知道 Z 后,X 不再提供关于 Y 的信息」,对应图中路径被 Z 阻断。B、C、D 都错误地交换了变量与条件的次序,含义也随之改变。

Q4. 图中存在隐藏混杂 U 同时影响 X 和 Y,但图中未画 U 的边,则检验 X ⊥ Y | Z(Z 位于 X 与 Y 中间)时会出现什么?

单选题 · mid

  • A.一定会通过
  • B.偏相关接近零
  • C.条件独立不成立← 正确答案
  • D.图会变成有环

答案:C。U 同时影响 X 与 Y,相当于在 X 和 Y 之间打开了一条后门路径。即使控制中间变量 Z,X 仍会通过 U 与 Y 保持相关,条件独立性失效,偏相关明显偏离零。A 和 B 描述的是图中没有遗漏混杂时的结果,D 与无环性无关。

Q5. KL 散度在图与数据一致性检验中主要用来做什么?

单选题 · mid

  • A.比较两分布差异← 正确答案
  • B.计算相关程度
  • C.删除异常观测
  • D.增加样本数量

答案:A。KL 散度度量真实数据分布与图模型理论分布之间的距离,距离越小说明图与数据越一致。B 是相关分析的用途,C 是数据清洗的步骤,D 与样本量无关。记住核心:KL 散度是「分布之间的标尺」。

Q6. 数据与因果图不一致时,正确的处理思路是?

单选题 · mid

  • A.先校验图结构正误← 正确答案
  • B.立即删除冲突观测
  • C.忽略异常继续建模
  • D.直接修改箭头方向

答案:A。冲突可能来自图错也可能来自数据错。正确做法是先做溯源:检查是否存在遗漏变量、方向颠倒、时间错位,再验证数据质量。B 是「甩锅给数据」的常见毛病,D 是盲目改图,C 则让错误带病上线。

Q7. 后门调整公式 Σ_z P(Y | X, z) P(z) 的核心目的是?

单选题 · hard

  • A.消除混杂因素干扰← 正确答案
  • B.删除中间变量信息
  • C.增加模型参数数量
  • D.验证结构是否无环

答案:A。后门路径是「从 X 到 Y 但不经过 X 的直接后代」的旁路,典型就是混杂变量 Z 同时指向 X 与 Y。公式通过对 Z 分层并加权平均,切断后门路径,得到干净的因果效应。B 恰恰相反,公式没有删除 Z 而是利用 Z,C 和 D 与效应估计无关。

Q8. 因果图与数据不一致的可能来源有哪些?

多选题 · easy

  • A.遗漏关键混杂变量← 正确答案
  • B.观测数据含噪声误差← 正确答案
  • C.因果箭头方向画反← 正确答案
  • D.采集数据量足够大

答案:ABC。遗漏变量会打开虚假后门路径,测量误差让数据失真,方向画反直接推翻条件独立断言——三者都会导致图与数据冲突。数据量足够大不仅不会导致不一致,反而让检验更敏感、更容易发现不一致,因此 D 不应入选。

Q9. 哪些做法可用于验证因果图与数据的一致性?

多选题 · mid

  • A.检查图结构是否无环← 正确答案
  • B.检验条件独立关系← 正确答案
  • C.比较分布间 KL 散度← 正确答案
  • D.计算特征重要性值

答案:ABC。无环检查保证图结构合法,条件独立检验验证图断言是否被数据支持,KL 散度量化整体分布差距,三者是典型的一致性验证手段。特征重要性是预测模型的可解释工具,不检验图与数据的一致性,故 D 不选。

Q10. 关于 do 演算与因果效应,下列说法正确的是?

多选题 · hard

  • A.do(X) 表示人为干预 X← 正确答案
  • B.后门准则可消除混杂← 正确答案
  • C.观测关联等同因果效应
  • D.演算依赖图的准确性← 正确答案

答案:ABD。do(X) 模拟封路式干预,后门准则通过分层调整消除混杂,因果演算的每一步都以图结构为前提,因此 A、B、D 均正确。观测关联中常混入混杂偏差,只有在无混杂的特殊条件下才可能等于因果效应,C 是典型的相关即因果谬误,故不选。