1.1.1 结构因果模型
通过图灵奖获得者Judea Pearl教授提出的结构因果模型(Structural Causal Model,SCM),可以用严谨的数学符号来表示随机变量之间的因果关系[5]。结构因果模型可以详细地表示出所有观测到的变量之间的因果关系,从而准确地对一个数据集的数据生成过程进行描述。有时候我们也可以根据需要把隐变量和相关性考虑进来,表示在结构因果模型中。结构因果模型一般由两部分组成:因果图(causal graph或causal diagram)和结构方程组(structural equation)。
1.因果图
因果图一般用来描述一个结构因果模型中的结构,即随机变量之间的非参数的因果关系。下面给出因果图的正式定义。
定义1.2 因果图。
一个因果图G=(V,E)是一个有向无环图,它描述了随机变量之间的因果关系,V和E分别是结点和边的集合。在一个因果图中,每个结点表示一个随机变量,无论它是否是被观察到的变量。一条有向边 X→Y,则表示 X是Y的因,或者说存在X对Y的因果效应。
我们可以把因果图看成一种特殊的贝叶斯网络(Bayesian networks)[6]。与贝叶斯网络一样,用一个圆圈来代表一个随机变量。而与贝叶斯网络不同的是,在因果图中利用有向边(directed edges)表示因果关系。在一些情况下,本书也会用带有虚线的圆圈表示隐变量(没有被观测到的随机变量),以及用双向边代表相关性。在图1.1中,观测到的变量X是Y的因,而隐变量U与X之间具有相关性。
图1.1 一个因果图的例子
因果图仍然继承了贝叶斯网络的一项重要性质,即根据网络结构,可以利用D-分离(D-separation)判断一个给定的条件独立(conditional independence)是否成立。这里结合一些简单的因果图作为实例来讲解关于D-分离的基础知识。在与因果图相关的讨论中,有时候会用结点代表随机变量。
这里首先结合图1.2介绍一些必需的概念来帮助我们理解因果图和条件独立的关系。一条通路(path)是一个有向边的序列。而一条有向通路(directed path)则是一条所有有向边都指向同一个方向的通路。本书采用因果推断领域常用的设定,即只考虑有向无环图(directed acyclic graph,DAG)。在单向无环图中,不存在第一个结点与最后一个结点是同一个结点的有向通路。
图1.2 三种典型的因果图
图1.2中包含三种典型的有向无环图。其中图1.2(a)展示了一个链状图(chain),在图中,X对Y的因果效应是通过它对Z的因果效应进行传递的,Z在因果推断中又常常被称为中介变量(mediator)。因果推断中存在专门研究中介变量的分支——中介变量分析(mediator analysis),相关内容将在后面章节中介绍。而在如图1.2(b)所示的叉状图中,Z是叉状图的中心结点,也是X和Y的共同原因。在因果推断中,如果在研究X对Y的因果效应,则X是处理变量,Y是结果变量的情况下,我们会把Z这种同时影响处理变量和结果变量(X和Y)的变量称为混淆变量(confounders或者confounding variable)。在这个图中,X和Y之间存在相关性,但它们之间不存在因果关系。这是因为X和Y之间有一条没有被阻塞的通路(注意相关性的存在只依赖于通路,而不依赖于有向通路)。当Z是一个对撞因子(collider)时,正如图1.2(c)中的反向叉状图(inverted fork)所示,X和Y都是Z的因,但此时X和Y之间既没有相关性,也不存在因果关系。这是因为X和Y之间的通路被对撞因子Z阻塞了。接下来将更详细地介绍阻塞和D-分离这两个概念。
要定义D-分离,还需要定义一个概念——阻塞(blocked)。阻塞分为通路的阻塞和结点的阻塞。在链状图(见图1.2(a))和叉状图(见图1.2(b))中,X和Y间的通路都会在以Z为条件的时候被阻塞。与此相反,在有共同效应结点的图中(见图1.2(c)),以Z为条件反而会引入X和Y之间的相关性,即XY,但XY|Z。我们说以一个结点集合为条件会使一条通路阻塞,当且仅当这条通路上存在任何一个被阻塞的结点。下面定义结点的阻塞。
定义1.3 结点的阻塞。
我们说以一个结点的集合S为条件,结点Z被阻塞了,当且仅当以下两个条件中的任何一个被满足:
• Z ∈ S及Z不是一个共同效应结点(例如图1.3(a)所示的情况);
• Z是一个共同结果结点,同时Z∉S以及不存在任何Z的后裔(descendent)属于集合S(例如图1.3(b)所示的情况)。
图1.3 以集合S为条件会使结点Z被阻塞的两个例子
有了通路阻塞的定义,就可以定义D-分离了。
定义1.4 D-分离(D-separation)。
我们说以一个结点的集合S D-分离了两个随机变量X和Y,当且仅当以S为条件的时候,X与Y之间的所有通路都被阻塞了。
在图1.3(a)和图1.3(b)中可以发现,以变量集合S为条件,D-分离了随机变量X和Y。在因果图中,常常会假设因果马尔可夫条件(causal Markovian condition)。同贝叶斯网络中的马尔可夫条件相似,它的意思是每一个变量的值仅由它的父变量(parent variables)的值和噪声项决定,而不受其他变量的影响。考虑有J个变量{X1,…,XJ}的一个因果图中的变量Xj和Xi,i≠j,可以用以下条件独立来描述因果马尔可夫条件,如式(1.1)所示:
在因果马尔可夫条件下,对有J个变量{X1,…,XJ}的一个因果图,总是可以用式(1.2)来分解它对应的联合分布P(X1,…,XJ):
其中,Pa(Xj)代表Xj的父变量的集合,而噪声项ϵj代表没有观测的变量对Xj的影响。这个分解可以很自然地由式(1.1)得到。在式(1.2)中,右边的每一项P(Xj|Pa(Xj),ϵj)其实对应一个结构方程(structural equation),每个结构方程恰好描述了每个变量的值是如何由其对应的父变量和噪声项决定的。而把所有方程放在一起就会得到描述一个因果图的结构方程组。也有人把结构方程组叫作结构方程模型(structural equation models,SEM)。
2.结构方程组
接下来将详细介绍与因果图共同构成结构因果模型的结构方程组。之前已经提到,每个因果图都对应一个结构方程组。而结构方程组中的每个方程都用来描述一个随机变量是如何由其父变量和对应的噪声项生成的。在等式的左边是被生成的随机变量,在右边则是显示其生成过程的函数。以图1.4(a)为例,可以写出式(1.3)所示的结构方程组:
其中,ϵX、ϵT、ϵY分别是X、T和Y对应的噪声项,而fX、fT和fY则分别是生成X、T和Y的函数。注意,这里不对函数的具体形式进行任何限制。需要特别说明的是,在结构因果模型中,我们常常假设噪声项(如ϵX、ϵT、ϵY)是外生变量(exogenous variable),它们不受任何其他变量的影响。这里隐含的意思是噪声项代表相互独立的,没有被测量到的变量对观测到的变量的影响。与外生变量所对应的概念是内生变量(endogenous variable)。内生变量代表那些受到因果图(或结构方程组)中其他变量影响的变量,这里其他变量一般不包括噪声项。比如图1.4(a)中的T和Y就是两个内生变量,而X是一个外生变量。在每个结构方程中,因果关系始终是从右至左的。即左边的变量是右边变量的果,右边的变量是左边变量的因。也就是说,左边的变量是由右边的函数生成的,而函数的输入是左边变量的父变量和噪声项。这个顺序是不可以颠倒的。也就是说,即使存在fX的反函数,也不可以把式(1.3)中第一个描述X的结构方程改写成如式(1.4)的形式:
因为在式(1.4)中,左边的变量ϵX并不是右边X的果。也就是说,它并没有描述ϵX的生成过程,因此不是一个有效的结构方程。比如,我们知道餐厅的客流量受到餐厅评分的影响,所以客流量应该总是出现在结构方程的左边,而餐厅的评分则应出现在结构方程的右边。这个顺序不可以颠倒。而式(1.4)违反了这个规则,会让我们对结构方程中表达的因果关系产生误解。
3.因果效应
在因果图中可以很方便地表示因果推断中的一个重要概念——干预(intervention),它对定义因果效应非常重要。在结构因果模型体系下,干预是定义因果效应的基础。在结构因果模型中,干预是由do算子来表示的。用图1.4(a)来描述一个因果推断问题中常见的因果图。在这个因果图中,三个变量X、T和Y分别代表混淆变量、处理变量和结果变量。我们的目标常常是研究处理变量对结果变量的因果效应。比如,在研究餐厅评分对餐厅客流量的因果效应时,评分就是处理变量,客流量就是结果变量。而混淆变量可以是餐厅的种类。比如,像麦当劳这样的快餐店,它的客流量往往很大,但餐厅评分通常不会很高。一家高档的饭店往往会有比较高的评分,但并不会拥有像快餐店一样大的客流量[7]。
要在结构因果模型中定义因果效应,就必须借助do算子,或者干预这一概念。在因果图中,如果干预一个变量,就会用它的do算子来表示这个被干预的变量,正如图1.4(b)中处理变量T变成do(T=t)那样。被干预的变量的值不再受到它的父变量的影响,因此,在因果图中,一个被干预的变量不会再有任何进入它的有向边,正如图1.4(b)中受到干预的处理变量do(T=t)那样。这一点也意味着在T受到干预的情况下,X不再同时影响处理变量T和结果变量Y,因此X不再是混淆变量。在例子中,干预意味着人为修改了网站上对餐厅的评分。因此,餐厅的评分不再受到餐厅类型的影响,所以餐厅的类型不再是一个混淆变量。但评分仍然会影响餐厅的客流量。这意味着可以直接由图1.4(b)中带有do算子的条件分布来定义T对Y的因果效应。在定义因果效应之前,首先定义一个更广泛的概念——干预分布(interventional distribution,有时也被称为post-intervention distribution)。
图1.4 两个因果图:图1.4(a)描述观测性数据的生成过程,图1.4(b)代表当处理变量受到干预时的因果图。X是混淆变量,T是处理变量,而Y是结果变量。do(T=t)代表处理变量T的值不再由其父变量X决定,而是由干预决定。当干预随机设定T值的时候,图1.4(b)可以描述一个随机试验,即处理变量的值不受混淆变量的影响
定义1.5 干预分布。
干预分布P(Y|do(T=t))是指当我们通过干预将变量T的值固定为t后,重新运行一次数据生成过程得到的变量Y的分布。
如果考虑图1.4(b)中的干预分布P(Y|do(T=t)),那么它便是根据该因果图描述的数据生成过程(T被干预,固定取值为t)来产生的Y的分布。在结构方程组中,也可以很方便地表示干预。比如,可以写出图1.4(b)所对应的结构方程组,如式(1.5)所示:
与式(1.3)对比可以发现,它们唯一的区别是第二个结构方程中,处理变量T的值不再受到其父变量、混淆变量X和T对应的噪声项ϵT的影响,而是由干预直接设定为固定的值t。而我们也很容易理解这个改变将影响到第三个结构方程中生成的Y的分布。通过结构方程,我们可以很生动地理解在定义1.5中提到的“重新运行一次数据生成过程”所代表的意思,即表示在改变结构方程组(式(1.5))中第二个结构方程后,从上到下、从右至左依次生成各变量(X、T和Y)的值。从结构方程组(见式(1.5))中很容易理解,在我们的例子中,干预分布P(Y|do(T=t))就代表当人为地把每家餐厅的评分都设为t时所观察到的客流量的分布。有了干预分布的定义后,就能够在因果结构模型中定义因果效应这一重要概念。
总的来说,在因果结构模型中,一种因果效应总是可以被定义为实验组(treatment group)和对照组(control group)所对应的两种结果变量的干预分布的期望的差。假设处理变量T只能从{0,1}中取值,则可以通过do算子来定义T对Y的平均因果效应(average treatment effect,ATE)[1],如式(1.6)所示:
基于平均因果效应,很容易更进一步地定义实验组平均因果效应(average treatment effect on the treated,ATT)、对照组平均因果效应(average treatment effect on the controlled,ATC),以及条件平均因果效应(conditional average treatment effect,CATE),如式(1.7)所示:
完成这些定义之后的一个直观结论便是,由于do算子的存在,我们无法直接从观测性数据中估测任何一个带do算子的量,无论它是ATE、ATT、ATC还是CATE。其实在处理变量取值更丰富的情况下,仍然可以利用do算子来定义各种因果效应。例如,当考虑T ∈ ℝ,即处理变量可以取任意实数的情况下,要定义因果效应,常常需要定义一个对照组。例如,可以令T=0,表示对照组,而任意其他值T=t≠0,表示一个实验组,那么可以效仿式(1.6)和式(1.7)来定义ATE、ATT、ATC和CATE,如式(1.8)所示:
与式(1.6)和式(1.7)相比,在式(1.8)中因果效应的定义成了t的函数,也就意味着因果效应会随着处理变量取值的变化而变化。比如,当餐厅评分为1~5星时,如果像文献[4]中一样令3星为对照组,那么处理变量取值为1、2、4、5星时,则对应四种不同的ATE、ATT、ATC和CATE。值得注意的是,do算子或干预分布一般不会用于定义ITE(individual treatment effect,个体因果效应)。
带有do算子的量都是一类与干预相关的因果量(另一类因果量则与反事实相关),而把那些没有do算子的量称为统计量。这正是因果推断问题中最核心的挑战之一:如何用观测性数据来估测带有do算子的因果量?或者更具体地说,由于因果效应总是干预分布的期望的差,如果可以从观测性数据中估测到干预分布的期望,就可以估测因果效应了。注意,在大多数情况下,只需要估测干预分布的期望(如E[Y|do(T)]),并不需要估测整个干预分布(如P[Y|do(T)])。另一个值得注意的是,干预分布P(Y|do(T=t))和条件分布P(Y|T=t)有着很大的区别。我们可以通过式(1.3)和式(1.5)的对比来理解这个区别。在没有干预的情况下,可以查看由式(1.3)产生的数据并估测到条件分布P(Y|T=t)。但可以发现它与干预分布P(Y|do(T=t))的不同。用本章的例子来讲,P(Y|T=t)代表的是那些在原来用户自由打分的情况下,评分为t的那些餐厅的客流量分布。而P(Y|do(T=t))则是在通过干预把所有餐厅的评分设为t之后观测到的所有餐厅的客流量分布。这一区别是一般情况下不能用估测到的统计量直接计算因果量的这一原则的体现。考虑原来的因果图(见图1.4(a))和受到干预后的因果图(见图1.4(b))的差别,其实可以发现在图1.4(a)中存在混淆变量X,而在干预do(T=t)的情况下,不再存在任何混淆变量。这表明P(Y|do(T=t))和P(Y|T=t)的区别就是因果推断问题中常说的混淆偏差(confounding bias)。接下来给出混淆偏差的正式定义。
定义1.6 混淆偏差。
考虑两个随机变量T和Y,我们说对于因果效应T→Y存在混淆偏差,当且仅当干预分布P(Y|do(T=t))与条件分布P(Y|T=t)并不总是相等,也就是存在t,使P(Y|do(T=t))≠P(Y|T=t)。
我们知道,从观测性数据中可以用传统的概率图模型或者更复杂的深度学习模型得到对于各类分布准确的估测,无论这样的估测有多准确,它仍然停留在对统计量的估测。我们离估测任何一个因果量仍然有一段距离。因此,我们需要一个步骤来解决从因果量到统计量的转变,这正是因果推断研究中最重要的步骤:因果识别(causal identification)。后面章节将详细讲解多种因果识别的方法。
要做到因果识别,在结构因果模型中需要用到一些规则[5]。其中最常用的规则便是后门准则(back-door criterion)。要理解后门准则,需要定义后门通路(back-door path)。
定义1.7 后门通路。
考虑两个随机变量T和Y,当我们研究因果效应T→Y时,说一条连接T和Y的通路是后门通路,当且仅当它满足以下两个条件:
• 它不是一条有向通路;
• 它没有被阻塞(它不含对撞因子)。
用结构因果模型的语言,可以把之前的例子中(见图1.4(a)和图1.4(b))用P(Y|T=t)估测P(Y|do(T=t))会引起混淆偏差的原因归咎于图1.4(a)中存在由处理变量到结果变量的后门通路。而在随机实验中,会像图1.4(b)中那样,对处理变量进行干预。更具体地讲,考虑T ∈ {0,1}的情况,对每一个单位(unit,机器学习社区的文献中也用个体或者样本、实例这些词来表达同样的意思),我们可以抛一枚硬币来随机设定处理变量的值。如果抛到正面,就让这个单位进入实验组,抛到反面,则让它进入对照组。这样后门通路便不复存在,就可以直接从数据中估测到ATE。根据后门通路的定义也可以给出混淆变量的定义。
定义1.8 混淆变量。
考虑两个随机变量T和Y,当研究因果效应T→Y时,定义一个变量为混淆变量,当且仅当它是一条T与Y之间的后门通路上的一个叉状图的中心结点。
可以用图1.3(a)和图1.3(b)作为例子来加深我们对混淆变量的理解。如果研究的是Z→Y的因果效应,那么在图1.3(a)中,U便不是一个混淆变量,这是因为图中根本不存在Z和Y之间的后门通路。而在图1.3(b)中,U是一个混淆变量,因为它位于Z和Y之间的后门通路之间的后门通路Z←U→Y上,并且恰好是一个叉状图的中心结点。
我们也可以从另一个角度来理解混淆偏差。在图1.4(a)中,条件概率P(Y|T=t)其实对应两条不同的通路,即对应因果效应的单向通路T→Y和含有混淆变量X的后门通路T←X→Y。要做到因果识别,得到对因果效应的无偏估计,需要排除掉后门通路带来的影响。
4.因果识别与后门准则
下面对因果识别给出一个正式定义。
定义1.9 因果识别。
我们说一个因果效应被因果识别了,当且仅当定义该因果效应所用到的所有因果量都可以用观测到的变量的统计量的函数来表示。
正如前文所说,在结构因果模型中,因果量往往是指干预分布的期望。在之后要介绍的潜结果模型中也会有对应的概念。
当在有后门通路存在的情况下,常用后门准则来做到因果识别。后门准则的核心是通过以一些观测到的变量为条件来阻塞到所有的后门通路。在图1.4(a)中,如果X是离散变量,而x代表X的取值,那么以变量X为条件的意思便是到每一个X=x的亚样本(subsample)中估测对应的结果变量的分布。我们可以这样理解后门准则,就是从混淆变量的取值的角度来看,每个这样的亚群中的所有单位都是非常相似的(甚至一样的)。那么,只有处理变量的不同能够造成每个亚群中不同单位的结果的区别。这种理解正对应调控(adjustment for)混淆变量,从而满足后门准则来达到因果识别的目的。接下来给出后门准则的定义[5]。
定义1.10 后门准则。
考虑两个随机变量T和Y,当研究因果效应T→Y时,我们说变量集合X满足后门准则,当且仅当
• 以X中的所有变量为条件时,T和Y之间所有的后门通路都被阻塞了;
• X不含有任何处理变量T的后代变量(descendants)。
在因果推断的文献中,有时会把这样的变量的集合叫作容许集(admissible set)。在本章的例子中,我们感兴趣的因果效应是评分对客流量的影响T→Y。等价地讲,对干预分布P(Y|do(T))感兴趣。如果要用后门准则来完成因果识别,则需要找到一个容许集,然后测量容许集里所有变量的值。在这个问题中,假设容许集只包含一个变量——餐厅的种类,即X={Xj},或者说餐厅的种类Xj是唯一的混淆变量,那么以餐厅的种类为条件来估测客流量的分布,就可以满足后门准则。接下来介绍使用后门准则达到因果识别的公式。这里假设容许集只包含变量X,即X={X},且X是离散变量(只能取有限个值),而T ∈ {0,1}。那么可以用式(1.9)根据后门准则识别ATE:
其中,第一个等式是概率论中的边缘化(marginalization)操作。第二个等式就源自后门准则本身,当X是容许集中所有变量的时候,总是有P(Y|do(T),X)=P(Y|T,X)。即当后门通路全部被阻塞的情况下,干预分布与相应的条件概率相等。我们很容易把式(1.9)拓展到T为离散变量,而X为连续变量的情况下,如式(1.10)所示:
事实上,在式(1.9)和式(1.10)中,利用后门准则做到了对这两个干预分布的差的识别,这超出了因果识别ATE(期望)的最低要求。而我们只要对式(1.10)的左右两端同时求期望,就可以在等式左边得到ATE,同时在等式右边得到需要估测的统计量。
而用后门准则做到对CATE的因果识别也十分直接。在考虑T为离散变量,而X为连续变量的情况下,CATE的因果识别可以用式(1.11)达到:
这个等式也可以由后门准则得到。
一般来讲,根据一个数据集中观测到的变量是否包括所有容许集内的变量,可以把用于因果推断的观测性数据分为两类。在第一类中,测量到的特征或者协变量(covariates)的集合已经是容许集的一个母集,在这种情况下,可以直接利用后门准则完成因果识别。在第二类中,没有满足这一条件,也就是说,有的混淆变量没有被测量到,变成了隐藏混淆变量(hidden confounders)。这就要求我们利用其他的因果识别方法来解决问题。这些问题将在后面章节详细讨论。
UCLA的Judea Pearl提出了一种特殊情况,即在没有后门通路的情况下,也可能会有混淆偏差的存在。考虑图1.5中的因果图,考虑T,Z={0,1}。我们假设存在选择偏差,即仅当一个单位的Z=1时,我们才可以观测到这个单位。如果用这样的观测性数据中的条件分布P(Y|T)去估测干预分布P(Y|do(T)),并且得到ATE E[(Y|do(T=1))]-E[(Y|do(T=0))]≠0,即估测到因果效应不是0。这与因果图中的情况不符,因为存在对撞因子Z,T到Y的唯一一条通路是被阻塞的,所以T→Y的ATE应当为0。当然,如果我们深入思考,这里的选择偏差Z=1其实相当于以Z为条件,从而构建了T到X的通路,所以等价于存在后门通路T-X→Y。其中无向边“-”表示存在相关性。
图1.5 一个特殊情况的因果图:在数据集存在选择偏差时,没有后门通路也可能存在混淆偏差
5.结构因果模型和do算子的局限性
最后,简单介绍一下结构因果模型和do算子的一些局限性。一个主要的局限性就是结构因果模型依赖于独立同分布(independent and identically distributed,i.i.d.)假设。也就是说,所有数据中的单位都是由同一个因果图代表的数据生成过程产生的。这使得直接用do算子定义反事实(counterfactual)面临一些挑战。反事实其实是因果推断中非常常见的概念,在文献[8]中,Pearl教授用了以下符号来定义反事实P(YX=x=y|Y=y′,X=x′)(为了更明确地表达意思,这里稍微修改了一些符号)。这个概率的意义是,在观察到一个单位的两个变量取值Y=y′、X=x′的情况下,该单位的X=x、Y=y时的概率。可以发现,反事实是针对个体级别(individual-level)定义的。也就是说,我们只想更改当前个体的X值,然后观察它在X=x时Y值的分布。这意味着其他单位的X的取值都不会被改变。而do算子或者干预都是对一个亚群或在整体中定义的。从因果图上讲,反事实将造成定义反事实的这个单位的因果图与其他单位不一致的问题。从实际的角度讲,即使可以对某个亚群或整体做干预,我们也无法得到反事实。所以Pearl在文献[8]中用想象(imagining)来描述反事实。用本章的例子即使能够人为地干预餐厅的评分,比如,把点评网或者Yelp上显示的平均评分变成中位数评分,而且这个干预使餐厅A(一个个体)的评分提高了0.5分,再去观察餐厅的客流量,仍然无法得到餐厅A的反事实,那就是当其他一切都不变的情况下,仅由餐厅A的评分提高0.5分会对它的客流量造成什么样的影响。这就是为什么反事实也可以被定义为无法通过干预达到因果识别的量。独立同分布假设也使结构因果模型在处理干扰(interference,有时也被称为spillover effect)时面临困难。干扰是现实世界中非常常见的现象。它意味着一个单位的处理变量可能会影响到其他单位的结果。比如,一家麦当劳餐厅的评分高可能会使同一区域的肯德基的客流量下降。受限于独立同分布假设,目前利用结构因果模型解决干扰问题的工作还比较少[9]。