(本文阅读时间:16分钟)
因果发现(causal discovery)是数据科学和机器学习中的关键领域,其任务是通过算法从数据中提取因果联系,并用因果图进行表示。因果发现对于理解复杂系统、支持政策制定、医学和社会科学研究等领域具有重要意义。
传统上,基于观测数据的因果发现主要有三类方法:基于约束、评分和连续优化。
基于约束的方法:通过统计测试来判断变量之间的独立性和依赖性,从而构建与独立性相容的因果图。这类方法依赖条件独立性测试,旨在设计更鲁棒、更快速的测试算法或结合搜索策略提高效率。常用算法包括 PC 和 FCI。
基于评分的方法:通过为每个可能的因果图分配评分,并寻找得分最高的结构。评分依据的是数据拟合程度和模型复杂性,其常用准则为贝叶斯信息准则(BIC)和贝叶斯狄利克雷等价均匀准则(BDeu),算法主要围绕组合优化求解和启发式搜索,比如 GES。
基于连续优化的方法:将离散的组合优化问题转换为连续优化问题,在近年成为研究热点。例如,NOTEARS 算法将因果发现问题转化为了连续优化问题,并使用梯度下降等技术进行求解。
这些传统方法体现了因果发现领域过去的主流方法论,即将人类的智慧编码成巧妙的算法,来提高因果发现任务的性能。然而,来自微软(亚洲)互联网工程院 DKI 组、香港科技大学和卡内基梅隆大学(CMU)的研究员们尝试着改变思路,从基于学习的方法论(learning-based)入手,着眼于实证性能(empirical performance-driven)来探讨一种基于监督学习的因果发现新范式(supervision-based causal discovery)。该范式聚焦训练数据获取、学习任务定义、学习目标设计、实现端到端的因果关系识别,同时严肃对待因果发现的核心概念:分析可学习性 (learnability) 与因果结构可辨识性(identifiability)的关系。
注:基于学习的方法论成为可能的前提是,因果发现任务具备“自监督学习”的特质:可以自动合成大量 <Gi, Di> 配对,其中 Gi 是因果图,Di 是与之相容的观测数据。然后令 Di 作为模型输入,Gi 作为标注。
下面,我们一起来了解一下如何在因果定向(causal orientation)、因果骨架学习(casual skeleton learning)以及处理潜在混杂因素时的因果发现(causal discovery in the presence of latent confounders)领域的一系列探索中完成对该范式的构建。这也将为未来该领域的探索提供崭新的思路。
可识别性是指根据观察数据确定唯一模型的能力,是因果发现的重中之重。在传统的因果发现算法中,人们通常基于对数据生成过程的某些假设,来设计合适的特征以识别因果结构,例如基于不对称性。然而,研究员们选择改变思路,从机器学习的视角出发,在数据中直接学得这些特征来帮助识别因果结构,从而提升性能。
这其中的关键在于,学习目标应该如何定义?换言之,哪些数据特征应作为识别对象帮助判断因果结构?
为了回答这个问题,研究员们聚焦于无需参数化假设的方法,仅利用观测数据的条件独立关系来推测因果结构。在这个过程中,研究员们发现两个因果图如 X→Y→Z 和 X←Y←Z 完全无法区分,因为它们蕴含的条件独立关系完全相同(唯一的独立关系是 X⊥Z∣Y),因此,研究员们指出,不可以直接拿因果的有向边作为学习目标,这将使监督模型无法收敛。
在一般情况下,研究员们认为其可识别的目标分为两类:两个变量是否邻接,以及确定邻接关系后对变量进行定向。前者与骨架学习相关,后者与因果定向相关。对于后者,研究员们发现,对于一个未遮挡三元组 X-Y-Z 来说,X 和 Y、Y 和 Z 邻接,而 X 和 Z 不相连,因此一定存在一个剩余变量的子集 S,使得 X⊥Z∣S。在此基础上,研究员们提出了 V-结构(V-structure,即 X→Y←Z)的定向规则:当且仅当 Y 不属于 X 和 Z 的条件独立集 S,并将其设定为主要的学习目标。
综上,V-结构的识别看似简单,只需查看一个未遮挡三元组 X-Y-Z 的中间变量 Y 是否属于 X 和 Z 的任意一个条件独立集 S。然而,在实际应用中,这种判断容易导致识别错误,进而产生级联效应。因此,已有研究尝试了不同的方法,如比较 X 和 Z 在给定 S 和给定 S∪{Y} 时条件独立度量的区别(更精细且定量化的准则)。另外,考虑到不止有一个这样的条件独立集 S,可以计算所有条件独立集 S 中 Y 出现的比例。例如,保守 PC(conservative PC, CPC)判定 V-结构当且仅当 Y 不在任何 S 中出现,而稳定 PC(PC-stable)判定 V-结构当且仅当 Y 在少于50%的 S 中出现。这个阈值是可以调整的。研究员们观察到,不管是原有的 PC,还是改进后的 CPC、PC-stable,理论上都是同样正确的。但是,后两者比原有 PC 显得更“精细”,因为它有更复杂的分类机制、用到了更多(一定意义上更全面)的信息来做判断,也因此有更好的实际表现。这些非监督的、依赖手工确定的方法也完全可以看作是特征,但这些特征从机器学习的角度来看,又过于简单。所以,研究员们利用监督学习,不再采用这些简单的手工分类机制,而是直接从数据中自动学得更精细、复杂、全面的分类机制——尽管这些机制可能不容易解释,但由于假设学习目标是可辨识的,所以可以放心使用监督带来的性能提升。
为了识别 V-结构,研究员们设计了 ML4C 算法,其不再采用简单的手工分类机制,而是利用监督学习直接从数据中自动学得更精细、复杂、全面的分类机制。具体而言,ML4C 假设已获得正确的无向图,然后利用监督学习进行二分类任务,以判断每个未遮挡三元组是否为 V-结构。一旦识别出 V-结构,ML4C 将应用 Meek 规则生成最终的 CPDAG。更具创新的是,ML4C 能扩展特征集,不仅关注未遮挡三元组的变量,还包括邻域中的条件依赖关系和结构纠缠,从而增强 V-结构识别的准确性。
通过生成模拟训练数据并使用机器学习算法训练分类器,ML4C 达到了渐进正确性,并表现出高鲁棒性,在性能评估中也优于传统算法,在多个标准数据集上表现优异,尤其是在噪声较大的数据环境中。深入分析表明,ML4C 不仅确保了理论上的可学习性,还展示了在不同样本量和不完美骨架输入下的容错性和稳定性,显示出其在实际应用中的潜力。作为研究员们在探索监督因果学习上迈出的第一步,ML4C 初试锋芒便取得了鼓舞人心的成绩。
ML4C: Seeing Causality Through Latent Vicinity. Haoyue Dai, Rui Ding, Yuanyuan Jiang, Shi Han, Dongmei Zhang. SDM 2023
https://epubs.siam.org/doi/10.1137/1.9781611977653.ch26
尽管在识别 V-结构中获得了卓有成效的进展,但当研究员们尝试将类似的思路应用到因果骨架学习任务时,却遇到了相当大的阻碍。因果骨架学习旨在从观测数据中识别因果图的无向图(即因果骨架,causal skeleton),这是因果发现和许多其他下游应用的关键步骤。然而,ML4C 依赖于随机生成的数据,往往与 test-time 数据存在较大的偏离。例如在图1中,研究员们发现不论是基于 ER 或者是 SF 等随机模型生成的训练数据上,都难以精准恢复正确的因果骨架结构。
图1:ML4S 模型在不同测试数据(行)和不同的训练数据分布(列)下的表现(F1-Score)
为了解决这个问题,在 test-time training 等学习范式的启发下,研究员们提出了基于 Vicinal 图的学习算法,显著提高了 ML4S 模型的预测精度。Vicinal 图的生成致力于创建与测试数据(即 test-time 数据)分布相似的图结构,用于训练监督学习模型。这些图结构不仅保留了原始测试数据的统计特性,还能有效应对“领域转移”(domain shift)问题,从而提高因果骨架学习的准确性和鲁棒性。
图2:生成 Vicinal 图
在技术设计上,研究员们采用了现有因果发现算法(如 PC 算法)从 test-time 观测数据中学习代理因果图,并用极大似然估计(MLE)方法估算其每个节点的条件概率表(Conditional Probability Table,CPT)以参数化,随后,通过对该参数化因果图所代表的联合概率分布进行采样,生成与观测数据分布相似的大量样本。同时,为了减少代理因果图的偏差,研究员们还通过插入和删除边等变异(mutation)策略生成了多样性的邻近图,并重新分配 CPT 以保持分布相似性。这种测试时训练样本的获取和学习(test-time training)的技术,旨在克服由于测试样本不服从训练数据分布而导致的机器学习泛化问题。
此外,研究员们还优化了任务目标、模型架构和特征提取,例如提出使用顺序级联分类器(cascade classifier)架构来预测因果骨架中两个节点的邻接关系,设计定量且结构感知的特征提取方法来获得更细粒度的数据信息(具体技术细节可见论文原文)。
图3呈现了 ML4S 在不同数据集下与 SOTA 算法的优劣比较,其中蓝色格子表示 ML4S 在该数据集下所生成的因果骨架的 F1 Score 高于该算法,而红色/橙色格子表示 ML4S 的 F1 Score 低于所比较的算法。该图表明,ML4S 在绝大多数情况下均优于现有的方法,尤其是在处理节点数量较多的数据集时,表现尤为突出。
图3:ML4S 在不同数据集下与 SOTA 算法的比较
ML4S: Learning Causal Skeleton from Vicinal Graphs. Pingchuan Ma, Rui Ding, Haoyue Dai, Yuanyuan Jiang, Shuai Wang, Shi Han, and Dongmei Zhang. KDD 2022
https://dl.acm.org/doi/10.1145/3534678.3539447
在潜在混杂因素存在的情况下,因果发现更具挑战性。潜在混杂因素广泛存在于真实数据中,其表示了一个数据集内的两个变量同时受到同一外部变量的影响。研究员们指出,虽然现有的可微分因果发现方法在学习有向无环图(DAGs)方面取得了显著进展,但在处理包含潜在混杂因素的实际数据集时仍然受到限制。这是因为现有的方法难以扩展到较大的数据集(如包含50个以上变量的数据集)上。在 ML4S 的基础上,研究员们发现,因果骨架在提高准确性和减少优化过程的搜索空间方面具有较大潜力,如果能够事先知道数据对应的因果骨架,就可以将可微因果发现的优化过程加入额外的等式约束,从而提升可微分因果发现的性能。
在这个思路下,研究员们设计了 SPOT 方法,其关键思想是利用骨架后验(skeleton posterior)来引导潜在混杂因素下的可微分因果发现。与传统的“点估计”(point estimation)不同,SPOT 旨在估计给定数据集的因果骨架的后验分布 P(S∣D),并根据 P(S∣D) 的数值,对因果图邻接矩阵中响应数值的梯度进行后处理,从而引导优化过程。
图4:潜在混杂因素下的因果图结构表示,(a) 中 Z 是一个可观测的混杂变量, (b) 中 Z 是一个不可预测的潜在混杂变量,因此需要使用双向箭头 ↔ 表示 X 和 Y 之间由潜在混杂因素引起的关联
在 SPOT 中,研究员们还引入了动态和静态数据生成模式,以应对原有 ML4S 方法中可能出现的模型偏差、混杂因素情况不适用的问题。同时,研究员们还设计了一种随机优化策略,其会根据 P(S_ij∣D)的值,以特定的概率将 Δ_ij 赋值为零,来对优化变量进行每一步更新。
图5展示了不同模式对潜在混杂因素下可微因果发现的性能提升。基线方法 ABIC 在三个指标上的表现相对较低,这表明不利用任何骨架后验信息的方法在处理潜在混杂因素时效果有限。使用真实骨架进行优化的方法(w/ True Skeleton)在所有指标上都达到了最高值(理想化的上限性能),显著优于其他方法,表明准确的骨架信息对因果发现性能的提升是非常重要的。利用 FCI 算法估计的骨架进行优化的方法(w/ FCI),相比 ABIC 略有提升,但提升幅度有限,可能是因为 FCI 算法在处理复杂数据时的骨架估计并不完全准确。利用骨架后验指导优化过程的 SPOT 方法在所有指标上均优于 ABIC 和 w/ FCI,接近理想化的 w/ True Skeleton,这表明骨架后验的引导能够有效提升因果发现的准确性,尤其是在处理复杂和潜在混杂因素的情况下。
图5:不同模式对潜在混杂因素下可微因果发现的性能提升
综上所述,图5的结果表明,使用骨架后验信息(如 SPOT 方法)显著提高了因果发现的性能,特别是在有向边箭头和尾部的准确性上。虽然理想化的真实骨架提供了最好的性能,但 SPOT 方法在实际应用中展示了其有效性和优越性,表明在因果发现任务中引入骨架后验是一种非常有前景的策略。
Scalable Differentiable Causal Discovery in the Presence of Latent Confounders with Skeleton Posterior. Pingchuan Ma, Rui Ding, Qiang Fu, Jiaru Zhang, Shuai Wang, Shi Han, and Dongmei Zhang. KDD 2024
https://arxiv.org/abs/2406.10537
随着数据科学和机器学习技术的迅猛发展,数据驱动的因果发现在科学研究和实际应用中展现出巨大的潜力。然而,当前的因果发现方法仍然面临许多挑战,包括高维数据的处理、复杂因果结构的识别以及潜在混杂因素的影响。通过引入先进的机器学习技术和创新的方法,研究员们正在逐步突破这些瓶颈,开启数据驱动因果发现的新范式。这不仅能为因果分析提供新的思路,也将会为科学研究和实际应用中的因果发现带来新的可能性,对未来的因果研究产生深远影响。
你也许还想看: