市公安局刚成立了一个“AI 探员质检组”,组长是老刑警周建国。他的任务不是抓犯人,而是考核一批来应聘探员的 AI 模型——看它们到底有没有“因果脑”。老周说:“背案卷谁都会,我要考的是三件事:能不能画出嫌疑人的关系网,能不能做现场重现实验,能不能回答'假如当时'。”冰淇淋销量和溺水人数在夏天一起涨,小模型欢快地回答“冰淇淋导致溺水”,老周当场叹气:这是典型的“相关幻觉”。为了公平把关,他还得检查自己的考卷靠不靠谱,会不会误判人才。这套考核方案,就是 AI 因果推理评估的完整轮廓。

岗位关联

掌握因果推理评估,你就能分辨模型是“背答案”还是“真懂因果”,为 AI 能力量化提供一份可复现、可信赖的度量标尺。

目录
  1. 可视化演示
  2. 因果推理概述
  3. 因果图构建
  4. 干预效应预测
  5. 反事实推理
  6. 评测设计原则
  7. 基准数据集
  8. 评估指标校验
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示因果图构建、反事实推理与干预效应预测的评估过程,可视化因果推理能力的多维度评测指标。

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

因果图构建与干预分析 构建因果有向无环图标识变量间因果关系 干预操作do(X)观察下游变量效应变化 do(X=x) 因果图区分因果与统计关联

因果推理概述

老周的第一课,是给 AI 探员看一组“诡异现场”:夏天到了,街角冰淇淋店销量暴涨,同时游泳池溺水人数也涨了。他问:“冰淇淋导致溺水吗?”小模型立刻回答“是,因为两者同步上升”。老周叹气——这是典型的“相关幻觉”:两个变量一起涨,背后可能只是有一个共同推手(烈日)在同时驱动它们。

模型在训练数据里学到的绝大多数规律,是“X 出现时 Y 容易同时出现”,这叫条件概率 P(Y|X)。但因果要求的是“把 X 拧成某个值,Y 才跟着变”,这叫干预概率 P(Y|do(X))。中间那个搅局者,就是同时驱动原因和结果的混淆因子。因果推理评测的第一使命,就是把这两种能力拆开量一量:哪些模型只会“看相关性”,哪些模型真正理解“拧开关”。

从 AI 能力谱系看,因果推理属于高阶推理能力,与分类、生成、检索不在一个层级。评测目标因此非常明确:把“背下来的知识”和“面对新因果结构的推理”分开计分。老周在考核表上写下结论:会背“夏天冰淇淋涨”不算探员,能说出“烈日才是元凶、冰淇淋只是路人”才算摸到因果的门槛。

P(Y∣do(X))≠P(Y∣X)P(Y \mid do(X)) \neq P(Y \mid X)
这行不等式是“关联≠因果”的数学签名:左边是动手干预后的效应,右边是袖手旁观时的印象。
  1. X 与 Y 的位置X 表示候选原因变量,Y 表示结果变量,箭头方向从因到果。
    X→YX \rightarrow Y
  2. 干预记号 do(X)读作“手动把 X 设定为某个值”,模拟实验中的控制,而不是被动观察。
    do(X=x)do(X=x)
  3. 左侧的干预概率在“人为设定 X”的世界里 Y 的分布,这才是真正的因果效应。
    P(Y=y∣do(X=x))P(Y=y \mid do(X=x))
  4. 右侧的观察概率自然观测中“看到 X”时 Y 的情况,里面混着共同原因的杂质。
    P(Y=y∣X=x)P(Y=y \mid X=x)
  5. 不等号的意义两者一般不相等,混淆越强,差异越大,这正是评测要捕捉的信号。
    ≠\neq

因果图构建

老周破案的第一步永远是画嫌疑关系网:谁认识谁、谁有作案时间、谁和死者有恩怨,箭头指向谁。这张“带方向的网”,在因果推理里叫因果图。它规定只画“导致关系”,不画“伴随关系”,所以必须是没有环路的闭合结构——专业说法是有向无环图(DAG),可以理解为一张不允许自己指回自己的组织架构图。

因果图里,节点是变量(人、事件、属性),边是从原因指向结果的箭头。烈日→冰淇淋、烈日→溺水这两条边成立,但冰淇淋→溺水这条边不该画。有了这张图,模型才能判断:要切断哪条路,才能看清真正的效应;哪条路径只是“路过”,不构成因果。这就是“节点与边”的语义:边 = 直接因果,缺边 = 没有直接因果。

评测的第一类任务由此诞生:结构学习。给模型一堆观测数据,让它还原背后的因果图,再与标准图比对箭头方向和边的有无。谁能把方向画对,谁才算理解机制,而不是只会输出相关系数矩阵。因果图构建题,考的就是模型“从数据废墟里重建现场”的能力。

老周把 AI 画的图拿给两位老探长盲评:箭头方向全对的是优等生,画成“人人相连”的关系网的一律打回重画。没有方向的网只是关系图,不是因果图——这就是评测因果图构建任务时最朴素的判分逻辑。

P(V1,V2,⋯ ,Vn)=∏i=1nP(Vi∣Pa(Vi))P(V_1, V_2, \cdots, V_n) = \prod_{i=1}^{n} P(V_i \mid Pa(V_i))
因果图把复杂的联合分布“拆成骨架”:每个变量只需看它的直接父节点,这棵树搭对了,整张图才成立。
  1. 变量全体V₁ 到 Vₙ 是系统中所有变量的集合,对应关系网里的所有人事物。
    V1,V2,⋯ ,VnV_1, V_2, \cdots, V_n
  2. 父节点集合Pa(Vᵢ) 是因果图中直接指向 Vᵢ 的变量,相当于嫌疑人的“直接上线”。
    Pa(Vi)Pa(V_i)
  3. 连乘分解从因果金字塔顶端往下,每个变量只条件于它的父节点,再全部相乘。
    ∏i=1nP(Vi∣Pa(Vi))\prod_{i=1}^{n} P(V_i \mid Pa(V_i))
  4. 等号的含义联合分布被因果图拆成可计算的骨架,图对了公式就成立,图错了全盘皆输。
    P(V1,⋯ ,Vn)=∏i=1nP(Vi∣Pa(Vi))P(V_1, \cdots, V_n) = \prod_{i=1}^{n} P(V_i \mid Pa(V_i))

干预效应预测

老周的现场重现实验是这样的:把嫌疑人按不同脚本重新调度,这回让 A 提前到场、B 按兵不动,观察结果是否改变。这种“人为拧动原因”的操作就是干预,记作 do(X)。干预的本质是斩断其他变量对 X 的“指挥链”,让 X 只被实验者控制,就像老周亲自给嫌疑人下指令,而不是等他自己行动。

观察与干预的区别,在医疗场景里最扎眼。病人群里观察到“吃药的人康复率高”,但吃药的人本身病情更轻——病情轻重同时决定了吃药和康复,它就是混淆因子。只看条件概率 P(康复|吃药) 会严重高估药效。这就是“干预 vs 观察”的全部张力:观察世界里有太多假装因果的路径,干预世界才干净。

评测的干预效应预测题,考的就是模型能否算出“扣除混淆后的净效应”。标准解法是后门调整:把混淆因子 Z 分层,每层内部比较,再按 Z 的分布加权平均。相当于老周把病人按病情分成五个组,每组内部再比吃药和不吃药,最后按各组人数比例汇总。能对未知数据也给出接近真值的效应预测,模型才算通过了这一关。

老周给 AI 发了一个“双盲实验模拟器”,必须能按 Z 分层重算效应才给分。他说:探员不能只报告现场看到什么,要能回答重演一遍会发生什么——干预效应预测,就是给 AI 装上一台时间机器。

P(Y∣do(X=x))=∑zP(Y∣X=x,Z=z) P(Z=z)P(Y \mid do(X=x)) = \sum_{z} P(Y \mid X=x, Z=z) \, P(Z=z)
后门调整公式就是“分层再平均”的数学写法:把混淆因子 Z 控制住,X 到 Y 的效应就干净了。
  1. 干预目标把原因 X 固定为数值 x,这就是“人为拧开关”。
    do(X=x)do(X=x)
  2. 混淆集合Z 是同时影响 X 和 Y 的混淆因子集合,是后门路径上的“中间人”。
    Z=zZ=z
  3. 分层求和把样本按 Z 分层,每层求条件概率差,再按 Z 的分布加权汇总。
    ∑zP(Y∣X=x,Z=z)⋅P(Z=z)\sum_{z} P(Y \mid X=x, Z=z) \cdot P(Z=z)
  4. 等式含义调整后的结果排除了混淆,等于在干预世界里重复了一千次实验。
    P(Y∣do(X=x))=∑zP(Y∣X=x,Z=z) P(Z=z)P(Y \mid do(X=x)) = \sum_{z} P(Y \mid X=x, Z=z)\, P(Z=z)

反事实推理

老周最爱的问题是:“假如那晚你改走小路,命案还会发生吗?”现实里 X 取 x、Y 取 y 已经板上钉钉,反事实问的是:把 X 改成 x′,Y 会变成什么?这是平行世界里的推演——事实世界和假设世界同时存在,模型要一只脚踩在现实中,另一只脚踏进平行宇宙。

反事实比干预更进一步。干预是对“还没发生的事”做实验,反事实是对“已经发生的事”做假设。打个比方:干预是“明天我换条路走,会不会迟到”,反事实是“昨天我换了条路走,会不会逃过那场车祸”。后者需要模型牢牢记住既成事实作为约束,再去改写其中一个变量、重新推演全局。

评测的反事实题型包括:假如式问答(If only I had…)、后悔分析、故事结局改写。模型要在保持背景设定不变的前提下,只改动一个变量,重新给出新世界的结果。答对这类题,意味着模型能解耦“每个原因各自贡献了多少”,而不是把整条事件链囫囵吞下。

老周说,能回答“假如”的探员才让人放心——办案最怕的就是“当时如果……”。反事实评估,就是提前检验 AI 在真实世界里会不会有“后悔能力”,这也是人类因果智能最独特的部分。

P(YX=x′=y′∣X=x,Y=y)P(Y_{X=x'} = y' \mid X=x, Y=y)
反事实概率读作“给定事实 X=x、Y=y,假如把 X 改成 x′,Y 变成 y′ 的概率”。
  1. 事实条件已知现实世界中原因 X 取 x、结果 Y 取 y,这是不可更改的既定案情。
    X=x,  Y=yX=x, \; Y=y
  2. 改动后的值把原因改为另一个值 x′,这是平行世界里的“假如”。
    X=x′X=x'
  3. 新世界结果Y 加下标 X=x′,表示干预改动后的世界里 Y 的取值。
    YX=x′=y′Y_{X=x'} = y'
  4. 反事实概率给定事实,求假如世界出现某结果的概率,公式本身就在模拟“后悔”。
    P(YX=x′=y′∣X=x,Y=y)P(Y_{X=x'}=y' \mid X=x, Y=y)

评测设计原则

老周设计考卷有个铁律:一份好考卷不能只考一个点。因果推理评测的任务类型分三类:因果图构建、干预效应预测、反事实问答,分别对应“看清结构、算准效应、推演平行世界”。三类任务互为犄角:只会画图不会算效应,是纸上谈兵;只会算效应不会画图,是盲人摸象。

难度分层是第二原则。考卷从“概念识别”(判断哪条是因果边)到“机制理解”(解释为什么是因果)再到“反事实推演”(假如场景下的新结果),逐级爬坡。每个难度层只测一个能力维度,避免“答对了但不知道靠的是哪步推理”的模糊判分。可控性则是第三原则:用模板化生成器动态出题,同一套因果结构换上不同的背景人物,模型就无法靠背题过关。

评测总分采用加权设计:低难度层权重低,用来筛掉完全不会的;高难度层权重高,用来拉开顶尖模型的差距。加权评分让考卷的重心落在“真推理”上,而不是“刷基础题”上。老周的考卷分 A/B 卷动态生成,他说:探员要防的是死记硬背,考卷要防的是泄题——可控生成就是我的防泄密保险柜。

S=∑k=1Kwk⋅ak,∑k=1Kwk=1S = \sum_{k=1}^{K} w_{k} \cdot a_{k}, \qquad \sum_{k=1}^{K} w_{k} = 1
总分等于各难度层的正确率按权重加权求和:难度越高的题,权重越大,越能拉开真推理与背答案的差距。
  1. 难度层级数K 是难度分层的总数,通常三层起步,称为概念识别、机制理解、反事实推演。
    KK
  2. 各层正确率aₖ 表示第 k 层题目上的平均正确率,是模型在该层的能力快照。
    aka_k
  3. 层级权重wₖ 是第 k 层在总分中的权重,难度越高权重越大。
    wkw_k
  4. 加权求总总分等于各层正确率按权重加权求和,且所有权重之和为 1。
    S=∑k=1Kwk⋅ak,∑k=1Kwk=1S=\sum_{k=1}^{K} w_{k} \cdot a_{k}, \quad \sum_{k=1}^{K} w_{k} = 1

基准数据集

老周的题库来自两个保险柜。第一个柜子存真实历史卷宗:吸烟与肺癌的队列数据、药物与疗效的临床试验数据,这些是“真实因果数据”,外部有效性高,但因为伦理和成本无法无限扩充。第二个柜子存新编的虚构剧本:按已知因果图用程序生成的结构化数据,这就是“合成因果数据”,结构完全可控、想要多少有多少。两柜并用,才能既真实又全面。

数据选择策略的核心是覆盖:结构上要覆盖链式(A→B→C)、分叉(A→B、A→C)、对撞(B→C、A→C)等不同图形态;领域上要覆盖医学、电商、社会科学等多个场景。规模要求则体现在题量上——太少则统计噪声大,太多则成本失控。多样性保障让模型无法用“一招鲜”应付所有因果结构。

基准评测还要严防数据污染:大模型的训练语料很可能已经吞下了公开基准题。对策是“保持集”制度——把一部分新生成的题目锁在保险柜里,只在评测时取出,用完即弃,定期轮换。最终在保持集上报告准确率,同时附带标准误,让分数经得起复现检验。

老周把两个保险柜的钥匙分给不同的人保管:真实卷宗锁三年不换,虚构剧本天天更新。他说:“卷宗会泄密,剧本天天换,AI 探员想作弊没门。”基准数据集的攻防,本身就是评估科学的一部分。

Acc=TP+TNTP+TN+FP+FN\text{Acc} = \frac{\text{TP} + \text{TN}}{\text{TP} + \text{TN} + \text{FP} + \text{FN}}
准确率是基准数据集上的最终裁决公式,但它的前提是:题目没被偷看过,判分没被污染过。
  1. 真正例与真负例TP 是正确答案被答对的题数,TN 是错误答案被正确排除的题数。
    TP,  TNTP, \; TN
  2. 假例FP 是把错误答案判对的题数,FN 是把正确答案判错的题数。
    FP,  FNFP, \; FN
  3. 正确率所有判对题数除以总题数,得到模型在基准集上的单次表现。
    Acc=TP+TNTP+TN+FP+FN\text{Acc} = \frac{TP+TN}{TP+TN+FP+FN}

评估指标校验

卷子改完了,老周还要做最后一件事:检查改卷标准本身靠不靠谱。如果两位判卷老师一个手松一个手紧,分数就完全失去意义。评估指标的可信度问题由此而来——你用来衡量模型的尺子,自己先得被量一量。

可信度检验包含三个层次:第一,同一模型多次运行,分数波动大不大?如果波动超过几个百分点,说明评估受随机性支配。第二,随机猜测模型的基线分数是多少?优秀指标的基线应该接近“瞎蒙”,而不是接近满分。第三,人工抽样复核的标注与自动评分一致吗?这就要用科恩卡帕系数(Cohen's Kappa)来度量两位“裁判”扣除运气后的一致性。

标准化的评估流程应当固定:提示模板、随机种子、采样参数全部写入评测配置,多次运行取均值加减方差,并报告相对随机基线的提升量。这样任何实验室拿到同一套配置,都能复现同一份分数。老周让两位资深探长背靠背独立阅卷,Kappa 达到 0.86 才盖章发布:“分数先得自己经得起检验,才能拿去检验 AI。”

κ=po−pe1−pe\kappa = \frac{p_{o} - p_{e}}{1 - p_{e}}
卡帕系数回答一个问题:两位裁判的一致,有多少是“真默契”,多少是“纯撞运气”?
  1. 观察一致率pₒ 是两位裁判实际给分相同的比例,相当于“表面默契度”。
    pop_o
  2. 期望一致率pₑ 是两人纯靠运气也能碰出相同结论的概率,相当于“基础缘分”。
    pep_e
  3. 分母1 − pₑ 是扣除运气后人类一致性的最大可能空间。
    1−pe1-p_e
  4. 卡帕系数κ 是实际一致超出运气的部分,占最大空间的比值,越大越可信。
    κ=po−pe1−pe\kappa = \frac{p_o - p_e}{1-p_e}

AI 应用场景

大模型因果问答评测

阶段:模型评测与能力验收

解决的问题:传统评测只看答题准确率,无法区分模型靠记忆还是靠因果推理。反事实问答集配合动态生成题,能可复现地量化“真因果能力”,避免被背题分数欺骗。

具体案例:某大模型团队上线前,评估工程师构造了“假如把治疗剂量减半,康复概率会怎样变化”的反事实题集,发现模型答案与后门调整结果偏差超过 30%。据此定位到训练数据中的虚假相关,重新调整了微调数据配比。

广告投放增量效果测量

阶段:因果效应估计与实验替代

解决的问题:广告投放的“增量”被用户自然购买倾向混淆,朴素比较点击率会严重高估投放效果。需要按用户活跃度等混淆因子做分层调整。

具体案例:某电商平台用后门调整法,按用户活跃度分层计算投放带来的增量转化,再用小规模 A/B 测试验证模型预测的干预效应是否逼近真值,最终将无效投放预算削减了 18%。

学术基准的一致性校验

阶段:基准发布与验收

解决的问题:新发布的因果推理基准,人工标注与自动评分可能不一致,直接用分数排名会产生系统性偏差。需用 Kappa 系数校验标注一致性,并报告相对随机基线的提升。

具体案例:研究团队发布因果推理基准前,请两位标注者独立判分 500 道题,Kappa 为 0.82,随后又检测到自动评分器对长答案存在偏好,修正后才公开榜单。

Python 演示

python36 行
import numpy as npimport pandas as pd  def simulate_data(n=2000, seed=42):    """按因果图 Z->X, Z->Y, X->Y 生成观测数据"""    rng = np.random.default_rng(seed)    z = rng.normal(size=n)    x = (1.0 / (1.0 + np.exp(-(0.8 * z + 0.3))) > 0.5).astype(int)    y = 0.8 * x + 0.7 * z + rng.normal(size=n)    return pd.DataFrame({"z": z, "x": x, "y": y})  def naive_effect(df):    """朴素法: 直接比较 X=1 与 X=0 的 Y 均值之差"""    return df.loc[df.x == 1, "y"].mean() - df.loc[df.x == 0, "y"].mean()  def adjusted_effect(df):    """后门调整法: 按 Z 分层求加权平均"""    z_bins = pd.qcut(df.z, 5)    total = 0.0    for _, sub in df.groupby(z_bins, observed=True):        w = len(sub) / len(df)        total += w * (sub.loc[sub.x == 1, "y"].mean()                      - sub.loc[sub.x == 0, "y"].mean())    return total  if __name__ == "__main__":    df = simulate_data()    naive = naive_effect(df)    adj = adjusted_effect(df)    print("observation naive effect:", round(naive, 3))    print("backdoor adjusted effect:", round(adj, 3))    print("true causal effect: 0.8")
目的:演示因果评测的核心判据——同一个数据集上,朴素关联效应被混淆因子抬高,后门调整效应才逼近真实因果效应。运行后你会看到 naive 明显大于 0.8,而 adjusted 接近 0.8。
  1. x = (1.0 / (1.0 + np.exp(-(0.8 * z + 0.3))) > 0.5).astype(int)混淆因子 Z 通过 sigmoid 映射影响 X 的取值,让 Z 成为“同时推动 X 和 Y”的幕后黑手。
  2. y = 0.8 * x + 0.7 * z + rng.normal(size=n)X 对 Y 的真实因果效应只有 0.8,Z 还额外贡献 0.7,为混淆埋下伏笔。
  3. def naive_effect(df):朴素法函数:不控制任何变量,直接把两组均值相减。
  4. return df.loc[df.x == 1, "y"].mean() - df.loc[df.x == 0, "y"].mean()只取 X=1 组的 Y 均值去减 X=0 组,Z 的干扰混在里面。
  5. z_bins = pd.qcut(df.z, 5)把 Z 切成 5 个分箱,近似实现“按层控制混淆因子”。
  6. for _, sub in df.groupby(z_bins, observed=True):在每个 Z 分层内,分别比较 X=1 与 X=0 的 Y 均值差。
  7. w = len(sub) / len(df)每层样本占比作为权重,等价于公式里的 P(Z=z)。
  8. total += w * (sub.loc[sub.x == 1, "y"].mean()层层加权求和,这就是后门调整的完整计算。
  9. print("observation naive effect:", round(naive, 3))输出对比:naive 虚高,adjusted 逼近真实因果效应 0.8。

常见误区

误区我看到冰淇淋销量和溺水人数在夏天一起涨,就说明冰淇淋导致溺水。模型在相关性任务上得分高,我就认为它懂因果。

正解同时上升可能只是共同原因在背后驱动。烈日同时推高冰淇淋销量和溺水风险,两者之间没有箭头。因果评估专门用干预题和反问题戳穿这类幻觉:真正懂因果的模型,在 P(Y|do(X)) 的考察下依然站得住,而不是只会复述“一起涨”。

为何常见:人类大脑天然爱把“先后”和“伴随”脑补成“因为所以”,这是进化留下的认知捷径,也是模型靠相关性拟合数据时的惯技。

误区把 X 固定住看 Y 的分布,那 P(Y|do(X)) 不就是 P(Y|X) 吗?做个条件概率筛选不就行了?

正解条件化只是“挑选”数据里已有的 X 组,并没有切断 Z→X 的路径;do(X) 要求所有混淆层级均匀摊平后再看效应。辛普森悖论就是经典反例:合并数据时一种结论,分层后完全相反。评测题专门设计这种陷阱来区分两类模型。

为何常见:两者都是“拿住 X 看 Y”,数学记号长得像,而训练数据里根本没有 do 符号,模型默认学到的全是条件概率。

误区把所有两两相关的变量连上线,再标上箭头方向,不就是因果图吗?相关矩阵一算,图就画出来了。

正解相关只刻画共变,方向可能完全画反。因果图的边必须由干预实验或结构学习算法来确定方向。老周画关系网靠的是动机链和时间线,不是“谁和谁常碰面”。评测时,反向边、多余边、缺失边都会被分别扣分。

为何常见:相关矩阵几行代码就能算,因果图需要额外假设和验证,初学者容易用热力图脑补箭头方向。

误区模型在反事实题上答对了,分数高,就算通过了因果评估。最终结论以准确率一锤定音。

正解答案对可能是记忆污染——训练语料里见过相似题。评估要构造“没见过的新因果结构”,还要用 Kappa 系数校验评分者一致性,并报告多次运行的方差。老周从不只看结论,还要听探员讲推理路径,路径不通,答案作废。

为何常见:准确率最直观,媒体也爱报大模型的榜单分数,人很容易高估单次分数背后的事实基础。

面试题

Q1. 因果推理评测主要考察 AI 模型哪两项核心能力?

单选题 · easy

  • A.识别因果关系与反事实推理← 正确答案
  • B.图像分类与目标检测识别
  • C.文本翻译与语音合成生成
  • D.数据压缩与哈希检索优化

答案:A。老周的考卷不考背诵,专考识别因果关系和反事实推演,这两项分别对应“看清结构”与“推演平行世界”;图像分类、文本翻译属于感知与生成能力范畴,不在因果评估维度内。

Q2. 关于 P(Y|do(X)) 与 P(Y|X),下列说法正确的是?

单选题 · mid

  • A.两者在观测数据中总相等
  • B.两者在关联数据中恒不相等
  • C.干预效应一般不等于条件概率← 正确答案
  • D.条件概率就是因果效应的量度

答案:C。do 是“拧开关”的干预,P(Y|do(X)) 与 P(Y|X) 在存在混淆时一般不相等,只在无混淆的巧合下才相等,所以 A、B 的“总相等/恒不相等”都太绝对,D 把观察和干预混为一谈。

Q3. “冰淇淋销量与溺水人数在夏天同步上升”体现的统计现象是?

单选题 · easy

  • A.真实因果效应
  • B.虚假相关现象← 正确答案
  • C.干预后的直接效应
  • D.反事实下的新结果

答案:B。烈日同时推高冰淇淋销量和溺水人数,两者只是共同原因驱动下的虚假相关;真正的因果需要干预实验确认,单靠同步上升不能下结论。

Q4. 在因果图评测中,混淆因子 Z 的核心特征是什么?

单选题 · mid

  • A.仅影响原因变量不受结果影响
  • B.仅影响结果变量不受原因影响
  • C.同时影响原因变量与结果变量← 正确答案
  • D.与所有变量都有直接的相连边

答案:C。混淆因子必须同时影响原因 X 和结果 Y,才会在 X 与 Y 之间打开一条后门路径;只影响一边不构成混淆,而 D 的“与所有变量相连”既不是必要条件也不是充分条件。

Q5. 后门调整公式 P(Y|do(X))=Σ_zP(Y|X,Z)P(Z) 的实质作用是?

单选题 · hard

  • A.增加样本量提升统计功效
  • B.消除混淆路径还原因果效应← 正确答案
  • C.将干预变量离散化为分组
  • D.提升模型的梯度收敛速度

答案:B。后门调整把混淆因子 Z 分层加权平均,等价于切断 Z→X 的后门路径,从而还原 X 对 Y 的净因果效应;它不增加样本、不做离散化、更不参与梯度训练。

Q6. 反事实推理题“假如当年没有吸烟,肺癌还会发生吗”属于?

单选题 · mid

  • A.描述统计学的概括
  • B.干预效应的外推预测
  • C.平行世界假设下的推演← 正确答案
  • D.监督学习的分类任务

答案:C。反事实是“已知事实 + 平行假设”的推演:现实里吸了烟、得了肺癌,现在把吸烟改成不吸烟,重推新世界的结果;它既不是描述统计,也不是简单的干预外推或分类任务。

Q7. 构建因果推理基准数据集时最需警惕的问题是?

单选题 · mid

  • A.题目中文字符的数量不足
  • B.训练语料对题目的污染泄露← 正确答案
  • C.合成数据生成成本过高
  • D.题目难度层级划分过细

答案:B。大模型训练语料若已包含公开基准题,分数会被污染虚高,评测失去意义;字数量、生成成本、难度层级都是次要问题,防污染才是基准设计的生命线。

Q8. 校验评估指标可信度常用的系数是?

单选题 · easy

  • A.皮尔逊相关系数
  • B.科恩卡帕一致性系数← 正确答案
  • C.信息熵增益的比率
  • D.TF-IDF 的权重值

答案:B。科恩卡帕扣除运气因素来评估两位裁判的给分一致性;皮尔逊相关度量线性关联、信息熵度量不确定性,两者都不度量判分一致性,TF-IDF 更是文本权重工具。

Q9. 因果推理评测的任务类型通常包含哪些?

多选题 · mid

  • A.构建因果图与结构识别← 正确答案
  • B.干预效应数值预测← 正确答案
  • C.反事实假如式问答← 正确答案
  • D.图文检索匹配排序

答案:ABC。三类任务分别对应“看清结构(图构建)、算准效应(干预预测)、推演平行世界(反事实问答)”,三者互为犄角;图文检索属于多模态检索任务,不在因果评测维度内。

Q10. 关于因果评估指标可信度问题,正确的说法有?

多选题 · extreme

  • A.指标需对随机猜测有区分度← 正确答案
  • B.需多次运行并报告方差波动← 正确答案
  • C.需人工复核抽样校验答案← 正确答案
  • D.指标数值越大模型必然越好

答案:ABC。可信指标应让随机猜测接近基线而非高分,多次运行需报告均值与方差,人工抽样复核可校验自动评分;指标数值大未必可信,可能来自数据污染或评分偏差,D 是常见误区。