想象你是一位老中医,手里有一张祖传药方,专治某种头疼。你在江南水乡用这张方子,有效;到了西北高原,还是有效;漂洋过海到了南洋湿热之地,依然有效。为什么?因为这张方子的“主药”针对的是头疼的“病根”,而不是某个地方特有的“水土”。相反,如果一位庸医发现“江南人头疼时都喝了红糖水”,就开红糖水当药,换到西北就不灵了——因为红糖水不过是巧合的相关,不是病因。 因果机器学习中的不变预测(Invariant Prediction),干的就是老中医的活儿:在多个环境(好比多个地域)的观测数据中,找到那个在所有环境下都稳定有效的“主药”——即因果父变量。这篇内容,我们把这套思路用“指南针”来打比方:环境会变,航向会变,但真正的因果机制就是那颗始终指向北方的磁针,不因风浪而改。我们接下来要做的,就是学会在数据的汪洋中,识别出这颗“磁针”。

岗位关联

不变预测是连接“相关性”与“因果性”的一座桥,它让你在不需要做干预实验的前提下,仅靠多样化的观测环境数据,就能锁定具备因果解释力的特征变量,从而构建更可靠、更可信的 AI 系统——这对金融风控、医疗诊断、自动驾驶等高鲁棒性要求场景,是核心底层能力。

目录
  1. 可视化演示
  2. 从相关到因果
  3. 问题形式化
  4. 不变预测器
  5. 跨环境回归
  6. 从不变性到IRM
  7. 应用与展望
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

三步展示不变预测核心流程:多环境分布偏移下因果机制稳定、跨环境回归误差不变性检验、候选集交集识别因果父变量。

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

'+captions[0]+'

从相关到因果

想象你站在一片陌生的海域,手里只有一张标着“鱼群出没”的旧海图。海图上画着:凡是海鸟盘旋的地方,水下必有鱼群。你跟着海鸟走,第一个月收获颇丰,第二个月却颗粒无收——因为海鸟只是喜欢在那片海域的暖流上觅食,暖流一改道,鱼群和鸟群就分道扬镳了。海鸟盘旋和鱼群之间存在相关性,但不是因果关系。

传统机器学习模型就像这个跟着海鸟走的渔夫:它学到的是“看到海鸟就撒网”的规则,一旦环境(暖流)变化,规则立刻失效。要真正知道鱼群在哪里,你得去探测水温、洋流、海底地形——这些直接影响鱼群分布的因素,才是因果父变量。要确认因果关系,最可靠的办法是做“干预实验”:人为改变一个因素,看鱼群是否随之改变。但在很多场景(比如医疗、经济、气象)里,干预实验成本极高,甚至违背伦理。

不变预测的出发点非常朴素:如果有一个因素真正决定了结果,那么不管环境怎么变,它对结果的影响方向与强度都应当保持一致——就像真正的磁针,无论船怎么摇晃,它始终指向北。因此,我们可以利用多个环境的观测数据,去寻找那些“对结果的预测关系在所有环境下都保持稳定”的变量,这种稳定性本身就是因果性的指纹。从这个意义上说,分布偏移不再是学习的障碍,反而成了识别因果结构的天然实验室。

问题形式化

要“寻找稳定关系”,第一步得把问题说清楚。我们还是用航海来打比方:现在你有好几个不同海域(环境)的观测日志,每份日志记录了当天的风速、洋流、水温、盐度等特征(变量 $X$),以及最终的鱼群密集度(结果 $Y$)。你要做的是回答一个问题:在这些特征中,哪些是鱼群分布真正的“指挥官”?

形式化地说,我们有一组环境索引 $\mathcal{E}$(比如 $\mathcal{E} = \{1, 2, \dots, n\}$ 代表 $n$ 片海域),每个环境 $e \in \mathcal{E}$ 对应一个数据分布 $P^e(X, Y)$。不同环境的分布可以不同——这正是“分布偏移”的体现。我们的目标是从这些环境数据中,找到结果变量 $Y$ 的因果父变量集合 $\mathrm{PA}(Y)$,即那些直接导致 $Y$ 变化的变量。

为什么这个目标有意义?假设 $Y$ 的因果机制可以写作:

其中 $\varepsilon$ 是与父变量独立的噪声项。这个结构方程有一个关键性质:条件分布 $P(Y \mid \mathrm{PA}(Y))$ 在所有环境下保持不变。因为因果机制是物理世界的恒定规律,环境改变只能影响父变量的边缘分布,不能改变“父变量如何决定结果”这一内在函数。相比之下,如果一个变量 $Z$ 只是与 $Y$ 存在虚假相关(比如海鸟与鱼群),那么条件分布 $P(Y \mid Z)$ 通常会随环境漂移。

于是,整个问题的核心转化为:如何在多个环境的观测数据中,筛选出那个满足“条件分布跨环境不变”的变量集合。找到了这个集合,就等于找到了因果父变量。这就是不变预测这个名字的由来——我们预测的不只是一个数值,更是一个在任何环境下都不会失效的因果结构。

Y=f(PA(Y),ε)\displaystyle Y = f\left(\mathrm{PA}(Y), \varepsilon\right)
  1. 因果结构方程写出结果如何由原因和噪声生成,这是因果推断的基础模型。
    Y=f(PA(Y),ε)\displaystyle Y = f\left(\mathrm{PA}(Y), \varepsilon\right)
  2. 噪声独立性噪声项与父变量相互独立,保证因果机制的纯净性。
    ε⊥ ⁣ ⁣ ⁣⊥PA(Y)\displaystyle \varepsilon \perp\!\!\!\perp \mathrm{PA}(Y)
  3. 机制不变性因果机制在所有环境下相同,这是不变预测的根本出发点。
    Pe(Y∣PA(Y))=Pe′(Y∣PA(Y)),∀e,e′∈E\displaystyle P^e\left(Y \mid \mathrm{PA}(Y)\right) = P^{e'}\left(Y \mid \mathrm{PA}(Y)\right), \quad \forall e, e' \in \mathcal{E}

不变预测器

现在我们把“寻找不变关系”这件事,落到“构建一个预测模型”上。假设你要训练一个模型 $g$,输入特征是 $X$ 的一个子集 $S$,输出对 $Y$ 的预测。什么样的模型是你真正想要的?答案不是“误差最小的”,而是“误差在所有环境中都一致的”。

用航海的话说:一个导航仪在南海很准,在东海不准,你敢用它横跨大洋吗?不敢。你需要的导航仪是在所有海域误差都一样的——哪怕它的平均误差不是最小的,但它的误差是稳定的,你就能根据它规划航线,并且知道到了新海域它大概会偏多少。这种“知道它会在哪里偏”的可预期性,比在某个海域“碰巧很准”重要得多。

形式化地,对于变量集合 $S \subseteq \{1, \dots, d\}$($d$ 是特征总数),我们称 $S$ 是一个不变预测器(invariant predictor),如果存在一个函数 $g$,使得对任意两个环境 $e, e'$(以及它们任意混合的分布):

这个定义的核心直觉是:不变预测器的误差不随环境漂移。因果父变量集合天然满足这个条件——因为机制本身就是稳定的。但反过来,满足不变性条件的变量集合可能不止一个。比如,“风速”和“风速+温度计读数”可能都满足某种不变性(如果温度计读数只是风速的确定性函数)。因此,我们需要在所有不变预测器中,挑一个“最小”的——即包含变量最少的那个集合,它通常就对应真正的因果父变量。这个“最小不变集”就像指南针的磁针本身——它是所有稳定基准中最核心、最精简的那一个。

Ee[Y∣XS]=Ee′[Y∣XS]=g(XS)\displaystyle \mathbb{E}^{e}\left[Y \mid X_S\right] = \mathbb{E}^{e'}\left[Y \mid X_S\right] = g(X_S)
  1. 条件期望不变性在给定所选特征 $X_S$ 的条件下,$Y$ 的期望值不依赖于具体环境。
    Ee[Y∣XS]=Ee′[Y∣XS]\displaystyle \mathbb{E}^{e}\left[Y \mid X_S\right] = \mathbb{E}^{e'}\left[Y \mid X_S\right]
  2. 公共函数存在存在统一的回归函数 $g$ 描述所有环境下的条件期望。
    g(XS)=Ee[Y∣XS],∀e∈E\displaystyle g(X_S) = \mathbb{E}^{e}\left[Y \mid X_S\right], \quad \forall e \in \mathcal{E}
  3. 误差跨环境一致用 $g$ 做预测时,每个环境下的期望损失相同。
    Le(g)=Le′(g),∀e,e′∈E\displaystyle \mathcal{L}^e(g) = \mathcal{L}^{e'}(g), \quad \forall e, e' \in \mathcal{E}

跨环境回归

现实世界的数据是离散的样本点,我们不可能直接验证“条件期望在所有环境下相等”这个理想化条件。于是,不变预测给出了一个可操作的方案:把不变性变成一个可检验的统计假设。思路很直接:你在每个环境里分别做回归,然后检查不同环境的回归误差是否一致。

我们继续用航海比喻:现在你有 30 片海域的观测数据,想检验“水温是不是鱼群分布的原因”。做法是:在每个海域分别训练一个“用水温预测鱼群”的模型,然后把这 30 个模型的预测误差放在一起比较。如果 30 个误差值大同小异(在统计意义上没有显著差异),说明水温与鱼群的关系在不同环境下是稳定的;反之,如果误差忽大忽小,说明这个关系不过是一种随环境漂移的巧合。误差的稳定性,就是因果性的统计指纹。

具体方法如下:假设候选变量集合为 $S$,我们提出零假设:

在实际计算中,我们对每个环境 $e$ 拟合线性回归:

然后计算每环境下的残差方差(预测误差):

如果不同环境间的 $\hat{\sigma}^{2(e)}_S$ 差异超过了某个统计阈值,就拒绝零假设,认为 $S$ 不是一个不变的变量集合;反之,$S$ 通过检验,被认定为“与因果机制相容”。通过从单变量开始逐轮筛选、组合检验,最终得到的不变集合(通常取最小的那个)就等同于因果父变量的估计。整个过程不需要做任何干预实验,纯粹利用分布偏移提供的信息——这就是它被称为“开创性方法”的原因。

筛选完成后,你可能得到若干个通过检验的集合,选择变量个数最少的那个即可。此时你手中的变量集合,就是鱼群分布真正的“指挥官”——它们不受暖流改道的影响,不受季节更替的迷惑,在所有海域都指挥着鱼群的行踪。这就是因果父变量的意义:找到了它们,你的预测模型就获得了跨环境的迁移能力。

H0,S:存在 g,使得 Ee[Y∣XS]=g(XS),∀e∈E\displaystyle H_{0,S}: \text{存在 } g, \text{使得 } \mathbb{E}^{e}\left[Y \mid X_S\right] = g(X_S), \quad \forall e \in \mathcal{E}
Y=XSβ(e)+ε(e)\displaystyle Y = X_S \beta^{(e)} + \varepsilon^{(e)}
σ^S2(e)=1ne∑i∈e(Yi−XS,iβ^(e))2\displaystyle \hat{\sigma}^{2(e)}_S = \frac{1}{n_e}\sum_{i \in e}\left(Y_i - X_{S,i}\hat{\beta}^{(e)}\right)^2
  1. 零假设的设定假设所选的 $S$ 是一个有效的不变预测器,即条件期望跨环境一致。
    H0,S:Ee[Y∣XS]=g(XS),∀e\displaystyle H_{0,S}: \mathbb{E}^{e}\left[Y \mid X_S\right] = g(X_S), \quad \forall e
  2. 分环境拟合在每个环境下分别拟合回归模型,得到该环境的系数估计。
    β^(e)=arg⁡min⁡β∑i∈e(Yi−XS,iβ)2\displaystyle \hat{\beta}^{(e)} = \arg\min_{\beta} \sum_{i \in e}\left(Y_i - X_{S,i}\beta\right)^2
  3. 误差方差估计用拟合残差计算每个环境的预测误差,作为不变性的检验统计量。
    σ^S2(e)=1ne∑i∈e(Yi−XS,iβ^(e))2\displaystyle \hat{\sigma}^{2(e)}_S = \frac{1}{n_e}\sum_{i \in e}\left(Y_i - X_{S,i}\hat{\beta}^{(e)}\right)^2

从不变性到IRM

跨环境回归已经能处理线性场景,但真实世界往往没有那么规整:特征与结果之间可能是非线性关系,而且我们不一定需要把全部因果父变量都找出来——有时候,我们只是想要一个在未知环境下依然可靠的预测模型。这催生了不变风险最小化(Invariant Risk Minimization, IRM)。

回到航海的场景:你不想再手工比较 30 片海域的误差了,你想要一个能自动训练导航仪的框架。IRM 的思路是:在训练模型时,显式地加入一个“跨环境一致性”的惩罚项。凡是在某个环境里表现特别“偏科”的特征表示,都会受到惩罚;只有那些在全部环境中都能保持同样表现的表示,才会被保留下来。

IRM 的目标函数可以写成(以线性为例,非线性同理形式化):

其中第一项是所有环境的总损失,第二项是“梯度不变性惩罚”——它度量了在每个环境上损失函数对分类器 $w$ 的梯度是否一致。如果 $\Phi$ 提取的特征是因果特征,那么不同环境下的最优分类器方向应该差不多,梯度惩罚项就会很小;反之,虚假特征会让不同环境“争夺”不同的分类方向,梯度惩罚项就会很大,模型会主动丢弃这类特征。

IRM 的精妙之处在于:它不直接要求“误差相等”,而是要求“最优分类器在各环境下一致”——这是一个更柔性的条件,对非线性模型也适用,而且可以直接用梯度下降法端到端优化。它把“找稳定特征”从一个组合筛选问题,变成了一个连续优化问题。你还记得跨环境回归需要逐一比较误差吗?IRM 省掉了这个繁琐过程,一切都在反向传播中自然完成。

IRM 的诞生为因果表示学习提供了强大的工具:它的目标函数里天然包含了“环境多样性”和“特征不变性”的双重要求。当你用 IRM 训练出的模型面对一个全新的环境时,由于模型学到的表示只在因果特征上变化,它在未知环境下基本不会出现严重的性能崩塌。这就是分布外泛化的保障,也是“可信 AI”的技术基石——你的模型不再是一个只会背海图的渔夫,而是一个真正懂得洋流规律的航海家。

min⁡w∑e∈ELe(w⋅Φ)+λ⋅∑e∈E∥∇wLe(w⋅Φ)∥2\displaystyle \min_{w} \sum_{e \in \mathcal{E}} \mathcal{L}^{e}\left(w \cdot \Phi\right) + \lambda \cdot \sum_{e \in \mathcal{E}} \left\|\nabla_{w} \mathcal{L}^{e}\left(w \cdot \Phi\right)\right\|^2
  1. 总损失求和所有环境下的预测损失,保证拟合优度。
    ∑e∈ELe(w⋅Φ)\displaystyle \sum_{e \in \mathcal{E}} \mathcal{L}^{e}\left(w \cdot \Phi\right)
  2. 不变性惩罚对各环境损失关于分类器参数的梯度求范数平方和,作为跨环境不一致的度量。
    λ⋅∑e∈E∥∇wLe(w⋅Φ)∥2\displaystyle \lambda \cdot \sum_{e \in \mathcal{E}} \left\|\nabla_{w} \mathcal{L}^{e}\left(w \cdot \Phi\right)\right\|^2
  3. 整体最小化通过最小化“损失+惩罚”的联合目标,找到既准确又稳定的特征表示 $\Phi$。
    min⁡w,Φ  ∑eLe+λ∑e∥∇wLe∥2\displaystyle \min_{w, \Phi} \; \sum_{e} \mathcal{L}^{e} + \lambda \sum_{e} \|\nabla_{w} \mathcal{L}^{e}\|^2

应用与展望

不变预测从提出到演进,不过几年时间,却已然改变了人们对“鲁棒机器学习”的想象。过去,我们对付分布偏移的手段是“数据增强”“域适应”——本质上都是“把更多的环境数据混在一起训练”。而不变预测给出了一条更根本的路:直接在表示层面剥离掉环境特异性的信息,只保留跨环境稳定的因果成分。

这套思想的实用价值随处可见。在金融风控中,不同经济周期(繁荣、衰退、复苏)就是不同的环境,一个稳定的小额信贷风控模型必须基于“收入水平、负债率”这类因果变量,而不是“当前季节、用户发帖情绪”这类随周期漂移的相关变量。在医学诊断中,不同医院、不同设备的影像数据构成天然的多环境数据,不变预测帮助模型忽略设备品牌带来的风格差异,专注在病理特征上,实现跨院泛化。在自动驾驶中,白天/黑夜、晴天/雨天每个都是环境,不变预测引导感知模型学习“物体本身”的表示而非“光照条件”的表示。

用海航的比喻来收束全文:传统的机器学习是盯着局部海域的洋流图做预测,风雨一大就失效;不变预测则教我们把目光投向那颗恒定的北极星——它穿越所有环境、所有分布、所有偏移,始终指向真正的因果关系。因果表示学习的未来,正是把这颗北极星内化到 AI 系统的每一个表示层中去。当模型面对新环境时,它不再惊慌失措地“重新学习”,而是从容地依赖那些不变的因果特征做出可靠判断。这就是可信 AI 的根基,也是我们研究不变预测的最终意义:让机器学会区分什么是暂时的假象,什么是永恒的规律。

AI 应用场景

场景一:多中心医疗影像AI的跨医院泛化

阶段:模型训练与特征选择阶段

解决的问题:不同医院的医学影像设备(CT/MRI)品牌、参数、光照条件不同,导致同一个模型在 A 院表现优异、在 B 院性能大幅下滑。传统方法是把数据混在一起训练,但模型仍会“偷懒”地利用设备风格这类虚假特征。不变预测要求模型在不同医院(环境)间保持预测误差一致,迫使模型只能依赖真正的病理特征。

具体案例:某三甲医院联合 5 家基层医院,用不变预测方法训练肺炎识别模型。每个医院作为一个环境,在训练中惩罚“环境间梯度不一致”的特征表示。结果是:新模型在未曾参与训练的第三家医院上,AUC 仅下降 1.2%,而传统模型下降 18%。医生终于可以放心地把 AI 辅助诊断推广到设备各异的基层医院。

场景二:金融风控系统的跨周期稳定性

阶段:模型鲁棒性评估与部署阶段

解决的问题:经济存在明显的周期波动(繁荣、衰退、复苏),用户的还款行为随周期剧烈变化。如果风控模型依赖“当前宏观经济情绪”这类环境漂移特征,在经济衰退期会系统性误判。不变预测从跨周期数据中筛选出“收入负债比”“历史逾期次数”这类因果特征,保证模型在任何经济环境下都能校准风险。

具体案例:某消费金融公司应用跨环境回归,以三个经济周期阶段作为环境,对 200 多个候选特征做不变性筛选,最终只保留 12 个因果父变量。在 2022 年经济下行压力测试中,该模型的不良率预测偏差控制在 0.3% 以内,而传统模型偏差高达 3.1%。

Python 演示

python46 行
import numpy as npfrom itertools import combinationsfrom scipy.stats import f_oneway def generate_data(envs=3, n=200):    """生成多环境数据:X1是X2的因果父变量,X2是结果"""    all_X = []    all_Y = []    for e in range(envs):        X1 = np.random.normal(e * 0.5, 1.0, n)  # 环境偏移影响X1的分布        noise = np.random.normal(0, 1.0, n)        Y = 2.0 * X1 + noise  # 真正的因果机制:Y由X1决定        X2 = np.random.normal(0.5 * e, 1.0, n) + 0.3 * Y  # X2受Y影响,属于非因果变量        all_X.append(np.column_stack([X1, X2]))        all_Y.append(Y)    return all_X, all_Y def env_consistency_test(X_envs, Y_envs):    """检验各环境回归误差是否一致(误差不变性检验)"""    residuals = []    for X, Y in zip(X_envs, Y_envs):        beta, _, _, _ = np.linalg.lstsq(X, Y, rcond=None)        pred = X @ beta        resid = np.mean((Y - pred) ** 2)        residuals.append(resid)    # 用F检验比较多组方差是否一致    stat, pval = f_oneway(*[[r] for r in residuals])    return pval > 0.05, residuals def invariant_causal_prediction(X_envs, Y_envs, alpha=0.05):    """跨环境回归筛选最小不变变量集"""    d = X_envs[0].shape[1]    for size in range(1, d + 1):        for subset in combinations(range(d), size):            X_sub = [X[:, subset] for X in X_envs]            passed, _ = env_consistency_test(X_sub, Y_envs)            if passed:                return subset  # 返回找到的最小不变集合    return None if __name__ == "__main__":    X_envs, Y_envs = generate_data(envs=4)    selected = invariant_causal_prediction(X_envs, Y_envs)    print("选中的不变变量索引:", selected)    assert selected is not None and len(selected) == 1    print("因果父变量识别成功:X1 是 Y 的唯一原因")
目的:实现不变预测中最核心的“跨环境回归”算法——从一个候选特征集合中,筛选出满足误差跨环境一致的变量子集,从而识别因果父变量。
  1. Y = 2.0 * X1 + noise定义真实的因果机制:只有 X1 直接影响 Y
  2. X2 = ... + 0.3 * Y生成一个与 Y 相关的非因果变量(混淆者),用于测试算法能否排除它
  3. env_consistency_test核心检验函数:比较各环境的回归误差是否在统计上一致
  4. f_oneway(*[[r] for r in residuals])用方差分析检验多组残差是否来自同一分布
  5. combinations(range(d), size)按变量个数从小到大枚举所有候选子集
  6. if passed: return subset返回最小的通过不变性检验的变量集合,即为因果父变量

常见误区

误区我学完不变预测后觉得,所谓不变的变量,就是那些在各环境里分布都差不多、数值起伏不大的变量。只要某个特征在多个环境中的均值方差类似,它就应该是不变特征。

正解大错特错。不变预测里的“不变”指的是条件分布不变——即在给定该变量后,结果的条件期望不随环境变化。它不要求该变量自身的边缘分布相同。恰恰相反,因果父变量的边缘分布完全可以随环境漂移(比如气温是降雨的原因,但不同地区气温分布本来就不同),关键是“气温如何决定降雨”这个机制不变。用指南针比喻:指南针的指向不随船的位置变化,但指南针本身可能被放在不同船上——它的边缘状态可以变,它的因果功能不变。

为何常见:初学者容易把“不变”理解为“不变动”,而忽视了这里的“不变”是“关系的恒定”,需要条件分布的概念才能准确理解。

误区只要通过了所有环境下的误差不变性检验,那这个变量集合就一定是所有因果父变量,一个不多一个不少。

正解跨环境回归保证的是:找到的集合是“与因果机制相容的最小编制”,它等价于因果父变量是有前提的——比如所有因果父变量都被观测到、环境之间满足足够的多样性(即环境的干预覆盖了所有非因果变量)。在某些情况下,一个非因果变量可能恰好与环境无关,从而通过不变性检验(出现假阳性);也可能某个因果父变量在所有环境中都没有变化,导致它被遗漏(假阴性)。因此,不变预测给出的结果需要谨慎解读,最好与环境干预信息结合。

为何常见:人脑天然倾向于把“统计检验通过”等同于“因果成立”,这混淆了“必要条件”和“充分条件”。

误区跨环境回归的检验过程基于线性回归和残差方差,那一套东西看着很“线性”;在深度学习的非线性模型里,这个方法应该没法用吧?

正解线性版本只是最简单、最易于统计检验的特例。不变性的核心思想(条件分布跨环境一致)完全非线性化。特别是在 IRM 框架中,可以用神经网络作为特征提取器 $\Phi$,把环境不变性作为正则项放进损失函数,用端到端方式优化非线性表示。IRM 及其后续变体(如 IRMv1、方差惩罚等)已经在图像分类、NLP 等领域验证了非线性场景的有效性。

为何常见:学术论文常常从线性模型开始推导以简化分析,读者只记住了推导过程,而忽视了结论的更广泛适用性。

面试题

Q1. 不变预测的核心出发点是什么?

单选题 · easy

  • A.找到所有环境下误差最小的特征
  • B.找到跨环境下预测关系保持稳定的变量← 正确答案
  • C.找到方差最小的特征集合
  • D.找到各环境均值相同的变量

答案:B。不变预测的核心是从多环境数据中识别因果父变量,而因果机制的显著特征就是“条件分布跨环境不变”——即预测关系稳定。A 追求最小误差,C 和 D 误解了“不变”的对象,三者都不是因果性的指纹。

Q2. 在因果结构方程 \(Y = f(\mathrm{PA}(Y), \varepsilon)\) 中,噪声项 \(\varepsilon\) 与父变量 \(\mathrm{PA}(Y)\) 的关系是?

单选题 · easy

  • A.完全相等
  • B.高度正相关
  • C.相互独立← 正确答案
  • D.线性相关

答案:C。因果结构方程要求噪声项独立于父变量,这保证了因果机制的“纯净性”——父变量对结果的效应不会被噪声混淆。如果噪声与父变量相关,那就无法区分效应来自哪里了。

Q3. 一个变量集合 \(S\) 被称为不变预测器,意味着:

单选题 · mid

  • A.它在单个环境中误差为零
  • B.它在所有环境中的条件期望 \(E[Y|X_S]\) 一致← 正确答案
  • C.它在所有环境中的边缘分布相同
  • D.它在所有环境中的方差相同

答案:B。不变预测器的定义是:存在函数 \(g\),使得对任意环境 \(e, e'\),均有 \(E^e[Y|X_S] = E^{e'}[Y|X_S] = g(X_S)\)。它关注的是条件期望的跨环境一致性,而非边缘分布的相似性。C 和 D 属于对“不变”的常见误解。

Q4. 跨环境回归中,判断某变量集合是否“不变”的统计依据是:

单选题 · mid

  • A.该变量集合在所有环境中的均值相等
  • B.各环境下回归残差方差在统计上无显著差异← 正确答案
  • C.该变量集合在所有环境中的方差相等
  • D.各环境下回归系数绝对值都大于 1

答案:B。跨环境回归的做法是分环境拟合回归,然后检验各环境的预测误差(残差方差)是否统计一致。误差稳定意味着条件期望跨环境一致,从而支持不变性。A 和 C 是对“不变”的误解;D 与不变性无关。

Q5. IRM 目标函数中,梯度不变性惩罚项的作用是:

单选题 · mid

  • A.让模型在每个环境中的损失变大
  • B.惩罚不同环境下最优分类器方向不一致的特征← 正确答案
  • C.让模型在所有环境中的梯度都变为零
  • D.让模型只在一个环境上训练

答案:B。IRM 的惩罚项是 \(\sum_e \|\nabla_w L^e(w \cdot \Phi)\|^2\)。它衡量不同环境下损失对分类器参数的梯度是否一致。如果特征表示在不同环境中“引导”出不同的最优分类方向,梯度就会不一致,惩罚增大,从而促使模型丢弃这类环境敏感特征。

Q6. 设 \(Y\) 由因果父变量 \(X_1\) 决定,\(X_2\) 是 \(Y\) 的结果变量(即 \(X_1 \to Y \to X_2\))。跨环境回归中,关于 \(\{X_1\}\) 和 \(\{X_2\}\) 的判断正确的是:

单选题 · hard

  • A.两者都是不变的变量集合← 正确答案
  • B.只有 \(\{X_1\}\) 是不变集合
  • C.只有 \(\{X_2\}\) 是不变集合
  • D.两者都不是不变集合

答案:A。因果机制 \(P(Y|X_1)\) 是人类可干预的机械规律,环境变化不影响它,因此 \(\{X_1\}\) 是不变的。而 \(X_2\) 是 \(Y\) 的结果,\(P(Y|X_2)\) 依赖于 \(Y\) 到 \(X_2\) 的反向过程,这个条件分布在环境改变(比如 \(Y\) 的边缘分布改变)时通常会变化,因此 \(\{X_2\}\) 通常不是不变集合。这就是不变预测与单纯“相关预测”的本质区别。

Q7. 不变预测相比传统监督学习的主要优势有哪些?

多选题 · mid

  • A.不需要任何数据标注
  • B.可以利用分布偏移识别因果结构← 正确答案
  • C.模型在未知环境下泛化能力更强← 正确答案
  • D.保证在所有环境下训练误差为零

答案:BC。不变预测利用多个环境的分布偏移来筛选跨环境稳定的变量,从而识别因果父变量;基于因果特征的模型在新环境下不容易失效。它仍需要标签数据(A 错),且不保证训练误差为零(D 错)。

Q8. 关于不变预测的理论前提,下列说法正确的有:

多选题 · hard

  • A.需要所有相关变量都被观测到← 正确答案
  • B.环境之间的多样性要足够覆盖非因果变量的变化← 正确答案
  • C.所有环境的数据量必须完全相等
  • D.因果机制在所有环境下保持同一形式← 正确答案

答案:ABD。不变预测识别因果父变量有两个关键前提:一是所有因果父变量都已被观测到(否则可能遗漏);二是环境差异足够丰富,能使非因果变量的关联“露馅”。它不要求环境数据量相等(C 错)。因果机制跨环境稳定是该方法的基本假设(D 对)。

Q9. 以下哪些场景适合采用不变预测方法?

多选题 · mid

  • A.多中心医疗影像数据(不同设备风格)← 正确答案
  • B.跨经济周期的消费信贷风控← 正确答案
  • C.单一无变化的数据集上做图像分类
  • D.不同天气条件下自动驾驶感知← 正确答案

答案:ABD。不变预测的前提是存在多个有差异的环境。多中心医疗、跨周期金融、多天气自动驾驶都天然构成多环境数据。而单一无变化的数据集无法提供环境多样性的信息,不适用(C 错)。

Q10. “最小不变集”为什么倾向于对应真正的因果父变量?

单选题 · easy

  • A.因为因果父变量一定是最少的那一组
  • B.因为它排除了所有冗余变量,留下最精简的稳定关系← 正确答案
  • C.因为它包含所有可能的变量以降低误差
  • D.因为最小不变集的预测误差一定为零

答案:B。满足不变性的变量集合可能有多个(比如因果父变量 + 冗余变量),最小不变集通过“最小化变量个数”剔除冗余,留下的最精简集合通常就是真正直接导致结果的那组因果父变量。它并非保证误差为零(D 错),也不是“最少的一组”就一定是因果父变量(A 绝对化)。