城市尽头有一家不起眼的照相馆,老板有一台神奇的“如果相机”。客人拍一张证件照,相机还会吐出一张平行宇宙里的照片:如果当年选了理科而不是文科,人生会怎样?如果换一个出生背景,现在会在哪家公司上班?照片不一定更美,但一定严格按店里的那张“命运路线图”重算。如今,AI 公司也悄悄用起了这种相机——把镜头对准贷款审批、简历筛选、急诊分诊。当一个人被算法拒绝时,我们最想问的是:如果 ta 的性别、肤色或出身变了,算法还会给出同样的答案吗?这个问题,就是反事实公平。接下来,我们一起拆开相机:看命运路线图(因果图)、拧改写旋钮(干预)、洗平行宇宙照片(反事实预测),最后学会用这套手艺给 AI 做公平体检。

岗位关联

学懂反事实公平,你就拥有了一套从“相关”穿透到“因果”的思维工具,能在模型上线前发现并修复隐蔽的算法歧视,成为可信 AI 时代稀缺的审计型人才。

目录
  1. 可视化演示
  2. 公平性基础
  3. 因果图模型
  4. 反事实推理
  5. 反事实公平定义
  6. 因果公平方法
  7. 案例应用实践
  8. 挑战与边界
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示结构因果模型DAG与反事实推理、公平性指标对比及路径专属公平与解决变量,支持三模式切换。

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

结构因果模型与反事实推理 敏感属性A:性别/种族等受保护变量 中介变量E:教育等解决变量 结果Y:模型预测输出 CF: P(Ŷ(A)=Ŷ(A\')) = 1 翻转敏感属性后预测不变则满足反事实公平

公平性基础

照相馆门廊上并排挂着三块木牌。第一块写着“统计公平”:男宾女宾的满意率一样,就是公平;第二块写着“个体公平”:两个模样相似的客人,出片效果一样,就是公平。老板摇摇头,敲了敲第三块空木牌:“前两块的毛病,在于它们都在比‘两个不同的人’。可人和人哪能一样?真正该问的是——同一个客人,如果从头再活一次,只是换了个出生时的‘出厂设定’,照片还会是同一张吗?”

“统计公平”在文献里叫 demographic parity,它要求不同受保护组获得正向结果(比如“通过面试”)的概率相等:“个体公平”则要求足够相似的个体得到足够相似的预测。设 $\hat Y$ 为模型输出(1 表示通过),$A$ 为受保护属性(出厂设定),统计公平写成:

这两类公平标准有一个共同软肋:它们只在“相关层”打转。比如某招聘数据里 A 组通过率低,可能根本不是 A 引起的,而是 A 与某个隐藏因素只是碰巧相关。统计公平要么把虚假相关错当成罪证,要么把合理的组间差异一并抹平。反事实公平换了一个更狠的提问方式——不去比“两组人平均下来是否一样”,而是问“让同一个人穿越到另一个出厂设定,预测会不会变”。这个视角从“比较人”转向“比较同一个人的平行版本”,才算摸到了“歧视”的因果本质。于是老板摘下前两块牌子,在第三块空牌上刻下:“即便改写出厂设定,评分台上的你也纹丝不动。”这台“如果相机”从此有了正式名字——反事实公平。

P(Y^=1∣A=a)=P(Y^=1∣A=a′)\displaystyle P(\hat{Y}=1\mid A=a)=P(\hat{Y}=1\mid A=a')
  1. 左边条件概率这是“出厂设定”为 a 的那一组人,被预测为正例的比例,相当于统计公平要盯着的第一道目光。
    P(Y^=1∣A=a)P(\hat{Y}=1\mid A=a)
  2. 右边条件概率换到“出厂设定”为 a' 的对照组,做完全相同的统计。
    P(Y^=1∣A=a′)P(\hat{Y}=1\mid A=a')
  3. 差值判公平两个概率的绝对差,就是“结果层面的不公平缝隙”,缝隙超过容差即视为未过线。
    Δ=∣P(Y^=1∣A=a)−P(Y^=1∣A=a′)∣\Delta=\left|P(\hat{Y}=1\mid A=a)-P(\hat{Y}=1\mid A=a')\right|

因果图模型

想要拍出靠谱的平行宇宙照片,相机里得先有一张“命运路线图”。这张图由圆圈和箭头组成:每个圆圈是一个人生变量,比如“出生地”“学历”“收入”;每条箭头表示“前者直接推动后者”,比如“学历→收入”。箭头不许回头——你不能让“收入”反过来决定“学历”,否则命运就成死循环了。这种图学名叫“有向无环图”,缩写 DAG。

图中的直接依赖关系用“父节点、子节点”描述,箭头连成的通道叫“因果路径”。真正让公平问题变得棘手的,是一种叫“混淆因子”的变量:它是多个变量的共同祖先,比如“成长环境”既影响一个人的群体归属,又影响他的收入。于是 A 与 Y 之间的相关,有一部分根本不是 A 的功劳,而是从共同祖先那里偷来的“后门路径”。要算出 A 对 Y 纯粹的因果效应,需要把后门路径上的混淆因子 Z 控制住:

这张“命运路线图”被老板挂在相机心脏的位置,旁边贴着一张便条:“图错一寸,照片假一尺。”因果图不是相关图,每一根箭头的方向都代表一个“拧一下会发生什么”的结构性断言。如果混淆因子漏画了,所谓平行宇宙只是另一个相关幻觉。

P(Y=y∣do(A=a))=∑zP(Y=y∣A=a,Z=z) P(Z=z)\displaystyle P(Y=y\mid \mathrm{do}(A=a))=\sum_{z}P(Y=y\mid A=a,Z=z)\,P(Z=z)
  1. do 算子登场把“拧旋钮”写成数学符号。do(A=a) 表示强行把 A 设为 a,并剪断所有指向 A 的箭头,只保留 A 向外的因果推挤。
    do(A=a)\mathrm{do}(A=a)
  2. 逐层计算在混淆因子 Z 的每一层取值里,统计“A=a 时 Y=y”出现的概率,把 Z 暂时关起来再说话。
    P(Y=y∣A=a,Z=z)P(Y=y\mid A=a,Z=z)
  3. 按权重求和把每一层的结果乘以该层在总体中的占比并累加,消除后门路径的污染,剩下的才是纯因果影响。
    ∑zP(Y=y∣A=a,Z=z) P(Z=z)\sum_{z}P(Y=y\mid A=a,Z=z)\,P(Z=z)

反事实推理

有了命运路线图,老板就可以拍摄平行宇宙照片了,操作分三步。第一步,把“出厂设定”A 从现实值 a 拧成目标值 a';第二步,把 A 以外的前代变量(比如天赋、努力)原封不动地锁住;第三步,沿着路线图让被锁住的变量一路重算下去,得到新的照片。这张照片回答的是:“如果唯一的变动是 A,世界会有什么不同?”

在因果推理里,拧旋钮叫“干预”,写作 do(A=a)。它和“观察到 A=a”(也就是给定 A=a)有本质区别:do 会切断指向 A 的箭头,观察则任由原因流向 A。“看到一个人吸烟”和“强迫这个人吸烟”,对身体的因果含义完全不同。只有 do 带来的变化,才能归因于 A 自身。统计学家用“潜在结果”来刻画这种平行宇宙:对某个个体 U,把 A 强行设为 a 后 Y 的取值记作:

老板把洗出来的两版照片并排贴在展示墙上,一张叫“现实版”,一张叫“改写版”。他常说:“相机不预测未来,它只回答‘如果’。而公平,恰恰就藏在‘如果’这两个字里。”

YA←a(U)\displaystyle Y_{A\leftarrow a}(U)
  1. 下标记录改写Y 的下标 A←a 表示“在因果图上把 A 强行为 a”,U 代表这个个体身上所有不变的前因,相当于平行宇宙重算时被锁住的那部分。
    YA←a(U)Y_{A\leftarrow a}(U)
  2. 对照改写版本同样的 U,把 A 改为 a',得到另一个潜在结果——这就是照片的第二版“改写版”。
    YA←a′(U)Y_{A\leftarrow a'}(U)
  3. 相减判定因果同一人的两个版本相减。差为零,说明 A 对 Y 没有因果作用;差非零,说明 A 确实在拨动结果。
    YA←a(U)−YA←a′(U)=0Y_{A\leftarrow a}(U)-Y_{A\leftarrow a'}(U)=0

反事实公平定义

现在把镜头对准 AI 本身。假设贷款申请人 Alice 被模型拒绝,我们想知道拒绝是否公平。传统做法是查模型里有没有性别字段——没有就算清白。老板摇头:“菜盘上没放辣椒,不代表汤里没有辣椒油。”Alice 的居住地、消费习惯、职业年限,都可能是她出厂设定的间接产物。真正的检查方式是:把 Alice 的出厂设定从 a 改成 a',其他一切可观测的 X 和不变的 U 统统锁死,看模型还会不会给出同样的拒绝。这就是反事实公平的标准定义。用公式写出来是:

这个定义的力量很大:它不允许预测分布直接依赖 A,也不允许依赖任何携带 A 影响的中间变量。常见的落地技巧,是把可行特征限制在“A 的非后代”里,用隐藏能力 H 这类变量取代学历等可见特征。换句话说,反事实公平不是让模型“假装看不见 A”,而是让 A 的影响在因果结构上根本到不了预测。老板给相机定下验收标准:把两张并排照片放上评分台,台面必须严格水平——只要改写版与现实版的高度差出一个像素,就从零开始检查命运路线图。

P(Y^A←a=y∣X=x,A=a)=P(Y^A←a′=y∣X=x,A=a)\displaystyle P(\hat{Y}_{A\leftarrow a}=y\mid X=x,A=a)=P(\hat{Y}_{A\leftarrow a'}=y\mid X=x,A=a)
  1. 现实世界预言左边固定了“现实的这个人”(X=x,A=a),再问“如果 A 保持 a 不变,预测会是什么分布”——这其实就是模型对 Alice 的常规预测。
    P(Y^A←a=y∣X=x,A=a)P(\hat{Y}_{A\leftarrow a}=y\mid X=x,A=a)
  2. 平行宇宙预言右边把同一个人的出厂设定改写为 a',观察特征仍锁定为 x,重新问预测会怎样;这一支依赖因果图对 A 的后代逐一重算。
    P(Y^A←a′=y∣X=x,A=a)P(\hat{Y}_{A\leftarrow a'}=y\mid X=x,A=a)
  3. 分布相等才公平对任意个体、任意 y 值,左右两式都必须相等。只要有一个人的“改写版”预测变了,模型就违反了反事实公平。
    P(Y^A←a=y∣X=x,A=a)=P(Y^A←a′=y∣X=x,A=a)P(\hat{Y}_{A\leftarrow a}=y\mid X=x,A=a)=P(\hat{Y}_{A\leftarrow a'}=y\mid X=x,A=a)

因果公平方法

光说“不公平”不够,审计师还要回答“歧视从哪条路进来的”。出厂设定 A 影响预测 Y 有两条路:一条是直达车,A 直接改变 Y,这叫“直接效应”;另一条是转乘线,A 先改变中介 M(比如居住地、婚育状态),再由 M 改变 Y,这叫“间接效应”。这种按路径拆开测量效应的手段,就是路径特定效应分析。因果推理把两段路程写成总效应分解:

有了路径分解,修复就有了靶子。若间接效应过大,说明歧视在借中间变量渗透,应切断 A→M 的影响再重新训练;若直接效应过大,说明模型在赤裸裸地使用受保护属性,必须重设计特征。这个“按路径做手术”的过程,就是公平优化。老板修相机时最得意的一件事:不用把整台机器砸了,只要拿镊子夹住命运路线图上那根发红的线,轻轻剪断,平行宇宙的高度差立刻归零。

TE=E[Ya−Ya′]\displaystyle \mathrm{TE}=E[Y_{a}-Y_{a'}]
TE=NDE+NIE\displaystyle \mathrm{TE}=\mathrm{NDE}+\mathrm{NIE}
  1. 总效应定义TE 是 A 从 a' 整体换成 a 时,Y 在总体上的平均变化,包含所有路径贡献的总和。
    TE=E[Ya−Ya′]\mathrm{TE}=E[Y_{a}-Y_{a'}]
  2. 自然直接效应 NDE把中介 M 固定在“a' 世界”的水平,只让 A→Y 的直达路径生效,量出直达车的贡献。
    NDE=E[Ya,Ma′−Ya′,Ma′]\mathrm{NDE}=E[Y_{a,M_{a'}}-Y_{a',M_{a'}}]
  3. 自然间接效应 NIE让 A 先变到 a,再沿 A→M→Y 的转乘线把影响传下去,量出中介环节的贡献。
    NIE=E[Ya,Ma−Ya,Ma′]\mathrm{NIE}=E[Y_{a,M_{a}}-Y_{a,M_{a'}}]
  4. 合起来校验直达车与转乘线的贡献相加必须等于总效应,数学上保证“拆路”没有遗漏。
    TE=NDE+NIE\mathrm{TE}=\mathrm{NDE}+\mathrm{NIE}

案例应用实践

照相馆的生意越做越大,开始接企业级“公平体检”订单。审计流程固定为五步:第一步,与业务方共建命运路线图,把受保护属性、可见特征、隐藏变量摆上桌面;第二步,检查数据里哪些特征其实是 A 的后代;第三步,训练或挑选一个只用非后代特征的候选模型;第四步,做反事实推断,对每个样本生成改写版预测;第五步,输出公平报告。

一家招聘平台的简历筛选模型曾被查出“性别→居住地址→入围分”的间接歧视——因为公司附近的老住户多为男性,男性求职者“住得近”的信号天然更多。反事实审计把性别从“女”改写为“男”,同一位候选人的入围分平均提高了 12 分。证据落地后,团队切断“居住地址→入围”路径并用非后代特征重训,差距从 12 分回落到 0.3 分。银行信贷也采用同一套方法:对每个被拒客户固定收入流水,把婚姻状态改写,违约分跳变超过阈值的申请全部转入人工复核。具体到代码,反事实预测可以按下式生成:固定隐藏能力 H,改写 A 后重算可见特征:

老板把每一份体检报告都装帧成册,首页印着那句话:“我们不是保证模型没有偏见,而是保证你亲眼看过另一个宇宙里同一个人的结局。”

Xcf=0.8H+0.7a′\displaystyle X_{\mathrm{cf}}=0.8H+0.7a'
  1. 固定隐藏能力H 是天赋、努力这类不受 A 影响的潜在变量,平行宇宙重算时被牢牢锁住。
    H=0.6H=0.6
  2. 重算可见特征沿着结构方程把 A 换成 a',算出新的可见特征 X_cf——这是“改写版照片”里的可见部分。
    Xcf=0.8H+0.7a′X_{\mathrm{cf}}=0.8H+0.7a'
  3. 群体平均差值对每个样本求出两个宇宙预测的绝对差再求平均,得到审计报告上的“公平缝隙”数字。
    Gap=1n∑i=1n∣f(Xcf(i),a′)−f(Xcf(i),a)∣\mathrm{Gap}=\frac{1}{n}\sum_{i=1}^{n}\left|f(X_{\mathrm{cf}}^{(i)},a')-f(X_{\mathrm{cf}}^{(i)},a)\right|

挑战与边界

如果相机有时也会说谎,那一定发生在三个环节:第一,命运路线图画错,遗漏了某个共同祖先;第二,隐藏变量根本测不到,只能靠假设;第三,“公平”是不是该牺牲一点“效率”——这是价值观问题,不是数学问题。反事实公平最受欢迎的一条实用结论是:预测器想满足定义,输入特征必须与 A 的“辐射范围”完全绝缘:

可“非后代特征”常常包含未观测变量,完全依赖数据观测并不现实。行业标准做法是敏感性分析:把隐藏混淆的强度假设成一个区间,看公平结论在最大扰动下是否依然成立,就像老板调相机的“宽容度旋钮”。数值再大,数据再多,都替代不了未观测变量本身。老板在相机底座上刻了一行小字:“我不是神谕,我只是一张更诚实的地图。地图外的世界,请保持怀疑。”

Y^=f(Xnd),Xnd∩DescG(A)=∅\displaystyle \hat{Y}=f(X_{\mathrm{nd}}),\quad X_{\mathrm{nd}}\cap \mathrm{Desc}_{\mathcal{G}}(A)=\varnothing
  1. 非后代特征集合X_nd 是因果图上所有不受 A 影响的变量,它们与 A 之间没有任何箭头下行的通道。
    XndX_{\mathrm{nd}}
  2. 后代集合定义Desc_G(A) 收集 A 的所有直接与间接影响到的变量,也就是“出厂设定的辐射范围”。
    DescG(A)\mathrm{Desc}_{\mathcal{G}}(A)
  3. 交集为空约束两集合不能有交集。数学翻译过来就是:A 的辐射不得进入预测函数的视线。
    Xnd∩DescG(A)=∅X_{\mathrm{nd}}\cap \mathrm{Desc}_{\mathcal{G}}(A)=\varnothing

AI 应用场景

场景 1:招聘平台的“隐藏中介”审计

阶段:模型评估与公平性审计

解决的问题:招聘筛选用“简历文本 + 居住地址”预测入围分,女性候选人入围率明显偏低。传统审查只查模型里有没有性别字段,结论是“干净”;但反事实审计发现,“居住地址”是性别差异的间接通道——历史招聘偏好让老住户多为男性,男性求职者“住得近”的信号天然更多。传统方法看不到这条 A→M→Y 的转乘线路。

具体案例:数据团队对每份简历做改写实验:把候选人性别从“女”改写为“男”,其他特征按因果图重算,入围分平均跳升 12 分。锁定“居住地址”中介路径后,改用非后代特征重训模型,跨宇宙分数差回落到 0.3 分,录用率恢复均衡。

场景 2:银行信贷的合规“平行宇宙实验”

阶段:模型上线前合规评估与上线后监测

解决的问题:授信模型若依赖“婚姻状态”“自有住房”这类 A 的后代特征,会触碰信贷公平监管红线。传统方法无法回答“同一个被拒客户,若出厂设定不同,结果是否相同”,反事实公平恰好给出逐个体的答案。

具体案例:某风控团队把每个被拒申请人的“婚姻状态”改写后重算违约分,发现 3.2% 的客户分数跳变超过阈值,这些案件全部转入人工复核;同时用路径特定效应定位到“婚姻状态→收入稳定性→授信”的间接通道,替换特征后差异降到监管允许范围。

场景 3:医疗分诊的“疼痛评分”偏差诊断

阶段:模型诊断与特征工程改进

解决的问题:急诊分诊模型使用患者自报“疼痛评分”作为关键特征,但该评分受性别刻板印象干扰,本质上是被保护属性影响过的间接后代特征。

具体案例:研究团队构建“性别→疼痛自评→分诊优先级”的因果图,做反事实改写后发现,同一位患者被判定为“紧急”的概率随性别改写明显变化;将特征替换为客观病理指标后,改写实验不再产生差异,分诊准确率反而提升。

Python 演示

python57 行
import numpy as np  def simulate(n=5000, seed=42):    """Generate data from a simple causal model.     H: hidden qualification (latent variable, non-descendant of A)    A: protected attribute, e.g. gender coding 0/1    X: visible feature, a descendant of A, e.g. address score    """    rng = np.random.RandomState(seed)    H = rng.normal(0, 1, n)    A = 0.3 * H + rng.normal(0, 0.5, n)    X = 0.8 * H + 0.7 * A + rng.normal(0, 0.5, n)    return H, A, X  def pred_use_A(X, A):    """Predictor that illegally uses the protected attribute."""    return 1.5 * X + 2.0 * A  def pred_use_X(X, A):    """Predictor that only uses the descendant feature X."""    return 1.5 * X  def pred_use_H(H, A):    """Fair predictor that only uses the non-descendant latent H."""    return 1.5 * H  def counterfactual_X(H, A_new):    """Feature X under do(A=A_new), with H held fixed."""    return 0.8 * H + 0.7 * A_new  def audit(threshold=0.05, n=5000, seed=42):    H, A, X = simulate(n, seed)    ones = np.ones(n)    zeros = np.zeros(n)    # candidate predictors: use A / use X / use H    candidates = [        ("use protected A", pred_use_A, counterfactual_X),        ("use descendant X", pred_use_X, counterfactual_X),        ("use latent H", pred_use_H, lambda H_, a: H_),    ]    for name, model, feat_fn in candidates:        pred_0 = model(feat_fn(H, 0.0), zeros)        pred_1 = model(feat_fn(H, 1.0), ones)        gap = np.abs(pred_1 - pred_0).mean()        verdict = "fair" if gap <= threshold else "UNFAIR"        print("%-22s gap=%.4f -> %s" % (name, gap, verdict))  if __name__ == "__main__":    audit()
目的:用结构方程模拟“隐藏能力 H、受保护属性 A、后代特征 X”三个变量,对三种预测器做反事实公平审计,输出每条模型的“跨宇宙”预测缝隙并给出判定。
  1. A = 0.3 * H + rng.normal(0, 0.5, n)受保护属性 A 与隐藏能力 H 同源,H 是两者的共同祖先(混淆因子)。
  2. X = 0.8 * H + 0.7 * A + rng.normal(0, 0.5, n)可见特征 X 被 A 直接影响,所以 X 是 A 的“后代特征”。
  3. return 1.5 * X + 2.0 * A这个预测器直接把出厂设定 A 写进公式,是赤裸裸的歧视路径。
  4. def counterfactual_X(H, A_new)平行宇宙重算函数:锁住 H,只改写 A。
  5. return 0.8 * H + 0.7 * A_new按结构方程重算 A 改写后的特征 X,等价于给模型喂“改写版照片”。
  6. pred_0 = model(feat_fn(H, 0.0), zeros)生成 A=0 世界的预测分布。
  7. gap = np.abs(pred_1 - pred_0).mean()两个宇宙预测差的平均幅度,即公平缝隙。
  8. lambda H_, a: H_公平模型的“特征提取器”:直接把非后代变量 H 端给预测函数,绕开所有 A 的辐射。

常见误区

误区很多人写代码前先做一步“脱敏”:把性别、民族这些字段从训练集里删掉,然后松了一口气说“模型里没有歧视变量了,肯定公平”。可上线后歧视照样出现,让人百思不解。

正解受保护属性会通过它的“后代”把自己的影响传给预测结果。删掉 A 本身,但保留居住地、消费习惯等 A 的后代特征,就像撕掉了“出厂标签”,可标签粘过的胶痕还在传导影响。反事实公平要求的是把 A 的整条因果辐射都隔离掉,而不仅仅是移走 A 这一个字段。

为何常见:直觉上“看不见等于不存在”,但机器学习最擅长从相关特征中重组出受保护属性的影子。删除字段后留下的代理变量,恰是隐蔽歧视最常见的老巢。

误区“只要两组人的录取率、通过率一样,就说明我们的算法是公平的。”这是很多团队给领导汇报时最爱用的一句话。

正解统计公平只约束群体层面的结果比例,反事实公平约束的是个体层面的因果不变性。两个标准可以相互矛盾:录用率完全一致,但模型却因为 A 让两个实力相同的人得到截然不同的命运。老板的话是:“平均水位一样高,不代表每艘船的吃水线都公平。”

为何常见:群体统计量容易计算、便于汇报,而个体因果判断需要建模假设和计算成本,人们本能地选简单的标准来交差。

误区有人拿数据算个相关性热力图,再把相关系数高的变量之间随便连几条箭头,就宣称“我们建好了因果图”,开始跑反事实公平。

正解因果图的每条箭头都代表“干预前者,后者会变”的结构性断言,方向画反,do 算子算出来的就是假因果。相关只是“同时出现的概率”,因果是“拧一下旋钮会发生什么”。相关图可以自动算,因果图必须结合领域知识手工审定。

为何常见:从数据中学习相关性有现成工具,而因果结构需要行业经验与专家访谈,偷懒的人会把省下的功夫变成审计报告里的地雷。

误区“报告上写着‘已通过反事实公平审计’,以后谁再说我们歧视,就拿报告怼回去。”不少团队把审计证书当成永久免检金牌。

正解反事实公平完全建立在因果图假设之上。图里漏了混淆因子,审计就成了“带着错误地图找路”。业务环境在变,数据分布在漂移,今天的因果结构明天可能失效。正确的做法是用敏感性分析检验结论稳健性,并定期重新审计,而不是把“审计通过”奉为神谕。

为何常见:审计通过是客观数字,人容易忘记数字背后是一组主观构建的结构假设;再加上“维护期不用干活”的侥幸心理,就把一次性审查当成了终身保障。

面试题

Q1. 反事实公平的核心思想是以下哪一项?

单选题 · easy

  • A.两组通过率必须完全相等
  • B.同一人改写属性后预测不变← 正确答案
  • C.所有特征必须强制纳入模型
  • D.预测结果必须做到零错误

答案:B。反事实公平不比较两个不同的人,而是把同一个人的“出厂设定”改写后看预测是否变化,所以选 B。A 是统计公平,C 与公平无关,D 是准确率问题。

Q2. “受保护属性”最准确的含义是什么?

单选题 · easy

  • A.法规禁止据此歧视人的属性← 正确答案
  • B.训练集中出现次数最多的属性
  • C.对预测贡献最大的那个属性
  • D.和标签相关性最高的属性

答案:A。受保护属性指法律或伦理上不允许用来歧视人的特征,如性别、种族、民族,所以选 A。B、C、D 都是数据或业务视角的描述,不涉及伦理约束。

Q3. 只把“性别”字段从训练数据中删掉,为什么仍可能不公平?

单选题 · mid

  • A.性别通过后代特征间接泄漏← 正确答案
  • B.模型会自动把性别字段再生成
  • C.删掉特征会导致模型无法收敛
  • D.性别是预测中最关键的变量

答案:A。删字段只去掉“直达车”,性别仍可通过居住地、消费习惯等后代特征影响预测,所以选 A。模型不会自动生成字段(B 错),删特征照样能训练(C 错),性别也未必是关键变量(D 错)。

Q4. 下列哪些变量允许出现在反事实公平的预测模型中?

多选题 · mid

  • A.受保护属性的非后代变量← 正确答案
  • B.因果图上 A 的后代变量
  • C.与 A 无关的隐藏能力变量← 正确答案
  • D.受保护属性本身未做变换

答案:AC。反事实公平要求预测不依赖 A 及其后代,因此允许 A 的非后代变量(如隐藏能力 H)和与 A 无关的变量,选 A、C。B(后代变量)与 D(A 本身)都会让歧视进入预测。

Q5. do(A=a) 与条件 A=a 的本质区别是什么?

单选题 · mid

  • A.do 是干预切断指向 A 的箭头← 正确答案
  • B.do 是观察保留原来的结构
  • C.二者在统计上是完全等价的
  • D.do 只在非线性模型中才会出现

答案:A。do 是结构干预,要切断指向 A 的所有箭头,和“看到 A”的自然观察完全不同,所以选 A。观察保留一切结构(B 错),二者不等价(C 错),do 与线性非线性无关(D 错)。

Q6. 因果图上的箭头方向表示什么?

单选题 · mid

  • A.箭头表示变量间的相关强弱
  • B.箭头表示因果影响的方向← 正确答案
  • C.箭头记录数据采集时间顺序
  • D.箭头标记特征的存储顺序

答案:B。因果图中每条箭头代表“干预前者,后者会变”的因果影响方向,所以选 B。箭头有方向,但不表示相关强弱(A 错)、采集顺序(C 错)或存储顺序(D 错)。

Q7. 若存在 A→X→Y 且 A→Y 两条路径,改变 A 引起的 Y 变化包含什么?

单选题 · hard

  • A.只有直接路径带来的效应
  • B.只有间接路径带来的效应
  • C.直接与间接路径效应之和← 正确答案
  • D.与因果路径无关的随机项

答案:C。A 同时走直达路 A→Y 和转乘路 A→X→Y,所以改变 A 引起的 Y 变化是两条路径效应之和,选 C。A、B 各只说了一半,D 与因果无关。

Q8. 反事实公平成立的前提条件包括哪些?

多选题 · hard

  • A.拥有结构正确的因果图← 正确答案
  • B.数据覆盖关键混淆因子← 正确答案
  • C.预测模型必须是非线性的
  • D.只用 A 的非后代特征预测← 正确答案

答案:ABD。反事实公平建立在正确因果图、覆盖混淆因子的数据以及只用非后代特征三个前提上,选 A、B、D。线性还是非线性模型不影响定义本身(C 错)。

Q9. 平行宇宙比喻中的“改写旋钮”对应因果推理中的哪个概念?

单选题 · easy

  • A.对因果图的干预 do 算子← 正确答案
  • B.变量之间的简单相关系数
  • C.训练时的交叉验证机制
  • D.对特征做的标准化缩放

答案:A。“改写旋钮”就是把 A 强行设成某个值的干预 do(A=a),所以选 A。相关系数描述观察层面的相关(B 错),交叉验证与标准化缩放都与干预无关(C、D 错)。

Q10. 关于未观测混淆对反事实公平审计的影响,下列说法正确的是?

多选题 · extreme

  • A.未观测混淆令因果图失真← 正确答案
  • B.敏感性分析可评估稳健性← 正确答案
  • C.数据量足够大便完全克服
  • D.遗漏共同祖先让审计失效← 正确答案

答案:ABD。未观测混淆会让因果图缺节点、漏路径,审计可能失真(A、D 对);敏感性分析可以在假设区间内评估结论稳健性(B 对);样本量再大也无法代替未观测变量本身(C 错)。