2. 佛山科学技术学院 数学与大数据学院, 广东 佛山 528000
2. School of Mathematics and Big Data, Foshan University, Foshan, Guangdong 528000, China
开放科学(资源服务)标志码(OSID):
因果网络是一种描述多维数据间因果关系的网络[1-3],在地球系统学[4-5]、生物基因学[6]等领域均具有广泛应用。随机试验是因果关系推断的黄金标准[7],然而通常存在实现成本高、实际操作困难等问题。因此,如何从观测数据中推断出因果结构是一个重要且具有挑战性的课题。目前,研究人员已提出一系列从数据中发现因果关系的方法[8],但仅能观测到整个因果结构的部分变量,还有研究人员针对存在隐变量的因果结构学习提出FCI[1]、RFCI[9]、GFCI[10]等算法,然而这类算法具有大量不可识别的因果边。对于某个不存在v-结构[6]的因果对,如果其结果变量无法观测,只能观测到结果变量的子代,那么就存在一条级联式传递的因果关系,而这样的因果关系通常会破坏非线性函数式因果模型的可识别性。CAI等[11]在2019年提出级联加性噪声模型(Cascade Additive Noise Model,CANM),该模型在数据服从非线性加性噪声假设下级联结构仍是可识别的,但只能识别两个结点的因果对,无法学习因果结构。本文针对包含隐变量的级联加性噪声模型,结合基于约束的因果骨架学习算法以及级联函数式因果模型,提出一种混合因果结构学习算法。
1 相关工作从观测数据中学习因果网络主要包括面向时序序列(如格兰杰因果[12]、基于神经网络的联合识别方法[13]等)以及非时序序列两类算法。本文主要针对非时序数据,从非时序观测数据中学习因果网络分为以下两类方法:第一类是基于独立性的方法,包括基于约束[1]、基于评分[14]等方法,此类方法存在无法有效区分马尔科夫等价类的问题[15],导致无法推断部分因果结构;第二类是基于函数的方法,此类方法通常假设原因变量与结果变量间存在某种特定的函数映射关系,使得结果变量是由相互独立的原因变量与噪声变量经过映射得到的。通过判断该噪声与原因变量的独立性,在某些条件下能够推断出因果关系的方向,将这类可以推断因果方向的模型称为可识别模型,典型的函数式因果模型一般只考虑两个结点的因果对关系,主要包括线性非高斯无环模型(Linear Non-Gaussian Acyclic Model,LiNGAM)[16-17]、非线性加性噪声模型(Additive Noise Model,ANM)[18]、后非线性(Post-Nonlinear,PNL)因果模型[19]。
2 基于CANM的因果结构学习框架定义因果结构为图
本文使用一种典型因果结构[20]来表达隐因果结构网络。简而言之,对于因果路径,若
本文的目标是学习典型因果结构网络。图 1给出了基于级联非线性加性噪声模型的因果结构学习算法SCANM框架。该框架分为两个阶段:第一阶段是将输入的观测数据通过因果骨架来学习因果变量间的骨架;第二阶段利用级联非线性加性噪声模型,针对存在隐变量的数据进行因果方向推断。
![]() |
Download:
|
图 1 因果结构学习框架 Fig. 1 Causal structure learning framework |
因果骨架学习的基本流程为:首先初始化一个完全图作为因果结构;其次使用条件独立性检验对独立边进行删边,直到无法再删除边为止。
算法1 因果骨架学习
输入 样本集
输出 因果骨架
1.将G初始化为完全图
2.
3.Repeat
4.
5.Repeat
6.选择所有在G中相邻且满足条件
7.Repeat
8.选择所有满足
9.Until
10.Until所有边都被遍历一遍
11.Until已经找不到满足条件
12.Return因果骨架G
在算法1中有3层关键的循环:第1层循环(第3行)的目的是从小到大遍历不同长度的条件集以测试条件独立性,条件集长度从0开始,即初始条件集为空集。这么做是因为如果条件越多,那么条件独立性的判断会越不准确,所以倾向于从小到大遍历。第2层循环(第5行)的目的是找到每条满足给定条件集的边,此外,对于某条边
通过因果骨架学习找到典型因果骨架后,需要对每条边进行因果定向。由于隐变量的存在且在因果充分性假设下,因此会遇到
对于第1类结构已在非线性级联加性噪声模型中得到解决。对于第2类结构,CANM是没有考虑的,即
$ \begin{array}{*{20}{l}} {{\rm{lo}}{{\rm{g}}_a}\prod\limits_{i = 1}^m {\int {{p_\theta }} } ({x^{\left( i \right)}}, {y^{\left( i \right)}}, z){\rm{d}}z = }\\ {{\rm{lo}}{{\rm{g}}_a}\prod\limits_{i = 1}^m {\int {{p_\theta }} } \left( {{x^{\left( i \right)}}} \right){p_\theta }({y^{\left( i \right)}}|z){p_\theta }(z|{x^{\left( i \right)}}){\rm{d}}z = }\\ {{\rm{lo}}{{\rm{g}}_a}\prod\limits_{i = 1}^m {\int p } \left( {{x^{\left( i \right)}}} \right){p_\theta }({\varepsilon ^{\left( i \right)}} = {y^{\left( i \right)}} - f(x, {n_z}))p\left( {{n_z}} \right){\rm{d}}{n_z} = }\\ {{\rm{lo}}{{\rm{g}}_a}\prod\limits_{i = 1}^m {\int p } \left( {{x^{\left( i \right)}}} \right){p_\theta }({\varepsilon ^{\left( i \right)}} = {y^{\left( i \right)}} - \hat f(x, {z^ * }))p\left( {{z^ * }} \right){\rm{d}}{z^ * } = }\\ {{\rm{lo}}{{\rm{g}}_a}\prod\limits_{i = 1}^m {\int {{p_\theta }} } ({x^{\left( i \right)}}, {y^{\left( i \right)}}, {z^ * }){\rm{d}}{z^ * }} \end{array} $ | (1) |
其中:
根据式(1)可进一步将单个隐变量推广到多个,并且它们的噪声用向量
$ \begin{array}{*{20}{l}} {{\rm{lo}}{{\rm{g}}_a}\prod\limits_{i = 1}^m {\int {{p_\theta }} } ({x^{\left( i \right)}}, {y^{\left( i \right)}}, \mathit{\boldsymbol{n}}){\rm{d}}\mathit{\boldsymbol{n}} = }\\ {{\rm{lo}}{{\rm{g}}_a}\prod\limits_{i = 1}^m {\int p } \left( {{x^{\left( i \right)}}} \right){p_\theta }({\varepsilon ^{\left( i \right)}} = {y^{\left( i \right)}} - f(x, \mathit{\boldsymbol{n}}))p\left( \mathit{\boldsymbol{n}} \right){\rm{d}}\mathit{\boldsymbol{n}} = }\\ {{\rm{lo}}{{\rm{g}}_a}\prod\limits_{i = 1}^m {\int {{p_\theta }} } ({x^{\left( i \right)}}, {y^{\left( i \right)}}, \mathit{\boldsymbol{n}}){\rm{d}}\mathit{\boldsymbol{n}}} \end{array} $ | (2) |
基于式(2)可以给出在样本点
$ \begin{array}{*{20}{l}} {{\rm{lo}}{{\rm{g}}_a}\int {{p_\theta }} ({x^{\left( i \right)}}, {\varepsilon ^{\left( i \right)}}, \mathit{\boldsymbol{n}}){\rm{d}}\mathit{\boldsymbol{n}} \ge }\\ {{E_{\mathit{\boldsymbol{n}} \sim {q_\phi }(\mathit{\boldsymbol{n}}|{x^{\left( i \right)}}, {y^{\left( i \right)}})}}\left[ { - {\rm{lo}}{{\rm{g}}_a}{q_\varphi }\left( {\mathit{\boldsymbol{n}}|{x^{\left( i \right)}}, {y^{\left( i \right)}}} \right)} \right.\left. { + {\rm{lo}}{{\rm{g}}_a}{p_\theta }\left( {{x^{\left( i \right)}}, {\varepsilon ^{\left( i \right)}}, \mathit{\boldsymbol{n}}} \right)} \right] = }\\ {{\rm{lo}}{{\rm{g}}_a}p\left( {{x^{\left( i \right)}}} \right) - {\rm{KL}}({q_\varphi }(\mathit{\boldsymbol{n}}|{x^{\left( i \right)}}, {y^{\left( i \right)}})\left\| {{p_\theta }\left( {{\rm{ }}\mathit{\boldsymbol{n}}} \right)) + } \right.}\\ {{E_{\mathit{\boldsymbol{n}} \sim {q_\phi }(\mathit{\boldsymbol{n}}|{x^{\left( i \right)}}, {y^{\left( i \right)}})}}\left[ {{\rm{lo}}{{\rm{g}}_a}p\left( {{\varepsilon ^{\left( i \right)}} = {y^{\left( i \right)}} - f\left( {{x^{\left( i \right)}}, \mathit{\boldsymbol{n}};\theta } \right)} \right)} \right]} \end{array} $ | (3) |
其中:
为更好地优化边缘似然度的同时近似后验分布
$ \begin{array}{*{20}{l}} {{\rm{lo}}{{\rm{g}}_a}\int {{p_\theta }} ({x^{\left( i \right)}}, {\varepsilon ^{\left( i \right)}}, \mathit{\boldsymbol{n}}){\rm{d}}\mathit{\boldsymbol{n}} \ge }\\ {{\rm{lo}}{{\rm{g}}_a}p\left( {{x^{\left( i \right)}}} \right) - {\rm{KL}}({q_\phi }(\mathit{\boldsymbol{n}}|{x^{\left( i \right)}}, {y^{\left( i \right)}})\left\| {{p_\theta }\left( \mathit{\boldsymbol{n}} \right)) + } \right.}\\ {{E_{u \sim N(0, \mathit{\boldsymbol{I}})}}\left[ {{\rm{lo}}{{\rm{g}}_a}p\left( {{\varepsilon ^{\left( i \right)}} = {y^{\left( i \right)}} - f\left( {{x^{\left( i \right)}}, \mu _\phi ^{\left( i \right)} + \sigma _\phi ^{\left( i \right)}u;\mathit{\boldsymbol{\theta }}} \right)} \right)} \right]} \end{array} $ | (4) |
其中:
在得到各种隐变量结构下仍然适用的因果方向推断方法后,将这种结构级联非线性加性噪声模型应用到典型因果骨架上,得到一种基于级联非线性加性噪声模型的混合因果结构学习算法。
算法2 混合因果结构学习
输入 样本集
输出 因果结构
1.使用算法1学习出典型因果骨架
2.For每个因果对
3.针对
4.针对
5.If
6.
7.Else if
8.
9.Else
10.
11.End if
12.End For
13.Return典型因果结构
算法2分为两个阶段:第一阶段是使用算法1学习出典型因果骨架(第1行);第二阶段是使用级联非线性加性噪声模型对每个因果边进行方向推断(第2~12行)。最终算法的输出是典型因果结构(第13行),该结构揭示了变量间存在隐变量下的因果结构关系。
4 实验与结果分析使用虚拟因果结构与真实结构数据集对模型进行评估,将本文SCANM算法与以下主流因果结构学习算法进行对比:1)基于盲源分离方法在线性非高斯数据下进行因果结构学习的LiNGAM算法[16];2)基于爬山法与贝叶斯评分进行因果结构搜索的HC算法[23];3)将约束与贝叶斯评分两者集成进行因果结构搜索的MMHC算法[24]。为验证隐变量建模的有效性,在因果结构上的每一个因果对之间均会引入额外的隐变量,该隐变量满足级联加性噪声的形式。在实验中,每组参数都至少运行80次以上,并采用F1值(F)作为评价指标,计算公式如下:
$ F=2\times \frac{\mathrm{正}\mathrm{确}\mathrm{边}\mathrm{数}\mathrm{量}}{\mathrm{拟}\mathrm{合}\mathrm{结}\mathrm{构}\mathrm{边}\mathrm{数}\mathrm{量}+\mathrm{真}\mathrm{实}\mathrm{结}\mathrm{构}\mathrm{边}\mathrm{数}\mathrm{量}} $ | (5) |
在虚拟因果结构数据集中设计4个变量控制实验,每个实验都会随机生成不同的虚拟因果结构,具体设置为:隐变量数量为0、1、2、3、4,结构维度为6、10、15、20,平均入度为1.0、1.5、2.0,样本数量为250、500、1 000、2 000、3 000、4 000、5 000,其中加粗数据表示在各控制实验中的默认设置。
图 2给出了不同隐变量数量下的实验结果。由图 2可以看出:一方面,SCANM算法在0个和1个隐变量下F1值都在0.87附近,验证了隐变量实验的有效性;另一方面,随着隐变量数量的增加,在隐变量数量为4时,SCANM算法的F1值下降至0.73,这是因为隐变量的增加会导致信噪比的降低,从而影响模型学习效果。
![]() |
Download:
|
图 2 不同隐变量数量下的实验结果 Fig. 2 Experimental results under different number of hidden variables |
图 3给出了不同结构维度下的实验结果,可以看出在不同的结构维度下SCANM算法的F1值在0.83附近波动,这意味着级联非线性加性噪声模型在不同的结构维度下具有较强的鲁棒性。
![]() |
Download:
|
图 3 不同结构维度下的实验结果 Fig. 3 Experimental results under different structural dimensions |
图 4给出了不同平均入度下的实验结果。由图 4可以看出,HC与MMHC算法对平均入度较为敏感,而且随着平均入度的增加F1值下降比较明显,尤其在平均入度在1.0~1.5时,F1值下降了近0.1,其原因是当边数较多时,若算法无法识别存在的隐变量,则出错的边数会增多,从而使得F1值下降,而SCANM算法由于对于隐变量的方向也可识别,因此对平均入度不敏感。
![]() |
Download:
|
图 4 不同平均入度下的实验结果 Fig. 4 Experimental results under different average in-degree |
图 5给出了不同样本数量下的实验结果。由图 5可以看出,所有算法对于样本数量都较为敏感,样本数量是一个较为重要的变量。尽管在样本数量较少时,所有算法的F1值均不太理想,但SCANM算法的F1值仍至少比其他算法高0.15,体现出其性能的优越性。
![]() |
Download:
|
图 5 不同样本数量下的实验结果 Fig. 5 Experimental results under different number of samples |
选择4种真实结构进行测试,真实结构数据来自https://www.bnlearn.com/bnrepository/,具体信息如表 1所示。
![]() |
下载CSV 表 1 真实因果结构数据集信息 Table 1 Real causal structure dataset information |
在真实因果结构数据集实验中使用F1值、准确率、召回率作为评价指标,计算公式如下:
$ \mathrm{准}\mathrm{确}\mathrm{率}=\frac{\mathrm{正}\mathrm{确}\mathrm{边}\mathrm{数}\mathrm{量}}{\mathrm{预}\mathrm{测}\mathrm{结}\mathrm{构}\mathrm{边}\mathrm{数}\mathrm{量}} $ | (6) |
$ \mathrm{召}\mathrm{回}\mathrm{率}=\frac{\mathrm{正}\mathrm{确}\mathrm{边}\mathrm{数}\mathrm{量}}{\mathrm{真}\mathrm{实}\mathrm{结}\mathrm{构}\mathrm{边}\mathrm{数}\mathrm{量}} $ | (7) |
在真实因果结构数据集中,使用与虚拟因果结构数据集实验相同的设置,实验结果如图 6~图 8所示,总体而言,SCANM算法在不同真实结构的平均F1值为0.82,相比其他算法提升了51%。特别地,可以看出:在不同的真实结构中SCANM算法均取得了最好的效果,尤其在sachs结构中,其原因是sachs结构的平均入度更大,级联非线性加性噪声模型在该情况下具有更好的效果;对比算法在不同的真实结构中召回率偏高而准确率偏低,尤其在child结构中最为明显,主要原因为没有考虑隐变量的存在,容易学习出冗余边。上述结果验证了SCANM算法的有效性。
![]() |
Download:
|
图 6 真实因果结构数据集中的算法F1值比较 Fig. 6 Comparison of F1 values for algorithms in real causal structure dataset |
![]() |
Download:
|
图 7 真实因果结构数据集中的算法准确率比较 Fig. 7 Comparison of precision for algorithms in real causal structure dataset |
![]() |
Download:
|
图 8 真实因果结构数据集中的算法召回率比较 Fig. 8 Comparison of recall for algorithms in real causal structure dataset |
本文提出一种基于结构级联非线性加性噪声模型的因果结构学习算法,通过联合传统基于独立性的因果骨架学习算法以及级联加性噪声模型,解决了存在隐变量的因果结构学习问题。实验结果表明,在虚拟结构数据集和真实结构数据集下,该算法相比主流因果结构学习算法准确率更高、鲁棒性更强。后续将研究不满足因果充分性假设下的因果结构学习算法,进一步扩展级联非线性加性噪声模型的适用范围。
[1] |
SPIRTES P, GLYMOUR C, SCHEINES R. Causation, prediction, and search[M]. Cambridge, USA: MIT Press, 2001.
|
[2] |
PEARL J. Causality: models, reasoning and inference[M]. Cambridge, UK: Cambridge University Press, 2009.
|
[3] |
蔡瑞初, 陈薇, 张坤, 等. 基于非时序观察数据的因果关系发现综述[J]. 计算机学报, 2017, 40(6): 1470-1490. CAI R C, CHEN W, ZHANG K, et al. A survey on nontemporal series observational data based causal discovery[J]. Chinese Journal of Computers, 2017, 40(6): 1470-1490. (in Chinese) |
[4] |
CAI R C, ZHANG Z J, HAO Z F, et al. Understanding social causalities behind human action sequences[J]. IEEE Transactions on Neural Networks and Learning Systems, 2017, 28(8): 1801-1813. DOI:10.1109/TNNLS.2016.2556724 |
[5] |
RUNGE J, BATHIANY S, BOLLT E, et al. Inferring causation from time series in earth system sciences[J]. Nature Communications, 2019, 10: 2553-2567. DOI:10.1038/s41467-019-10105-3 |
[6] |
CAI R C, ZHANG Z J, HAO Z F. Causal gene identification using combinatorial v-structure search[J]. Neural Networks, 2013, 43: 63-71. DOI:10.1016/j.neunet.2013.01.025 |
[7] |
HERNÁN M A, ROBINS J M. Causal inference[M]. Boca Raton, USA: CRC Press, 2010.
|
[8] |
MOOIJ J M, PETERS J, JANZING D, et al. Distinguishing cause from effect using observational data: methods and benchmarks[J]. Journal of Machine Learning Research, 2016, 17(1): 1103-1204. |
[9] |
COLOMBO D, MAATHUIS M H, KALISCH M, et al. Learning high-dimensional directed acyclic graphs with latent and selection variables[J]. The Annals of Statistics, 2012, 40(1): 294-321. |
[10] |
OGARRIO J M, SPIRTES P, RAMSEY J. A hybrid causal search algorithm for latent variable models[C]// Proceedings of the 8th International Conference on Probabilistic Graphical Models. Lugano, Switzerland: [s. n. ], 2016: 368-379.
|
[11] |
CAI R C, QIAO J, ZHANG K, et al. Causal discovery with cascade nonlinear additive noise model[EB/OL]. [2020-10- 08]. https://arxiv.org/abs/190509442v2.
|
[12] |
BRESSLER S L, SETH A K. Wiener-Granger causality: a well established methodology[J]. Neuro Image, 2011, 58(2): 323-329. |
[13] |
张义杰, 李培峰, 朱巧明. 面向事件时序与因果关系的联合识别方法[J]. 计算机工程, 2020, 46(7): 65-71. ZHANG Y J, LI P F, ZHU Q M. Joint identification method for temporal and causal relations of events[J]. Computer Engineering, 2020, 46(7): 65-71. (in Chinese) |
[14] |
LAM W, BACCHUS F. Learning Bayesian belief networks: an approach based on the MDL principle[J]. Computational Intelligence, 1994, 10(3): 269-293. DOI:10.1111/j.1467-8640.1994.tb00166.x |
[15] |
ANDERSSON S A, MADIGAN D, PERLMAN M D. A characterization of Markov equivalence classes for acyclic digraphs[J]. The Annals of Statistics, 1997, 25(2): 505-541. |
[16] |
SHIMIZU S, HOYER P O, HYVÄRINEN A, et al. A linear non-Gaussian acyclic model for causal discovery[J]. Journal of Machine Learning Research, 2006, 7: 2003-2030. |
[17] |
姜枫, 朱辉生, 汪卫. 含隐变量非高斯无环因果模型的估计算法[J]. 计算机工程, 2010, 36(9): 178-180. JIANG F, ZHU H S, WANG W. Estimation algorithm for non-Gaussian acyclic causal model with latent variables[J]. Computer Engineering, 2010, 36(9): 178-180. (in Chinese) |
[18] |
HOYER P, JANZING D, MOOIJ J M, et al. Nonlinear causal discovery with additive noise models[C]// Proceedings of the 22nd Annual Conference on Neural Information Processing Systems. New York, USA: ACM Press, 2008: 689-696.
|
[19] |
ZHANG K, HYVÄRINEN A. On the identifiability of the post-nonlinear causal model[C]//Proceedings of the 25th Conference on Uncertainty in Artificial Intelligence. [S. l. ]: AUAI Press, 2009: 647-655.
|
[20] |
HOYER P O, SHIMIZU S, KERMINEN A J, et al. Estimation of causal effects using linear non-Gaussian causal models with hidden variables[J]. International Journal of Approximate Reasoning, 2008, 49(2): 362-378. DOI:10.1016/j.ijar.2008.02.006 |
[21] |
KINGMA D P, WELLING M. Auto-encoding variational Bayes[EB/OL]. [2020-11-04]. https://dare.uva.nl/searchidentifier=cf65ba0f-d88f-4a49-8ebd-3a7fce86edd7.
|
[22] |
HORNIK K, STINCHCOMBE M, WHITE H. Multilayer feedforward networks are universal approximators[J]. Neural Networks, 1989, 2(5): 359-366. DOI:10.1016/0893-6080(89)90020-8 |
[23] |
GÁMEZ J A, MATEO J L, PUERTA J M. Learning Bayesian networks by hill climbing: efficient methods based on progressive restriction of the neighborhood[J]. Data Mining and Knowledge Discovery, 2011, 22(1/2): 106-148. |
[24] |
TSAMARDINOS I, BROWN L E, ALIFERIS C F. The max-min hill-climbing Bayesian network structure learning algorithm[J]. Machine Learning, 2006, 65(1): 31-78. DOI:10.1007/s10994-006-6889-7 |