机器学习中的因果模型:协变量偏移与多元模型解析

1. 协变量偏移(Covariate Shift)

1.1 独立性原理的两种解读

因果关系中的独立性原理,即 $P_{cause}$ 和 $P_{effect|cause}$ 的独立性,有两种不同的解读方式。一方面,在固定的联合分布下,这两个对象彼此不包含对方的信息;另一方面,当联合分布 $P_{cause,effect}$ 在不同数据集间发生变化时,$P_{cause}$ 的变化并不能告知我们 $P_{effect|cause}$ 的变化情况。

1.2 协变量偏移的概念

假设我们从一个数据集中学习了变量 $X$ 和 $Y$ 之间的统计关系,并打算将此知识用于另一个数据集的 $Y$ 预测。若第二个数据集中 $X$ 的分布 $P’ X$ 与第一个数据集的 $P_X$ 不同,根据机制独立性,$P’_X$ 与 $P_X$ 的差异并不能说明 $P {Y|X}$ 是否在数据集间发生了变化。所以,即使 $P_X$ 改变了,我们仍可能使用相同的 $P_{Y|X}$ 进行预测,这种情况被称为协变量偏移。这在机器学习中是一个经过充分研究的假设,并且只有在因果场景下(即 $X$ 是原因,$Y$ 是结果)才合理。

1.3 因果与反因果场景的示例

因果场景

当 $X$ 是原因,$Y$ 是结果时,协变量偏移假设是合理的。例如,在某些情况下,即使 $P_X$ 发生变化,$P_{Y|X}$ 可能仍然适用于新的数据集。

反因果场景

考虑一个反因果场景,其中 $X$ 是结果,$Y$ 是二元变量,以加法方式影响实值变量 $X$:$X = Y + N_X$,其中 $N_X$ 是与 $Y$ 独立的高斯噪声。如果 $P_X$ 是两个高斯分布的混合,且在第二个数据集中观察到相同的混合分布但权重不同,那么很可能是 $P_Y$ 发生了变化,此时我们不应再使用相同的 $P_{Y|X}$ 进行预测,而应从 $P’ X$ 重建 $P’ {Y|X}$。这个例子表明,在反因果场景中,$P_X$ 和 $P_{Y|X}$ 的变化可能是相关的。

1.4 问题探讨

考虑一个问题:设 $P_X$ 是在位置 $s_1, …, s_k$ 处的 $k$ 个尖锐高斯峰的混合,$Y$ 是通过向 $X$ 添加零均值高斯噪声 $N$ 得到的。
- 问题 a :直观上,$P_{X|Y}$ 也包含关于峰位置 $s_1, …, s_k$ 的信息,因此 $P_{X|Y}$ 和 $P_Y$ 共享此信息。这是因为 $Y$ 是由 $X$ 加上噪声得到的,峰的位置信息在这个过程中会被保留。
- 问题 b :$P_X$ 到 $P_Y$ 的转换可以用卷积描述,$P_{Y|X}$ 相当于卷积映射。然而,$P_{X|Y}$ 并不等同于反卷积映射。这是因为从 $P_Y$ 恢复 $P_X$ 不仅仅是简单的反卷积过程,还受到噪声和其他因素的影响。

2. 多元因果模型(Multivariate Causal Models)

2.1 引入多元关系

之前我们讨论了两个变量的因果模型,而因果推理的很多结构源于涉及至少三个变量的多元关系。现在我们考虑更一般的 $d \geq 2$ 个变量的因果模型。

2.2 图形术语

基本图定义

考虑有限个随机变量 $X = (X_1, …, X_d)$,其索引集为 $V = {1, …, d}$,联合分布为 $P_X$,密度为 $p(x)$。图 $G = (V, E)$ 由节点 $V$ 和边 $E \subseteq V^2$ 组成,且对于任何 $v \in V$,$(v, v) \notin E$。
- 子图 :图 $G_1 = (V_1, E_1)$ 是 $G$ 的子图,如果 $V_1 = V$ 且 $E_1 \subseteq E$;若 $E_1 \neq E$,则 $G_1$ 是 $G$ 的真子图。
- 节点关系 :节点 $i$ 是 $j$ 的父节点,如果 $(i, j) \in E$ 且 $(j, i) \notin E$;节点 $i$ 是 $j$ 的子节点,如果 $(j, i) \in E$ 且 $(i, j) \notin E$。节点 $i$ 和 $j$ 相邻,如果 $(i, j) \in E$ 或 $(j, i) \in E$。
- 图的类型 :图 $G$ 是完全连接的,如果所有节点对都相邻;图 $G$ 是有向的,如果所有边都是有向的。三个节点构成一个不道德结构或 $v$ - 结构,如果一个节点是另外两个不相邻节点的子节点。图 $G$ 的骨架不考虑边的方向。

路径和相关概念
  • 路径 :图 $G$ 中的路径是一系列(至少两个)不同的顶点 $i_1, …, i_m$,使得对于所有 $k = 1, …, m - 1$,$i_k$ 和 $i_{k + 1}$ 之间有边。
  • 碰撞节点 :如果 $i_{k - 1} \rightarrow i_k$ 且 $i_{k + 1} \rightarrow i_k$,则 $i_k$ 是相对于此路径的碰撞节点。
  • 有向路径 :如果对于所有 $k$,$i_k \rightarrow i_{k + 1}$,则我们称从 $i_1$ 到 $i_m$ 有一条有向路径,$i_1$ 是 $i_m$ 的祖先,$i_m$ 是 $i_1$ 的后代。
有向无环图(DAG)和 $d$ - 分离
  • 有向无环图 :图 $G$ 是有向无环图(DAG),如果它是部分有向无环图(PDAG)且所有边都是有向的。
  • $d$ - 分离 :在 DAG $G$ 中,节点 $i_1$ 和 $i_m$ 之间的路径被集合 $S$ 阻塞,当且仅当存在节点 $i_k$ 满足以下两种情况之一:
  • $i_k \in S$ 且 $i_{k - 1} \rightarrow i_k \rightarrow i_{k + 1}$ 或 $i_{k - 1} \leftarrow i_k \leftarrow i_{k + 1}$ 或 $i_{k - 1} \leftarrow i_k \rightarrow i_{k + 1}$。
  • $i_k$ 及其任何后代都不在 $S$ 中,且 $i_{k - 1} \rightarrow i_k \leftarrow i_{k + 1}$。
    我们说两个不相交的顶点子集 $A$ 和 $B$ 被第三个(也不相交)子集 $S$ $d$ - 分离,如果 $A$ 和 $B$ 之间的每条路径都被 $S$ 阻塞,记为 $A \perp!!!\perp_G B|S$。

2.3 结构因果模型(SCM)

定义

结构因果模型(SCM)$C := (S, P_N)$ 由 $d$ 个结构赋值 $X_j := f_j(PA_j, N_j)$($j = 1, …, d$)和噪声变量的联合分布 $P_N = P_{N_1, …, N_d}$ 组成,其中 $PA_j \subseteq {X_1, …, X_d} \setminus {X_j}$ 是 $X_j$ 的父节点,噪声变量要求联合独立。SCM 的图 $G$ 是通过为每个 $X_j$ 创建一个顶点,并从 $PA_j$ 中的每个父节点向 $X_j$ 绘制有向边得到的,并且我们假设这个图是无环的。

蕴含的分布

一个 SCM $C$ 定义了变量 $X = (X_1, …, X_d)$ 上的唯一分布,记为 $P^C_X$。我们可以通过“祖先采样”的过程从联合分布中采样数据点:首先生成独立同分布的样本 $N_1, …, N_n \sim P_N$,然后使用结构赋值依次生成独立同分布的数据点 $X_1, …, X_n \sim P_X$。

代码示例

以下代码生成了一个具有特定形式的 SCM 的独立同分布样本:

# generate a sample from the distribution entailed by the SCM
set.seed(1)
X3 <- runif(100)-0.5
X1 <- 2*X3 + rnorm(100)
X2 <- (0.5*X1)^2 + rnorm(100)^2
X4 <- X2 + 2*sin(X3 + rnorm(100))
线性循环赋值

考虑线性 SCM 的赋值 $X := BX + N$,其中 $B$ 是一个 $d \times d$ 矩阵,允许有循环结构,$N = (N_1, …, N_d) \sim P_N$。如果 $I - B$ 可逆,则对于每个 $N$ 的值,该方程诱导出 $X$ 的唯一解 $X = (I - B)^{-1}N$。我们可以将其解释为一个平衡过程的结果,通过迭代 $X_t := BX_{t - 1} + N$ 来实现。如果 $B^t \rightarrow 0$ 当 $t \rightarrow \infty$(即 $B$ 的特征值在单位圆内),则序列 $X_t$ 收敛,且极限分布与 $X = (I - B)^{-1}N$ 诱导的分布相同。

结构最小性

为了避免冗余描述,我们要求 SCM 满足结构最小性,即函数 $f_j$ 依赖于其所有输入参数。存在一个唯一的表示,其中每个函数具有最少的输入。从现在起,我们假设结构最小性成立。

与常微分方程的关系

在物理系统中,因果关系通常由一组耦合的微分方程控制。一个微分方程系统 $\dot{X} = f(X)$ 可以近似表示为 $X_{t + \Delta t} := X_t + \Delta t \cdot f(X_t)$,它包含了精细时间尺度上的因果结构信息。在某些稳定性假设下,我们可以通过分析平衡态的行为来评估干预的效果,这会引出一个描述平衡态的 SCM。

3. 结构因果模型的进一步探讨

3.1 分布与 SCM 的双向关系

前面提到一个 SCM 会定义变量上的唯一分布,那么反过来,是否任何分布都能由一个 SCM 所诱导呢?实际上,每个分布都可以由图结构为完全有向无环图(complete DAG,即任意一对顶点都相连的 DAG)的 SCM 所诱导。这意味着 SCM 的(观测)模型类,也就是能由 SCM 诱导出的分布集合,是所有分布的集合。

3.2 结构最小性的意义与证明

在前面我们要求 SCM 满足结构最小性,避免冗余描述。例如,对于两个 SCM:
- (S_1 : X := N_X, Y := 0·X + N_Y)
- (S_2 : X := N_X, Y := N_Y)

虽然 (0·X = 0),但我们会选择 (S_2) 这种表示。因为这样的两个 SCM 实际上会蕴含相同的观测分布、干预分布和反事实。并且,存在一个唯一的表示,其中每个函数具有最少的输入,我们在附录 C.3 中对这一结论进行了形式化证明。

3.3 线性循环 SCM 的深入分析

对于线性 SCM 的赋值 (X := BX + N),当 (I - B) 可逆时,有唯一解 (X = (I - B)^{-1}N)。我们可以从不同角度来理解这个解:
- 平衡过程解释 :考虑迭代 (X_t := BX_{t - 1} + N),若 (B^t \rightarrow 0)(当 (t \rightarrow \infty),即 (B) 的特征值在单位圆内),序列 (X_t) 收敛,其极限分布与 (X = (I - B)^{-1}N) 诱导的分布相同。这可以看作是一个平衡过程,随着时间推移,系统达到一个稳定状态。
- 时间序列视角 :如果在每次迭代中更新噪声,即 (X_t := BX_{t - 1} + N_{t - 1})(其中 (N_1, N_2, …) 是 (N) 的独立同分布副本),这就进入了时间序列的范畴,我们将在第 10.2 节详细讨论。

4. 多元因果模型中的重要概念总结

4.1 图论概念总结

为了更清晰地理解多元因果模型,我们对前面提到的图论概念进行总结:
|概念|定义|
| ---- | ---- |
|子图|图 (G_1 = (V_1, E_1)) 是 (G) 的子图,如果 (V_1 = V) 且 (E_1 \subseteq E);若 (E_1 \neq E),则为真子图|
|父节点和子节点|节点 (i) 是 (j) 的父节点,如果 ((i, j) \in E) 且 ((j, i) \notin E);节点 (i) 是 (j) 的子节点,如果 ((j, i) \in E) 且 ((i, j) \notin E)|
|相邻节点|节点 (i) 和 (j) 相邻,如果 ((i, j) \in E) 或 ((j, i) \in E)|
|完全连接图|所有节点对都相邻的图|
|有向图|所有边都是有向的图|
|不道德结构(v - 结构)|一个节点是另外两个不相邻节点的子节点的三个节点组合|
|图的骨架|不考虑边方向的图|
|路径|一系列(至少两个)不同的顶点 (i_1, …, i_m),使得对于所有 (k = 1, …, m - 1),(i_k) 和 (i_{k + 1}) 之间有边|
|碰撞节点|在路径中,若 (i_{k - 1} \rightarrow i_k) 且 (i_{k + 1} \rightarrow i_k),则 (i_k) 是碰撞节点|
|有向路径|对于路径中的所有 (k),(i_k \rightarrow i_{k + 1}) 的路径|
|祖先和后代|若从 (i_1) 到 (i_m) 有有向路径,则 (i_1) 是 (i_m) 的祖先,(i_m) 是 (i_1) 的后代|
|有向无环图(DAG)|是部分有向无环图且所有边都是有向的图|
|d - 分离|在 DAG (G) 中,节点 (i_1) 和 (i_m) 之间的路径被集合 (S) 阻塞满足特定条件,两个不相交的顶点子集 (A) 和 (B) 被 (S) (d) - 分离表示 (A) 和 (B) 之间的每条路径都被 (S) 阻塞,记为 (A \perp!!!\perp_G B|S)|

4.2 SCM 相关概念总结

概念 描述
SCM 定义 由 (d) 个结构赋值 (X_j := f_j(PA_j, N_j))((j = 1, …, d))和噪声变量的联合分布 (P_N = P_{N_1, …, N_d}) 组成,噪声变量联合独立,图 (G) 无环
蕴含分布 SCM (C) 定义变量 (X = (X_1, …, X_d)) 上的唯一分布 (P^C_X),可通过“祖先采样”从联合分布采样数据点
结构最小性 函数 (f_j) 依赖于其所有输入参数,存在唯一表示使每个函数输入最少
线性循环 SCM 赋值 (X := BX + N),当 (I - B) 可逆时有解 (X = (I - B)^{-1}N),可从平衡过程和时间序列等角度理解

4.3 因果推理中的关键流程

下面用 mermaid 流程图展示从数据到因果推理的大致流程:

graph LR
    A[数据收集] --> B[构建图结构]
    B --> C[定义 SCM]
    C --> D[计算蕴含分布]
    D --> E[进行干预分析]
    E --> F[得出因果结论]

在这个流程中,我们首先收集相关的数据,然后根据数据特点构建合适的图结构,基于图结构定义 SCM。接着计算 SCM 所蕴含的分布,通过对分布的分析进行干预分析,最终得出因果结论。整个过程是一个逐步深入的过程,每个步骤都为后续的推理提供基础。

总之,在机器学习的因果模型领域,协变量偏移让我们在处理不同数据集时能更合理地利用已有知识进行预测,而多元因果模型,尤其是结构因果模型,为我们提供了一个强大的工具来进行因果推理和学习。通过对图论概念、SCM 的定义和性质等方面的深入理解,我们能够更好地处理复杂的因果关系问题,为实际应用中的决策提供更可靠的依据。

更多推荐