因果推断|反事实(一)

Posted by Derek on June 21, 2020

1. 介绍


我们利用反事实(Counterfactual)来强调我们希望在完全相同的条件下比较两种结果(比如驾驶时间),只有一个方面不同:前提(Antecedent)。

举个例子,昨晚我开车回家的时候,我来到一个岔路口,而我必须要做出一个选择:是走高速公路($X=1$)还是走普通街道($X=0$)。我选择了普通街道,却发现交通堵塞,一小时后我回到了家,我对自己说:“我本应该走高速公路的。”通俗地说,就是“如果我走高速公路,我就会早点回家。”科学点讲,这意味着在同一天、在相同的情况下、在相同的驾驶习惯的支配下,我对走高速公路的预期驾驶时间的预估会低于我的实际驾驶时间。在如果陈述部分中的“如果”部分是不真实的或未实现的,称为反事实。反事实中的“如果”部分称为假设条件或前提。那在这个例子中,前提就是走高速公路而非普通街道。

我们知道实际决定的结果是很重要的,因为在看到我的实际决定的后果后对走高速公路的估计驾驶时间可能与看到后果前的估计驾驶时间完全不同。后果可能为评估提供有价值的证据。例如那天的交通特别繁忙,可能是由于路上有车祸,我说“我应该走高速公路”表达的是:无论什么阻碍了我在普通街道上的速度,都不会对走高速公路的速度产生同样程度的影响。

如果我们继续用$do$算子,会导致我们希望估计的驾驶时间和实际观察到的驾驶时间之间的冲突。为了避免这种重复,我们必须用符号区分以下两个变量:实际驾驶时间以及已知实际地面行驶时间为1小时时,预估的高速公路行驶时间。我们可以利用不同的下标来标记这两种结果,我们用$Y_{X=1}$(或在上下文允许的情况下用$Y_1$)表示高速公路驾驶时间,用$Y_{X=0}$(或$Y_0$)表示普通街道驾驶时间。在我们的例子中,由于$Y_0$是$Y$的实际观测值,所以我们希望估计的值是$$\mathbb{E}[Y_{X=1}|X=0, Y=Y_0=1]$$

接下来我们将详细介绍计算和估计反事实性质的方法,我们将使用这些方法来解决各种复杂的问题。比如说,确定一个就业培训项目的效果,计算出如果没有报名参加培训,有多少报名者会找到工作。或者,研究一家公司在拒绝求职者时是否存在歧视行为。又或者通过分析直接和间接效应,确定不分性别的招聘对纠正劳动力中的性别差异是否有效等等。

2. 定义与计算反事实

2.1 反事实的结构解释


结构性因果模型可用于预测以前从未实施过的行动和政策的效果。将一个变量$X$设为$x$值的行动,这一小节我们主要说明,通过在稍微不同的背景下使用相同的方法,我们可以使用SEM来定义反事实代表什么,如何从给定的模型中了解反事实,以及当模型的部分未知时,如何估计反事实的概率。

我们从一个完整的模型$M$开始,对于这个模型我们知道函数$\lbrace F \rbrace,$ 也知道所有外生变量的值。在这样的一个确定性模型中,外生变量的每一个赋值$U=u$都对应着总体中的一个单位,或者对应着一种情况。每个赋值$U=u$唯一地决定了$V$中所有变量的值。例如$U=u$代表一个名叫Derek的人,$X$代表了一个名为工资的变量,那么$X(u)$代表Derek的工资。

我们先来看一个简单的因果模型,这个模型只有三个变量$X, Y, U,$ 并有如下关系

$$\begin{aligned} X&=aU \\Y&=bX+U \end{aligned}$$

我们首先计算反事实$Y_x(u),$ 也就是在$U=u$的情况下,如果$X=x$时$Y$的值。将第一个方程替换为$X=x,$ 我们得到修正模型$M_x$

$$\begin{aligned} X&=x \\Y&=bX+U \end{aligned}$$

将$U=u$代入,再求解$Y,$ 可得$$Y_x(u)=bx+u$$

为了验证一个不那么明显的结果,让我们研究反事实$X_y(u),$ 也就是在$U=u$的情况下,如果$Y=y$时$X$的值。这里我们用$Y=y$来替换第二个等式并求解$X,$ 可得$X_y(u)=au.$ 这意味着$X$不受“假如$Y=y$”这一假设条件的影响。如果我们把这个假设条件解释为来自外部的,尽管是不明确的干预,这个结论是在意料之中的。但如果我们不引用干预,而只是把$Y=y$当作一个自发的、未曾预料的变化,那结果可能就不是在意料之中了。$X$在这种反事实条件下的不变性反映了假设未来的可能性不会改变过去。

现在让我们假设$U$可以取三个值($1, 2, 3$)并在上述模型中令$a=b=1.$ 表2.1给出了$X(u), Y(u), Y_x(u)$和$X_y(u)$在$x$和$y$的几个层次上的值。例如要计算$u=2$时的$Y_2(u),$ 我们只需要解一个新的方程组,用$X=2$代替$X=aU,$ 就可以得到$Y_2(u)=2+u=4.$

Table 2.1 The values attained by $X(u), Y(u), Y_x(u),$ and $X_y(u)$ in the linear model
$u$ $X(u)$ $Y(u)$ $Y_1(u)$ $Y_2(u)$ $Y_3(u)$ $X_1(u)$ $X_2(u)$ $X_3(u)$
$1$ $1$ $2$ $2$ $3$ $4$ $1$ $1$ $1$
$2$ $2$ $4$ $3$ $4$ $5$ $2$ $2$ $2$
$3$ $3$ $6$ $4$ $5$ $6$ $3$ $3$ $3$

计算是极其简单的,这表明虽然从统计学的角度看,反事实被认为是假想的,但它们却很自然地出现在我们对显示的认识中,正如结构模型所编码的那样。每一个结构方程模型都会给每一个可以想象的反事实赋予一个确定的值。

并且请注意,我们计算的不仅仅是$Y$在一种干预下的概率或期望值,而是$Y$在假设的新条件下$X=x$下的实际值。对于每一种情况$U=u,$ 我们得到一个定数$Y_x(u),$ 它代表该情况下$Y$的假设值。而$do$算子只定义在概率分布上,从乘积分解中删除因子$P(x_i|pa_i)$后,总是能得到$\mathbb{E}[Y|do(x)]$的概率结果。从实验主义的角度来看,这种差异反映了总体和个体分析水平之间的差距,$do$算子捕捉了干预下总体的行为,而$Y_x(u)$描述了特定个体$U=u$在这种干预下的行为。

2.2 反事实的基本定律


我们现在将反事实的概念推广到任何结构模型$M.$ 考虑任意两个变量$X$和$Y,$ 并且二者不一定由一个方程联系。令$M_x$代表$M$的修正模型 - $X$的方程由$X=x$代替。反事实$Y_x(u)$的定义为$$Y_x(u)=Y_{M_x}(u)$$

也就是说,$M$中的反事实$Y_x(u)$被定义为$Y$在被修改的子模型$M_x$中的解。这一等式是因果推断的最基本原则之一,它使我们能够利用现实的科学概念$M$生成大量的“如果$X$是$x, Y$会是什么?”假设问题的答案。同样的定义也适用于$X$和$Y$是一组变量的情况,这极大地增加了一个模型可计算的反事实的数量。但是反事实得到的值并不是完全任意的,而是必须相互一致,才能与基础模型保持一致。比如说,我们观察到$X(u)=1, Y(u)=0,$ 那么$Y_{X=1}(u)$一定是$0,$ 因为将$X$设置为它已由的值$X(u),$ 不会对世界产生任何变化。因此$Y$应该保持在它的当前值$Y(u)=0.$

一般来说,反事实遵循一致性原则:$$X=x \Rightarrow Y_x=Y$$

如果$X$是一个二值变量,那么一致性原则可改写为$$Y=XY_1+(1-X)Y_0$$ 如果我们用$Y_x(u)=Y_{M_x}(u)$计算反事实,所有这些约束条件都会自动满足。

2.3 从总体数据到个体行为


我们现在来说明反事实在推理个体行为时的使用。我们考虑图2.1中的模型。$X$代表学生花在课后补习计划中的时间,$H$代表学生的作业量,$Y$代表学生的考试分数。模型经过标准化处理,例如$Y=1$意味着学生的考试成绩高于平均值一个标准差。这个模型是通过抽签将学生分配到补习班。

Figure 2.1 A graphical model1

我们可以把这个模型写成一个线性模型

$$\begin{aligned} X&=U_X \\ H&=aX+U_H \\ Y&=bX+cH+U_Y \\ \sigma_{U_iU_j}&=0, \forall i, j \in \lbrace X, H, Y \rbrace \end{aligned}$$

我们假设所有的$U$都是独立的,并且我们得到了对应的系数(通过总体数据估计):$a=0.5, b=0.7, c=0.4.$ 我们现在考虑一个学生,可知$X=0.5, H=1, Y=1.5.$ 我们想回答一个问题,如果这个学生的学习时间增加一倍,他的分数会是多少。

在线性SEM中,每个变量的值是由系数和$U$决定的,后者考虑了个体间的所有差异,因此我们可以使用观测值来确定与之相关的$U$的值。这些值对假设行为是不变的,比如可能导致学生加倍完成作业的行为。在这种情况下,我们能够获得这个学生的具体特征

$$\begin{aligned} U_X&=0.5 \\ U_H&=1-0.5\times0.5=0.75 \\ U_Y&=1.5-0.7\times0.5-0.4\times1=0.75 \end{aligned}$$

接下来,我们通过将结构方程中的$H$替换为$H=2$来模拟学习时间增加一倍的作用。修改后的模型如图2.2所示。

Figure 2.2 A graphical model2

最后我们用更新后的$U$值计算修改后的模型中$Y$的值,得到

$$Y_{H=2}(U_X=0.5, U_H=0.75, U_Y=0.75)=0.5\times0.7+2\times0.4+0.75=1.9$$

因此我们的结论是如果他的作业增加一倍,他的分数提高至$1.9$(比平均高$1.9$个标准差)。

总之,我们首先应用观测$X=0.5, H=1, Y=1.5$来更新$U$的值。然后我们模拟外部干预,将结构方程$H=aX+U_H$替换为强制条件$H=2.$ 最后,我们计算了给定的结构方程和更新$U$后的$Y$值。(当然,在上述所有过程中,我们假设$U$对$H$的假设干预不变。)

2.4 计算反事实的步骤


上述例子说明了反事实的基本定义可以转化为获取给定反事实值的过程。计算任何确定性反事实有三个步骤:

  1. Abduction: 利用观测$E=e$来确定$U$的值。
  2. Action: 修改模型$M,$ 去掉结构方程中的$X$变量,用适当的$X=x$代替,得到修改后的模型$M_x.$
  3. Prediction: 利用修改后的模型$M_x$和$U$计算$Y,$ 即反事实的结果。

利用时间隐喻,第一步根据当前的证据$e$解释过去($U$),第二步改变历史的进程,以符合假设的前提条件$X=x,$ 第三部根据我们对过去的新认识和新确立的条件$X=x$预测未来($Y$)。

这个过程将解决任何确定性的反事实,也就是与总体中的单个单位有关的反事实,而我们知道其中每个相关变量的值。但反事实也可以是该旅行的,与总体中的一类单位有关。例如在上述的例子中,我们可能想知道,如果$Y<2$的所有学生的家庭作业时间增加了一倍会发生什么。这些概率反事实与$do$算子干预不同,因为和它们的确定性反事实一样,它们限制了被干预的个体集合,而$do$算子无法做到这一点。

我们现在要进一步探讨概率模型,这样我们就可以处理关于概率和反事实的期望问题。例如,假设学生在考试中得到了$Y=y,$ 如果在进行五个小时的课后补习,他的分数是$Y=y'$的概率是多少。或者说,在这样的假设中他的预期分数会是多少。我们现在没有关于所有三个变量$\lbrace X, Y ,H \rbrace$的信息,因此我们不能唯一地确定与之有关的值$u.$ 相反,这个学生可能属于一大类与现有观测相容的单位,每个单位都有不同的$u.$

非确定性通过在外生变量$U$上分配概率$P(U=u)$进入因果模型,这些概率代表了我们对所考虑的主体的不确定性,或者在主体已知的情况下有哪些其它特征可能对我们的问题有影响。

外生概率$P(U=u)$在内生变量$V$上引发了一个唯一的概率分布,$P(v).$ 有了它的帮助,我们不仅可以定义和计算任何单一反事实$Y_x=y$的概率,而且可以定义和计算观察变量和反事实变量的所有组合的联合分布。例如,我们可以确定$P(Y_x=y, Z_w=z, X=x'),$ 其中$X, Y, Z$和$W$是模型中的任意变量。这种联合概率指的是总体中括号内所有事件都为真的个体$u$的比例,即$Y_x(u)=y, Z_w(u)=z, X(u)=x',$ 特别地我们允许$w$或$x'$与$x$冲突。

一个典型的问题可能是:“我们观察到给定个体的特征$E=e$,如果$X$是$x,$ 我们期望该个体的$Y$会是多少?”这个期望被表示为$\mathbb{E}[Y_{X=x}|E=e],$ 其中我们允许$E=e$与前提条件$X=x$冲突,条件栏后的$E=e$代表我们可能拥有的关于个体的所有信息,可能包括$X, Y$或其它任何变量的值。下标$X=x$代表反事实句子中所指定的前提条件。

我们会在之后介绍如何处理这些概率和期望值的具体细节。我们可以将我们的三步过程推广到任何概率非线性系统。给定任意一个反事实$\mathbb{E}[Y_{X=x}|E=e],$ 三步过程的内容是:

  1. Abduction: 根据观测更新$P(U),$ 得到$P(U|E=e).$
  2. Action: 修改模型$M,$ 去掉结构方程中的$X,$ 并将其替换为相应的$X=x,$ 得到修改后的模型$M_x.$
  3. Prediction: 使用修改后的模型$M_x$和对$U$的更新概率$P(U|E=e),$ 计算$Y$的期望值,即反事实的结果。

我们会在之后看到,上述概率程序不仅适用于回溯性的反事实问题(如果$X$是$x, Y$的值会是多少?),也适用于某些特定类型的干预问题。特别是,当我们让每个人采取取决于他的$X$的当前值的行动。一个典型的例子是“加性干预”,例如在每个病人的疗程中增加5mg/l的胰岛素,而不管他们以前的剂量如何。由于胰岛素的最终水平因患者而异,所以这种政策不能用$do$算子来表示。

再举一个例子,在图2.1的模型中,假设我们希望估计一个学校政策对考试成绩的影响,这个政策是让那些懒惰的学生($H \leq H_0$)去参加课后补习($X=1$),我们不能简单地对$X$进行干预,在$H$较低的情况下设$X=1,$ 因为在我们的模型中,$X$是导致$H$的原因之一。相反,我们用反事实符号表示这个量的期望值为$\mathbb{E}[Y_{X=1}|H \leq H_0],$ 就可以用上述三步法进行计算。反事实推理和上述过程对于估计行动和政策对总体子集的影响是必要的,这些子集的特点是本身就受到政策的影响。

Reference


1. Pearl, J., Glymour, M., & Jewell, N. P. (2016). Causal inference in statistics: A primer. John Wiley & Sons, 94.

2. Pearl, J., Glymour, M., & Jewell, N. P. (2016). Causal inference in statistics: A primer. John Wiley & Sons, 95.