引言
科学、决策制定以及日常逻辑中最基本的问题之一就是: “是 X 导致了 Y 吗?”
在一个完美的世界里,我们会通过对照实验来回答这个问题。我们会强迫人们吸烟以观察他们是否会患上肺癌,或者在真空中控制利率以观察通货膨胀如何反应。但在现实世界中,我们很少有这样的奢侈条件。我们通常只能通过观测数据 (observational data) ——即在无法控制变量的情况下发生的事件快照——来进行分析。
从观测中确定因果关系本身就很困难,而当我们引入潜变量 (latent variables) 时,这个问题就变得极其复杂了。潜变量是机器中的“幽灵”——那些影响我们观测到的变量但并未包含在数据集中的因素。例如,如果你正在分析“冰淇淋销量”与“溺水事故”之间的联系,一个潜变量就是“夏季高温”。如果你不考虑它,你可能会错误地得出结论: 吃冰淇淋会导致溺水。
传统上,研究人员使用有向无环图 (DAGs) 来映射这些关系。但当涉及潜变量时,标准的 DAG 往往会失效。为了解决这个问题,我们使用了更复杂的结构,如最大祖先图 (MAGs) 。 问题在于?大多数算法试图学习图的整个全局结构,仅仅是为了回答关于两个变量之间的一个简单问题。这就好比为了弄清楚你家街道是否与隔壁街道相连,而试图绘制整个纽约市的地图一样。这既低效又昂贵。
在这篇文章中,我们将深入探讨一篇名为 《Local Identifying Causal Relations in the Presence of Latent Variables》 (在潜变量存在时局部识别因果关系) 的研究论文。研究人员提出了一种名为 LocICR (Local Identifying Causal Relations,局部识别因果关系) 的新方法。该算法允许我们聚焦于特定的一对变量,并在局部确定它们的因果关系,忽略庞大网络中的其余部分,即使存在隐藏的混淆因素也能做到。
隐藏变量带来的问题
要理解解决方案,我们需要先了解潜变量造成的混乱。
在标准的因果模型中,我们假设具有因果充分性 (Causal Sufficiency) ,这意味着我们要观测的任何一对变量之间都不存在隐藏的共同原因。当这一假设成立时,我们使用 DAG。然而,在医学或社会学等领域,这一假设很少成立。
让我们看一个涉及儿童体内氧气分布的医学示例。

在图 1(a) 中,我们看到了“底层图 (Underlying Graph) ”。注意虚线框中的变量 Cardiac Mixing (心脏混合) 。这是一个潜变量——它存在,它影响系统,但我们无法直接测量它。
如果我们忽略这个潜变量并试图将标准的 DAG 拟合到观测数据上,我们会得到图 1(b) 。 请看从 Hypoxia in \(O_2\) (氧气缺氧) 指向 Hypoxia distribution (缺氧分布) 的红色箭头。DAG 声称这之间存在直接的因果联系。然而,回顾底层图 (a),并没有直接路径!这种关系实际上被隐藏的 Cardiac Mixing 混淆了。DAG 给出了一个因果关系的“假阳性”。
这就是最大祖先图 (MAGs) 发挥作用的地方,如图 1(c) 所示。MAG 旨在处理潜变量。MAG 不仅仅使用单向箭头 (\(\rightarrow\)) ,还使用双向边 (\(\leftrightarrow\)) 来表示由潜变量引起的混淆。在图 1(c) 中,MAG 正确地识别出 Hypoxia in \(O_2\) 和 Hypoxia distribution 仅仅是相关的 (可能通过一个隐藏的原因) ,而不是直接的因果关系。
目标: 从全局到局部
目前最先进的方法通常遵循“全局结构学习”的路径:
- 获取数据。
- 学习整个图 (通常表示为部分祖先图或 PAG , 它代表一类可能的 MAG) 。
- 查看 X 和 Y 之间的特定边是否具有因果关系。
如果你有成千上万的基因或社会变量,学习整个图是非常慢的 (NP 难) 。这篇论文的作者提出了一个问题: 我们能不能跳过全局地图,只查看 X 和 Y 的邻域来找到答案?
因果关系分类
在我们讨论“如何做”之前,必须先定义“是什么”。当我们观察带有潜变量的图中的一对变量 \((X, Y)\) 时,我们并不总能 100% 确定方向。相反,我们需要基于马尔可夫等价类 (MEC) 将关系分类。MEC 是所有能解释我们数据的有效图的集合。

如图 6 所示,这些关系包括:
- 不变非祖先 (Invariant Non-Ancestor) : 在解释数据的每一个有效图中,都没有从 X 到 Y 的有向路径。 (X 绝对不导致 Y) 。
- 不变祖先 (Invariant Ancestor) : 在每一个有效图中,都存在一条从 X 到 Y 的有向路径。 (X 绝对导致 Y) 。
- *显式 (Explicit) : * 在所有图中都存在一条特定的共同路径。
- *隐式 (Implicit) : * 每个图中都有一条路径,但路径可能会改变路线。
- 可能祖先 (Possible Ancestor) : 在某些有效图中 X 导致 Y,但在其他图中则不然。 (我们无法确定) 。
LocICR 算法的目标是仅利用局部信息,将一对变量 \((X, Y)\) 正确地归入这些类别之一。
核心方法: LocICR
这篇论文的精妙之处在于定义了“局部特征 (Local Characterizations) ”。作者从数学上证明,你不需要检查整个世界就能知道 X 是否导致 Y;你只需要检查一组特定的邻居。
1. 局部马尔可夫性质与“增广”集
为了局部地做到这一点,作者利用了马尔可夫覆盖 (Markov Blanket) 。通俗地说,X 的马尔可夫覆盖 (\(MB(X)\)) 是包含预测 X 所需所有信息的最小变量集。如果你知道了 \(MB(X)\),网络中任何其他变量的信息都不会让你对 X 有新的了解。

然而,由于潜变量的存在,仅仅知道邻居是不够的。作者引入了一个至关重要的概念: 增广父节点集 , 表示为 \(Pa^*(X)\)。
增广父节点集 (\(Pa^*\))
通常,“父节点”是指直接原因。但在 PAG (部分祖先图) 中,我们要处理的是“增广父节点”。这包括直接父节点以及通过特定“箭头-对撞路径” (看起来像 \(X \leftarrow \dots \leftarrow V\) 的路径) 连接的节点。
这为什么重要?作者推导出了一个局部规则 (定理 1) ,作为非因果关系的试金石:
定理 1 (非因果测试) : X 是 Y 的不变非祖先 , 当且仅当在给定增广父节点集的情况下,X 和 Y 是独立的。
数学表达为:
\[ X \perp \perp Y \mid P a ^ { * } ( X , \mathcal { P } ) \]如果你以这个特定的局部集合为条件,而 X 和 Y 之间的相关性消失了,那么 X 就不是 Y 的原因。
增广无向邻居集 (\(Ne^*\))
如果它们不独立呢?这是否意味着 X 导致 Y?不一定——这可能是伪相关或反向因果。为了确认因果关系,作者引入了第二个集合: 增广无向邻居集 (\(Ne^*\)) 。
这个集合考虑了图中的不确定性 (我们尚无法完全确定方向的边,用圆圈 \(\circ\) 表示) 。
定理 2 (因果测试) : X 是 Y 的显式不变祖先 (确定的原因) ,如果即使在以增广父节点和增广邻居为条件后,它们仍然相关。
2. 算法实战
LocICR 算法将这些定理结合成一个流程。它不查看整个图。它在 X 和 Y 周围构建一个“局部 PAG”。
让我们来看看作者提供的一个执行示例。假设我们要找出节点 J 和节点 F 之间的关系。
第一步: 学习局部结构
首先,算法识别目标变量 J 的马尔可夫覆盖。它查看数据并发现变量 \(A, G, F, B, C, D, H\) 是相关的。然后,它仅在该组内部执行独立性测试以绘制局部地图。

在图 8 中,你可以看到算法的演变过程:
- (a) 地面真值 (我们希望发现的结构) 。
- (b) 它学习 J 周围的结构。
- (d) 它稍微扩展以学习 G (一个邻居) 周围的结构。
- (f) 它学习 F 周围的结构。
- (h) 它将这些局部视图拼接成一个一致的局部 PAG 。
注意,它从未触及远离该集群的节点。它完全专注于相关的邻域。
第二步和第三步: 识别集合并测试
一旦构建了局部图,算法就会识别我们讨论过的集合: \(Pa^*\) (增广父节点) 和 \(Ne^*\) (邻居) 。

在图 9 中:
- (a) 显示了最终的局部结构。
- (c) 它识别出 \(Pa^*(J) = \{A, G\}\)。这些是阻断非因果路径的变量。
最后,算法运行统计测试: 在给定 \(\{A, G\}\) 的情况下,J 是否独立于 F?
在这个例子中,答案是否。依赖性依然存在。基于定理 2 的逻辑 (且因为此处邻居集为空) ,算法得出结论: J 是 F 的显式不变祖先。
实验与结果
这种方法实际上比“全局”方法更好吗?作者将 LocICR 与七种最先进的算法进行了对比测试,包括:
- PC-ITC / RFCI-Zhang: 先学习全局结构的方法。
- RFCI-LVIDA: 全局估计因果效应的方法。
他们使用了四个基准网络 (MILDEW、ALARM、WIN95PTS、ANDES) 并生成了带有随机潜变量的合成数据。
准确性 (F1 分数)
主要指标是加权 F1 分数 , 它平衡了精确率 (预测的原因中有多少是真实的) 和召回率 (发现了多少真实的原因) 。

请看图 4 左侧的图表 (“WF1 Score”列) 。
- 红色方块线 (LocICR) 始终位于顶部。
- 这表明 LocICR 在正确分类关系方面不仅能匹敌,而且往往优于全局方法。
- 全局方法往往表现不佳,因为图的远处部分的错误可能会传播并破坏 X 和 Y 附近的结构。局部方法则与这些远处错误隔绝。
效率 (测试次数)
真正的杀手级特性是效率。请看图 4 右侧的图表 (“nTest”列) 。
- Y 轴表示执行的条件独立性测试的数量。
- 红色方块线 (LocICR) 始终位于底部附近。
- 全局方法 (如青色和紫色线) 需要极其大量的统计测试。
解读: LocICR 更频繁地得到正确答案,而且是以极少的计算工作量完成的。
现实世界应用
作者并没有止步于模拟。他们将 LocICR 应用于一个现实世界的数据集: 综合社会调查 (General Social Survey) 。 他们研究了诸如父亲职业、儿子受教育程度和儿子收入等变量。
利用领域知识,我们普遍认为父亲的职业影响儿子的受教育程度,进而影响儿子的收入。
- LocICR 结果: 它识别出父亲职业是儿子受教育程度的不变祖先。
- LocICR 结果: 它识别出父亲职业是儿子收入的不变祖先。
它还正确识别了非因果对。例如,它发现儿子收入是兄弟姐妹数量的不变非祖先 (这是合理的——你今天的收入无法追溯性地改变你出生时有多少兄弟姐妹) 。
结论与启示
因果发现常被视为一项“全有或全无”的任务: 要么绘制整个系统,要么一无所知。这篇论文挑战了这一观点。
通过开发一种在潜变量存在时识别局部因果关系的数学上可靠的方法,作者提供了一种可扩展到海量数据集的工具。如果生物学家想知道基因 A 是否导致基因 B,他们不再需要绘制整个人类基因组的相互作用网络来寻找答案。他们只需要查看邻域即可。
主要收获:
- 潜变量很重要: 忽略它们会导致错误的结论 (如标准 DAG) 。
- 全局方法很慢: 对于特定问题,学习整个图是不必要的。
- 局部方法就足够: 通过使用增广父节点集和局部 PAG,我们可以从数学上证明特定配对的因果关系 (或缺乏因果关系) 。
- 效率: LocICR 以一小部分的计算成本提供了最先进的准确性。
这种方法为流行病学、遗传学和经济学等复杂、数据丰富领域的更稳健的因果推断打开了大门,在这些领域中,隐藏变量总是方程的一部分。
](https://deep-paper.org/en/paper/5772_local_identifying_causal_-1657/images/cover.png)