相关关系VS因果关系

相关性有三种来源:因果、混淆和样本选择。因果关联例子就是天下雨地面会湿,这种关系是能够被人类所理解的、是可解释的、稳定的(无论在任何国家或城市,天下雨地都会湿)。混淆关联是由混淆偏差(Confounding Bias)造成的。比如图中X是T和Y的共同原因,但如果不对X进行观察,就会发现T和Y是具有相关性的,但T和Y之间是没有直接因果效应的,这就是产生了虚假相关。样本选择偏差(Selection Bias)也会产生相关性,比如之前的例子中,如果数据集中的狗都出现在沙滩上,而没有狗的图片都是草地,那么训练处的模型就会发现草地与狗之间是负相关的,这也产生了虚假相关。

从与相关关系对比的角度来看, 因果关系严格区分了“原因”变量和“结果” 变量,在揭示事物发生机制和指导干预行为等方面有相关关系不能替代的重要作用。现有因果关系的研究集中在因果推断及因果性学习两个方面。

因果推断VS因果性学习

因果推断的目标是发现变量/事物背后的因果关系。随机控制实验是发现因果关系的传统方法。由于实验技术局限和实验耗费代价巨大等原因,越来越多的因果推断领域学者希望通过观察数据推断变量之间的因果关系,已成为当前因果推断领域的研究热点。在基于观察数据的因果推断领域研究方面的代表性进展包括在上个世纪90年代,图灵奖得主Judea Pearl教授、卡内基梅隆大学Clark Glymour教授等先驱共同建立了基于观察数据因果推断的理论基础和基于约束的方法,以及近10年Bernhard Schölkopf、Kun Zhang、Shohei Shimizu等学者为代表提出的基于因果函数模型的方法。

因果性学习则体现了因果推断对于机器学习算法设计的指导作用。随着人工智能的发展,越来越多学者开始认识到因果推断对于克服现有人工智能方法/技术在抽象、推理和可解释性等方面的不足具有重要意义。正如图灵奖得奖者Judea Pearl在新作《The Book of Why》一书中提出的 “因果关系之梯”,他把因果推断分成三个层面,第一层是“关联”;第二层是“干预”;第三层是“反事实推理”。他特别指出,我们当前的机器学习领域的研究只处于第一层,只是“弱人工智能”,要实现“强人工智能”还需要干预和反事实推理。在Kun Zhang等学者发表的《Learning causality and causality-related learning: some recent progress》综述中,对基于因果思想的机器学习方法进行了总结,提出了因果性学习这一概念。

因果推断中CEM处理是什么 因果推断的原则_数据

因果推断方法

针对观察数据特性的不同,基于观察数据的因果推断方法可以分为基于时序观察数据的因果推断方法和基于非时序观察数据的因果推断方法。虽然时序观察数据中时间维度蕴含了“因-果”方向的重要信息——“果”在时间上不能发生在“因”的前面,但是时序数据需要获取一个对象在不同时刻的观察值,对观察手段具有较高的要求。同时,部分基于非时序观察数据的因果推断方法可以拓展到时序观察数据中,所以本文主要探讨基于非时序观察数据的因果推断方法。

因果推断的主要目的是从观察数据中推断变量之间的因果关系。目前,学者们主要关注因果关系方向推断、高维数据上的误发现率控制和不完全观察数据上的隐变量检测等问题。 其中,因果关系方向推断主要针对两个变量进行研究,旨在推断两个变量之间的因果关系方向,即识别哪个变量是原因变量,哪个变量是结果变量。高维数据上的因果推断则是针对多个变量而言,主要关注如何降低因果关系结构的误发现率这一难题。不完全观察数据上的隐变量检测则是针对{X1,X2,…,Xn}上的观察数据,检测隐变量的存在性,以及推断隐变量与观察变量之间的因果关系。这里的隐变量是指未能观察到或无法度量的变量,即数据集中没有包含的变量。

因果推断方法可以分为基于约束的方法、基于因果函数模型的方法和混合型方法。 其具体内容如下图所示

因果推断中CEM处理是什么 因果推断的原则_概率分布_02

基于约束的方法

PC和IC算法的基本流程主要有两个阶段,首先利用基于独立性或条件独立性检验的相关方法判断变量之间的独立性,获得变量间的因果无向图;然后再利用V-结构和定向规则对变量间的无向边进行定向。

最大-最小爬山法(MMHC)先通过局部结构学习算法——最大-最小父亲孩子(MMPC)算法学习因果无向图,然后用贪婪贝叶斯评分爬山搜索方法对无向图进行定向。

FCI算法是原始的针对潜变量问题的算法,RFCI和GFCI是对其做的扩展。

基于因果函数模型的方法

线性非高斯无环模型 (LiNGAM)主要用于分析连续变量之间的因果方向与因果连接权重,它利用数据的非高斯性,并用独立成分分析(ICA)求解。与线性模型相比,非线性加噪模型不具有传递性,即每个直接因果关系遵循该模型,但却省略了中间因果变量。非线性加噪模型(ANM)不具有传递性,即每个直接因果关系遵循该模型,但却省略了中间因果变量。因此我们提出了一种级联非线性加性噪声模型(Cascade Nonlinear Additive Noise Models)来表示这种因果关系,并进一步提出了一种在变分自动编码器框架下从数据中估计模型的方法。实验结果表明,所提出的模型和方法极大地扩展了基于因果函数模型的方法在非线性情形中的适用性。HCR(Hidden Compact Representation)模型将连续空间上的因果方法推广到离散空间上,在第一阶段中,原因变量通过一个恒等映射得到一个低秩的隐变量;在第二阶段中,结果由隐变量的状态决定,并在随机噪声干扰下产生。基于似然度框架,引 入贝叶斯准则,给出了一种识别该模型的方法。

因果推断中CEM处理是什么 因果推断的原则_数据_03

DirectLiNGAM框架,通过不断地识别外生变量进而估计因果次序。基于熵的ETPIA算法针对含有测量误差的数据,它在第一阶段利用外生变量具有熵最小的性质识别外生变量,在第二阶段,剔除外生变量对其余变量的影响。在剔除阶段针对不含有测量误差的情况, 直接使用回归系数去除外生变量对其余变量的影响;而在含有测量误差的情况下,利用依赖比实现外生变量效应的剔除。第三阶段,则需要在得到外生变量的顺序(因果次序)的基础上使用剪枝算法获得最终的因果网络。

在LiNGAM模型的基础上,通过引入隐变量,Tashiro和 Shimizu等提出了ParceLiNGAM算法,主要通过检验估计回归残差与外生变量的独立性和找到包含未被隐变量所影响的变量子集来发现隐变量;Hoyer等结合LiNGAM模型,提出适用于线性非高斯条件下的lvLiNGAM(latent variable LiNGAM)框架。但是这些研究大多数关注于在含有隐变量的情况下发现可观察变量的因果结构,而不在于发现隐变量的因果结构。如旨在发现隐变量结构的工作(如Tetrad),往往需要更多的可观察变量,且它们输出的是一个等价 类。为了在观察变量数量不多的情况下识别隐变量结构,通过引入非高斯性假设,我们提出了一种基于Triad约束条件的隐变量因果结构学习算法 LSTC(Learn the Structure of latent variables based on Triad Constraints)。在其他类型数据上,Zhang等扩展了GPLVM(Gaussian-Process Latent Variable Model),提出了IGPLVM(Invariant Gaussian Process Latent Variable Models)算法来处理隐变量对观察变量的因果作用是非线性的,而观察变量间的因果作用是线性的情况。

混合型方法

混合型方法是融合了基于约束的方法和因果函数模型的方法而发展出来的另一类方法。这类方法有效地提高因果函数模型的不足,同时克服了高维数据上误发现率控制难题。现有的混合型方法主要依赖分治策略、组装策略与融合策略这三类策略方法。

SELF(Structural Equational Likelihood Framework)框架将因果函数的噪声独立性假设嵌入似然度计算中,通过似然度框架实现两类方法的统一。

SADA(Scalable cAusation Discovery Algorithm)框架利用分治策略将因果推断问题分解为子问题并利用递归方法求解,主要适用于因果结构中的稀疏属性的观察分析,在样本集较少的情况下也能正确地识别因果变量。其主要思想是,首先通过求解因果分割集将高维问题分解成2个子问题;然后针对每个子问题进行递归分解直到其问题规模足够小;针对每个足够小的子问题,采用ANM等基于因果函数模型的方法进行求解,最后对小问题进行合并。

分治策略在分解问题时引入错误的划分,在后续过程中会不断累积使得总体误差呈现某种不可控的现象。而组装策略可以针对随机小变量集合,通过某种复杂的聚合过程排除由于分割引入的结构错误,获得可靠因果机制。SMRP(Sophisticated Merging over Random Partitions)算法合并所有划分的结果,运用基于传播的显著性增强方法和最大无环子图的因果次序方法等对局部结果进行合并。该框架能通过可靠的因果机制,有效地合并随机分块的部分结果。

在含有多个隐混淆因子的情况下,融合基于约束方法和基于因果函数模型方法的MLCLiNGAM(LiNGAM with Multiple Latent Confounders) 算法能够快速检测到受隐混淆因子影响的观察变量,有助于解决含有多元隐混淆因子的因果结构学习困难的问题。

图模型与因果推断

对于因果推断的图模型方法研究是因果推断领域最活跃的研究方向之一。图模型的优越性在于直观,并且很容易的就可以把因果推断和概率独立性理论联系起来。除了少部分的学者研究线性有环模型上的因果推断,大部分图模型上的因果推断研究都是基于DAG(有向无环图)的。对于DAG,一般有两种观点认识它:一种是将DAG看成是表示条件独立性的模型;另一种观点则是将其看成是表示数据生成机制的模型。而因果推断中常常使用的DAG是将其看成数据生成机制的模型,一般称其为贝叶斯网络或贝氏网络。贝叶斯网络中的节点代表随机变量,节点间的边代表变量之间的直接依赖关系(也可以看成因果关系),每个节点都附有一个概率分布,根节点因果推断中CEM处理是什么 因果推断的原则_数据_04所附的是它的边缘概率分布P(X),而非根节点X所附的的是条件概率分布P(X|π(X))。

贝叶斯网络可以从定性和定量两个层面来理解。在定性层面,它用一个DAG描述了变量之间的依赖和独立关系。在定量层面,它用条件概率分布刻画了变量对其父节点的依赖关系。在语义上,贝叶斯网络是联合概率分布的分解的一种表示。它表征多个随机变量的联合生成的概率分布。更具体地,假设网络中的变量为X1,…,Xi,那么把各个变量所附有的概率分布相乘就得到联合概率分布,π(Xi)表示变量Xi在贝叶斯网络中的直接父节点。

因果推断中CEM处理是什么 因果推断的原则_贝叶斯网络_05


贝叶斯网络的构造方式有两种,一种是专家手工构建,另一种是通过数据分析来获得。前者存在很大的缺陷,首先,人工构建贝叶斯网络需要对这个贝叶斯网络所代表的问题本身有深刻的理解;其次,人工构建往往会遗漏掉一些变量。既然贝叶斯网络是描述数据生成机制的模型,那就假设所有存在因果关系的观测数据都是基于一个贝叶斯网络的。那么如何从观测数据中学习出这个贝叶斯网络就成了一个非常重要的课题,即如何通过分析观测数据获得贝叶斯网络的结构和参数,其中参数一般指贝叶斯网络中非根节点的条件概率表。然而贝叶斯网络中的因果结构学习比贝叶斯网络结构学习要求更严格,因为表征因果结构的贝叶斯网络中每一条边都表征的是因果关系。大多数因果结构学习算法都有一个强假设:对所有变量A、B间的因果推断,可以观测所有潜在直接或间接的共同原因,因果图G(V,E)上a∈ V,b∈ V间的结构学习就变成了基于D-分割理论的独立性检验问题:p(a,b|c∈ V - {a,b})是否等于p(a|c)p(b|c)。

因果推断中CEM处理是什么 因果推断的原则_贝叶斯网络_06

D-分割理论是贝叶斯网络的基础。它是一种用来判断变量是否条件独立的图形化方法。对于一个DAG,D-分割方法可以很快的判断出两个变量是否是条件独立的。D-分割一共有三种情况,第一种情况是一个节点连接另外两个节点的箭头尾部,如图(A)所示,如果c是可观测的变量则a和b是给定c条件独立的,如果c不作为观察变量则a和b不是给定c条件独立的。第二种情况是一个节点分别连接另外两个节点的头部和尾部,如图(B)所示,可知如果c是可观测变量则可得a和b是给定c条件独立的。如果c不是可观测变量则可得a和b不是给定c条件独立的。第三种情况是有两个节点都共同的指向第三个节点,如图(C)所示,如果c作为观测变量则a和b不是给定c条件独立的。如果c不作为观察变量则可得a与b是独立的。

根据上述的D-分割理论,Judea Pearl提出了do算子的概念。do的意思可以理解成“干预”。没有“干预”的概念,很多时候没有办法谈因果关系。在DAG中do(Xi) = x’i表示如下操作:将DAG中指向Xi的所有的有向边全部切断,且将Xi的取值固定为常数xi。如此得到新的DAG的联合分布可以记为p(x1,…,xn|do(Xi)= x’i)可以证明干预后的联合分布为:

因果推断中CEM处理是什么 因果推断的原则_贝叶斯网络_07

请注意 p(·|do(Xi) = x’i))和p(·|Xi = x’i))在很多情况下是不同的。如下图(1)所示,p(B=b|A=a)=p(B=b|do(A) = a)。因为A是B的“原因”,“条件”和“干预”A对应的B的分布相同。但在图 (2)中有(B=b|A=a)≠p(B=b|do(A) = a),由于A是B的“结果”,“原因”的分布不再等于它的边缘分布,但人为的“干预”结果A并不影响原因B的分布。

因果推断中CEM处理是什么 因果推断的原则_数据_08

虚拟事实模型

基于虚拟事实模型进行观察性研究的因果推断时需要一些假定,而这些假定是无法用观测数据进行检验的。虽然虚拟事实模型的理论很完备,但是由于这些假设使得它的实用性上存在缺陷。虚拟事实模型的理论形式如下所述。

假设Zi表示个体i接受处理与否,处理取1,对照取0;Yi表示个体i的结果变量。另外记Yi(1),Yi(0)表示个体i接受处理或者对照的虚拟结果(potential outcome),那么Yi(1)-Yi(0)表示个体i接受治疗的个体因果作用。不幸的是每个个体要么接受处理,要么接受对照Yi(1),Yi(0)中必然缺失一半,个体的因果作用是不可识别的。观测的结果是Yi=ZiYi(1)+(1-Zi)Yi(0), Zi的取值要么是0要么是1。但是,在Z做随机化的前提下,我们可以识别总体的平均因果作用(ACE):

因果推断中CEM处理是什么 因果推断的原则_因果推断中CEM处理是什么_09

最后一行等式表明ACE可以由观测的数据估计出来。其中第一个等式用到了期望算子的线性性质;第二个式子用到了随机化,即Z ⊥ {Y (0), Y (1)},其中⊥表示独立性。由此可见,随机化试验对于平均因果作用的识别起着至关重要的作用。