在不同的研究领域中,因果关系(causality)具有相当广泛的定义。为了与其他领域中的定义(如格兰杰因果,即Granger causality)区别开,这里首先将因果关系定义为随机变量之间的一种关系,这是因为本书所介绍的因果推断和机器学习都源于一个以随机变量为基础的学科——统计学。
定义1.1 因果关系。
设 X 和 Y 是两个随机变量。定义 X 是 Y 的因,即因果关系 X → Y 存在,当且仅当 Y 的取值一定会随 X 的取值变化而发生变化。
若要更好地理解定义1.1,需要知道因果关系是用来描述数据生成过程(data generating process,DGP)的。我们说 X 是 Y 的因,就是在说 X 是影响 Y 的生成过程的一个因素。如果改变了 X 的值,再用新的 X 来生成一次 Y ,那么 Y 的值就会改变。
举个例子,我们知道对一家餐厅的评价会影响它的销量。如果有关餐厅的评价上升了,我们很有可能会观测到它的销量也会随之上升。而与因果关系相对应的是统计关联(statistical association)或者相关性(correlation)。两个变量 X 、 Y 之间有相关性往往不是我们能判断它们之间有因果关系的依据。其中包括三种情况: X 是 Y 的因、 X 是 Y 的果、 X 与 Y 有共同原因(common cause)。对于第三种情况,我们把这种不是因果关系的相关性叫作虚假相关(spurious correlation)。例如,夏天冰激凌店的销量会上升,冰激凌店里空调产生的电费也会上升。但我们知道电费的上升不会造成冰激凌销量的上升,反之亦然。如果在训练数据中虚假相关强于因果关系,那么虚假相关就有可能会被机器学习学到并用来预测。然而在训练集(training set)中成立的虚假相关可能会在那些分布与训练集不同的测试集(test set)中并不成立,从而引发机器学习模型泛化、解释性和公平性等一系列问题,相关内容将在后面章节介绍。
从上述介绍的内容中可以发现一个问题,那就是用传统的统计学中用到的各类概率分布:边缘分布(如 P ( X ))、联合分布(如 P ( X , Y ))或者条件分布(如 P ( Y | X )),无法直接定义因果关系。这其实也回答了大家关心的一个问题:为什么机器学习模型不可以直接用来解决因果推断问题?我们知道,机器学习模型是强大的概率分布拟合工具,它们可以从观测性数据(observational data)中学习到各种各样的概率分布。观测性数据是指通过观察性研究(observational study)所获取的数据。在观察性研究中,研究人员在数据搜集过程中不会去控制任何变量的值。观测性数据是最便于搜集的一种数据。与观察性研究相对应的则是随机控制实验(randomized controlled trial,RCT)。随机控制实验往往意味着昂贵的支出、大量的时间,甚至可能引发伦理问题。比如,机器学习社区中被大量研究的深度学习模型都是强大的拟合数据分布的工具,它们能够很好地根据观测到的数据样本对数据的分布进行拟合。例如,基于对抗生成网络(generative adversarial networks,GAN) [2] 和视觉Transformer(vision Transformer) [3] 的深度神经网络模型可以生成栩栩如生的图片。
然而,它们能够拟合的概率分布无法直接表示因果关系。从上述内容可知,传统的概率分布并不能定义因果关系,因此,接下来将介绍两种被广泛使用的框架。这两种框架不但提供了对因果关系严谨的定义,建立了概率分布和因果关系之间的连接,还因此成为我们解决因果推断问题的利器。
下面将重复使用一个例子来解释一些概念,以方便读者理解相关内容。本书将考虑一个研究用户评价对餐厅客流量影响的场景。在很多网站上,如国内的大众点评网(网址见“链接1”)和美国的Yelp(网址见“链接2”),用户可以留下一段文字来描述自己对餐厅的评价,并且可以在每个评价中给每家餐厅打1~5颗星。其中,1颗星代表最差,5颗星代表最好。经济学家们曾就这种星级评分对餐厅客流量的影响进行了研究 [4] 。本章将利用这个例子来解释因果推断中的概念。在这个例子中,评分就是处理变量(treatment variable),而客流量就是结果变量(outcome variable)。为了方便理解,我们只考虑正负两种评分,即处理变量 T∈ {0,1}。当一家餐厅收获了正评价(大于3分)时,它就属于实验组( T =1);如果它遭遇了负评价(小于或等于3分),它就属于对照组( T =0)。在此同时假设客流量为一个非负整数。注意,这种设置并不一定适用于实际的研究,只是方便作为例子说明概念。
通过图灵奖获得者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)。在图1.2(a)中, X 对 Y 的因果效应是通过它对 Z 的因果效应进行传递的, Z 在因果推断中又常常被称为中介变量(mediator)。因果推断中存在专门研究中介变量的分支——中介变量分析(mediator analysis),相关内容将在后面章节中介绍。而在如图1.2(b)所示的叉状图中, Z 是叉状图的中心结点,也是 X 和 Y 的共同原因。在因果推断中,如果研究 X 对 Y 的因果效应,则在 X 是处理变量, Y 是结果变量的情况下,我们会把 Z 这种同时影响处理变量和结果变量( X 和 Y )的变量称为混淆变量(confounders或者confounding variable)。在图1.2中, 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
之间的相关性,即
X
Y
,但
X
Y
|
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 个变量{ X 1 ,…, X J }的一个因果图中的变量 X j 和 X i , i ≠ j ,可以用以下条件独立来描述因果马尔可夫条件,如式(1.1)所示:
在因果马尔可夫条件下,对有 J 个变量{ X 1 ,…, X J }的一个因果图,总是可以用式(1.2)来分解它对应的联合分布 P ( X 1 ,…, X J ):
其中, Pa ( X j )代表 X j 的父变量的集合,而噪声项 ∈ j 代表没有观测的变量对 X j 的影响。这个分解可以很自然地由式(1.1)得到。在式(1.2)中,右边的每一项 P ( X j |Pa( X j ) ,∈ j )其实对应一个结构方程(structural equation),每个结构方程恰好描述了每个变量的值是如何由其对应的父变量和噪声项决定的。而把所有方程放在一起就会得到描述一个因果图的结构方程组。也有人把结构方程组叫作结构方程模型(structural equation models,SEM)。
2.结构方程组
接下来将详细介绍与因果图共同构成结构因果模型的结构方程组。之前已经提到,每个因果图都对应一个结构方程组。而结构方程组中的每个方程都用来描述一个随机变量是如何由其父变量和对应的噪声项生成的。在等式的左边是生成的随机变量,在右边则是显示其生成过程的函数。以图1.4(a)为例,可以写出式(1.3)所示的结构方程组:
其中,
∈
X
、
∈
T
、
∈
Y
分别是
X
、
T
和
Y
对应的噪声项,而
f
X
、
f
T
和
f
Y
则分别是生成
X
、
T
和
Y
的函数。注意,这里不对函数的具体形式进行任何限制。需要特别说明的是,在结构因果模型中,我们常常假设噪声项(如
∈
X
、
∈
T
、
∈
Y
)是外生变量(exogenous variable),它们不受任何其他变量的影响。这里隐含的意思是噪声项代表相互独立的,没有被测量到的变量对观测到的变量的影响。与外生变量所对应的概念是内生变量(endogenous variable)。内生变量代表那些受到因果图(或结构方程组)中其他变量影响的变量,这里其他变量一般不包括噪声项。比如在图1.4(a)中的
T
和
Y
就是两个内生变量,而
X
是一个外生变量。在每个结构方程中,因果关系始终是从右至左的。即左边的变量是右边变量的果,右边的变量是左边变量的因。也就是说,左边的变量是由右边的函数生成的,而函数的输入是左边变量的父变量和噪声项。这个顺序是不可以颠倒的。也就是说,即使存在
f
X
的反函数
,也不可以把式(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 。而我们也很容易理解这个改变将影响到第三个结构方程中生成的 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.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)混淆变量,从而满足后门准则,以达到因果识别的目的。接下来给出后门准则的定义 [5] 。
定义1.10 后门准则。
考虑两个随机变量 T 和 Y ,当研究因果效应 T → Y 时,我们说变量集合 X 满足后门准则,当且仅当
· 以 X 中的所有变量为条件时, T 和 Y 之间所有的后门通路都被阻塞了;
· X 不含有任何处理变量 T 的后裔。
在因果推断的文献中,有时会把这样的变量的集合叫作容许集(admissible set)。在本章的例子中,我们感兴趣的因果效应是评分对客流量的影响 T → Y 。也就是说,我们对干预分布 P ( Y |do( T ))感兴趣。如果要用后门准则来完成因果识别,则需要找到一个容许集,然后测量容许集里所有变量的值。在这个问题中,假设容许集只包含一个变量——餐厅的种类,即 X ={ X j },或者说餐厅的种类 X j 是唯一的混淆变量,那么以餐厅的种类为条件来估测客流量的分布,就可以满足后门准则。接下来介绍使用后门准则达到因果识别的公式。这里假设容许集只包含变量 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
,即估测到因果效应不是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 ( Y X=x = y | Y = y′,X = x′ )(为了更明确地表达意思,这里稍微修改了一些符号)。这个概率的意义是,在观察到一个单位的两个变量取值 Y = y ' 、 X = x′ 的情况下,该单位的 X = x 、 Y = y 时的概率。可以发现,反事实是针对个体级别(individual-level)定义的。也就是说,我们只想更改当前个体的 X 值,然后观察它在 X = x 时 Y 值的分布。这意味着其他单位的 X 的取值都不会被改变。而do算子或者干预会影响其他单位的 X 的值。从因果图上讲,定义反事实的这个单位的因果图与其他单位的因果图会不一致。从实际的角度讲,即使可以对某个亚群或整体做干预,我们也无法得到反事实。所以Pearl在文献[8]中用想象(imagining)来描述反事实。在本章的例子中,即使我们人为干预餐厅的评分〔比如,把点评网或者Yelp上显示的平均评分变成中位数评分,并且这个干预使餐厅A(一个个体)的评分提高了0.5分〕,之后观察餐厅的客流量,仍然无法得到餐厅A的反事实;也就是,当其他一切都不变的情况下,仅由餐厅A的评分提高0.5分会对它的客流量造成什么样的影响。这就是为什么反事实也可以被定义为无法通过干预达到因果识别的量。独立同分布假设也使结构因果模型在处理干扰(interference,有时也被称为spillover effect)时面临困难。干扰是现实世界中非常常见的现象。它意味着一个单位的处理变量可能会影响到其他单位的结果。比如,一家麦当劳餐厅的评分高,可能会使同一区域的肯德基的客流量下降。受限于独立同分布假设,目前利用结构因果模型解决干扰问题的工作还比较少 [9] 。
潜在结果框架(potential outcome framework)又被称为Neyman-Rubin因果模型 [10-11] 。因为其简单易用,所以它在实践中常常被用来解决因果推断,尤其是因果效应估测的问题。下面先定义潜在结果。
定义1.11 潜在结果。
考虑两个随机变量
T
和
Y
,当我们研究因果效应
T
→
Y
时,如果处理变量
T
=
t
,单位
i
的潜在结果可以被写成
。它代表单位
i
在处理变量
T
=
t
时的结果变量的值。
注意,与结构因果模型不同,潜在结果框架首先定义了一个个人级别的因果量——潜在结果。而在潜在结果框架中,因果量是指那些含有潜在结果符号的量。有了潜在结果的定义,就很容易定义个体因果效应(ITE)。
定义1.12 个体因果效应(潜在结果框架)。
假设考虑处理变量 T ∈{0,1},结果变量 Y ∈ℝ:单位 i 的ITE就是当这个单位在实验组和对照组时所对应的两个潜在结果的差,如式(1.12)所示:
然后可以根据ITE的定义延伸出其他的因果效应的定义。
定义1.13 条件因果效应(潜在结果框架)。
特征(协变量)的取值为 X = x 的亚群上的条件因果效应即ITE在该亚群上的期望,如式(1.13)所示:
定义1.14 平均因果效应(潜在结果框架)。
平均因果效应是ITE在整体上的期望,如式(1.14)所示:
类似地,也可以定义ATT和ATC。在此不再赘述。
有了这些基础后,就很容易从潜在结果的定义出发来理解因果推断问题面临的挑战,即统计学家常常会提到的缺失数据的问题(missing data problem)。更详细地讲,就是在数据中(无论是观测性的,还是由随机实验得到的),对于每一个单位,往往只能观测到一个潜在结果。而在潜在结果框架里定义的因果效应都是需要两个潜在结果才可以计算的。比如,在式(1.12)中,对于单位
i
,需要观测
和
两个潜在结果。可是在数据中,一个单位
i
只能出现在对照组或者实验组中,不可以同时属于这两个组。所以,这里只能观测到一个结果
Y
i
,如式(1.15)所示:
这个观测到的结果 Y i 也常常被称为事实结果(factual outcome),而那些没有被观测到的结果则是反事实结果(counterfactual outcome)。得益于潜在结果的个人级别的定义,反事实在潜在结果框架中拥有非常简单且自然的定义。ATE和CATE的期望形式在有限样本(finite sample)的情况下可以被写成如式(1.16)所示的平均值:
其中, N ( x )代表满足特征取值 X i = x 的单位 i 的数量。
接下来介绍潜在结果框架中的因果识别。与结构因果模型中 P ( Y |do( T = t ))和 P ( Y | T = t )的区别类似,在潜在结果框架中, P ( Y t )和 P ( Y | T = t )= P ( Y t | T = t )之间也存在很大区别。注意, P ( Y t )的潜在结果没有下标 i ,它表示所有的单位在处理变量取值为 t 时的潜在结果的分布。而 P ( Y t | T = t )表示那些被观测到的处理变量取值为 T = t 的单位的潜在结果的分布。其中,等式 P ( Y | T = t )= P ( Y t | T = t )用到了潜在结果框架中常见的一个假设,即一致性(consistency)。我们常说因果推断就是一门寻找合理假设的科学,因为因果识别总是依赖于因果的假设。这也就是哲学家Cartwright所说的“no cause in,no cause out”。利用潜在结果框架做因果识别最常见的方法就基于以下几个假设。
定义1.15 个体处理稳定性假设(stable unit treatment value assumption,SUTVA)。
个体处理稳定性假设包含以下两部分。
· 明确的处理变量取值(well-defined treatment levels):对于任何一对单位(个体) i 、 j ,如果 T i = T j = t ,则意味着这两个单位的状态是一模一样的;
· 没有干扰(no interference):一个单位被观测到的潜在结果应当不受其他单位的处理变量的取值的影响。
用本章的例子来讲,假设考虑 T =1~5分别代表1~5星的评分,那么明确的处理变量取值要求 T i =1和 T j =1都代表餐厅评分为1星,这一点不随餐厅的变化而变化。而没有干扰这个假设则常常是对真实世界的一种简化。它意味着麦当劳的客流量仅由麦当劳自己的评分决定,而不考虑同一区域肯德基的评分对麦当劳的客流量的影响。正如我们在结构因果模型的局限性中提到的那样,潜在结果框架的常用假设SUTVA排除了干扰的存在,也就意味着它在使用SUTVA时无法解决干扰的问题。但如果我们不假设SUTVA,潜在结果框架是可以用来解决有干扰的因果推断问题的。比如在二分实验(bipartite experiment) [12] 中,我们会考虑一类单位(如电商网站上的产品)上的处理变量(如打折与否)对另一类单位(如电商网站上的买家)的结果变量(如购买行为)的干扰。而在该工作中,文献作者也是基于潜在结果框架进行因果效应估测的研究的。
接下来介绍潜在结果框架中常用的第二个假设——一致性假设。下面是一致性的定义。
定义1.16 一致性(consistency)。
一致性指一个单位被观测到的结果(事实结果)就是它的处理变量被观测到的取值所对应的那个潜在结果。在考虑 T ∈{0,1}的情况,潜在结果和事实结果之间的关系满足式(1.15)。
现在我们应该可以理解为什么一致性会使
成立了。这是因为在知道
T
i
=
t
的情况下,观测到的结果
Y
i
一定就是潜在结果
。在这两个假设的基础上,如果再引入强可忽略性假设,就有了在潜在结果框架下最基础、最常用的一个因果识别的方法。强可忽略性又被称为非混淆(unconfoundedness)。接下来给出强可忽略性的定义。
定义1.17 强可忽略性。
强可忽略性一般包括两个条件。
第一,以所有观测到的特征或者一部分特征( X )为条件,潜在结果与处理变量相互独立,如式(1.17)所示:
第二,重叠(overlapping),指在产生数据的处理变量分配机制中,任何一个可能的特征的取值既可能被分配到实验组,也可能被分配到对照组,如式(1.18)所示:
接下来就可以通过简单的数学推导实现潜在结果框架下CATE的因果识别,如式(1.19)所示:
其中,第一个等式是CATE的定义〔见式(1.13)〕。第二个等式基于期望的性质(差的期望等于期望的差)。第三个等式用到了强可忽略性中的条件独立,即式(1.17)。第四个等式用到了一致性,即被观测到的结果与其对应的潜在结果相等。最终成功去掉了CATE定义中的潜在结果符号,使其等于两个统计量的差,也就意味着可以直接从数据中估测CATE。这就达到了因果识别的目的。
而从实际出发,要使我们能够从观测性数据中估测期望E[ Y | X = x , T =1]和 E [ Y | X = x , T =0],重叠〔见式(1.18)〕是必要的。有了重叠,才能保证在有限样本的情况下,当整体足够大、单位足够多时,对每一个特征的取值 x ,可以观测到在实验组和对照组中都存在特征取值为 x 的单位。
最后,对结构因果模型和潜在结果框架进行一个简单比较。在文献[13]中,Pearl提到了在一定条件下两种框架的等价性。单一世界干预图(single world interention graphs,SWIG)则被提出来系统性地对结构因果模型和潜在结果框架 [14] 进行统一化。从实际角度出发,比起需要考虑所有变量间的因果关系的结构因果模型,在因果推断问题中,潜在结果框架往往用起来更方便。要利用潜在结果框架做到因果识别,往往只需要遵循某种范式。比如,利用前面提到的那三个假设就可以做到因果识别。后面会介绍更多种类的范式来解决当这三个假设都不成立的情况下的因果识别问题。
当然,结构因果模型也有一些常用的范式,这些范式可用于解决因果识别问题,比如,后门准则和前门准则。而结构因果模型因为考虑了所有变量之间的因果关系,因此除了可以做因果推断,也常常被用于因果发现(causal discovey)。因果发现的目的是从数据中学习因果图。我们将在后面章节中详细介绍相关内容。