笔记

图形因果模型

图形因果模型

我们在之前的笔记里,总是提到独立性假设和条件独立性假设,我一开始学习图形模型的时候也是一团雾水,但当学完后面几章,如DID,倾向性得分后,再回来看这个,感觉是一种不太一样的体验。画图形真的可以帮助解答问题。

因果图模型(causal graphical models)

关于这个模型,其泛用性太大了。想起高中参加奥林匹克竞赛时的图论学习,那时候的我好像也没学懂w。到了现在,我感兴趣的三大方面:因果推断,贝叶斯统计,神经网络都无时无刻在运用着因果图。

我们看一个最简单的因果图

XYZ

我们做一些陈述性的话语进行解释:Y是由X唯一导致的,而Z是由Y唯一导致的,这个结论很明显是吧。

那么第一个问题:X会导致Z吗?答案是显然的,因为我们可以知道X可以通过导致Y的改变来导致Z的改变。

在因果图模型里,我们会这么写:X⊥̸ZX \not \perp Z

这里有一个在几何里经常看见的 \perp 符号,常代表着线X与线Z垂直,在向量里,代表着两个向量内积为0,这也就是正交。换句话来说,即一个向量在另外一个向量的投影为0,而在概率论里即是,这个变量不会对这个变量产生任何影响,也就是说,两个变量的协方差为0,那么在希尔伯特空间里,这两个随机变量作为向量即是严格正交。

那么,我们在想一个问题,假设我们现在已经知道Y了,换句话说,我们的X已经不能在改变Y了,那么此时X与Z就没有关系了,因为我们阻断(更严格来说,我们会说我们控制了Y),这时候就有XZYX \perp Z|Y

现在我们看一个分叉因果图

YXZ

一个变量会引起下游两个变量的变化。这种情况下,依赖关系会沿着箭头反向流动,形成一条后门路径

那什么是前门路径,我们来看Y和Z,这时候我们看最上面的简单的因果图:YZY \to Z这个关系很清晰,这个我们叫前门路径

而上面这个图:我们要分析Y和Z的关系,那么此时我们没有一个前门路径,这时候我们就需要依赖于X,即YXZY \leftarrow X \to Z,这就是一个后门路径。这时候

那么就很显然了,Y与Z两个变量就不会互相独立,因为我们有一个混淆因素X,Y⊥̸ZY \not \perp Z, 而当我们知道X并且去控制的时候,YZXY \perp Z|X

这个时候,我们就会发现,这个东西很讨人厌,因为此时,Y与Z的相关度,就不一定等价于Y与Z的因果效应了。我们举个例子说明:假设你对统计学(X)的了解使你在因果推断(Y)和机器学习(Z)方面更为精通。若我不清楚你的统计学水平,那么得知你擅长因果推断会提高我认为你也擅长机器学习的概率。此时就很显然了,关联性不完全等于因果性了这是因为即便我不了解你的统计学知识程度,也能从你的因果推断能力中推断出来。如果精于因果推断,很可能统计学也相当扎实,从而更有可能在机器学习领域表现优异。若以你的统计学知识水平为条件,那么你对机器学习的了解程度就与对因果推断的掌握相互独立。知晓你的统计学水平已为我提供了推断你机器学习技能所需的全部信息。可见,在这种情况下,了解你的因果推断能力不会带来额外信息。

那么此时还要引入另外一个,叫做对撞因子

我们在看另外一个因果图

YXZ

这时候我们分析路径,就是 YXZY \to X \leftarrow Z

Y与Z都会导致X,但此时既没有前门效应,也没有后门效应,所以我们可以下结论, Y与Z独立 YZY \perp Z,但此时,如果我们知道了X了呢,换句话说,我们知道了X后,Y与Z就会互相影响了,如果X变高,Y变低了,我们就可以知道Z的方向。我们举个例子,比如一个人高考分很高,这个分数取决于理科分数和文科分数,如果文科分数很低,那么我们就能知道,哦,这个人理科分数低不到哪去,而我们不知道高考分的时候,这俩就没关系了,我的文科分数不会影响到理科分数(在这个例子里)。所以此时 Y⊥̸ZXY \not \perp Z|X

我们可以做出三条结论:

  • 在前门效应中,当我们对中介变量 BY进行条件化时,从 X 到 Z 的直接路径中的依赖流会被阻断。
  • 在后门效应中,具有共同原因的两个变量Y与Z是相互依赖的,但当我们以该共同原因X为条件时,它们便相互独立。
  • 一般而言,对对撞因子条件化会打开依赖路径,不对其条件化则保持路径关闭。

因此,我们可以知道一个普适性的规则:路径被阻断(即独立了)当且仅当:

  • 路径中包含一个已被条件化的非对撞子
  • 它包含一个未被条件化且其后代也未被条件化的对撞变量。

例子:

DCABFGE

我们一个个来分析:

  1. DCD \perp C: A为对撞因此,且未被控制,因此D⊥̸CAD \not \perp C|A
  2. D⊥̸CGD \not \perp C|G: 这时候我们运用到上面的普适性规则第二条: 对撞变量是A,其后代是G, 但他被条件化了,所以没有被阻断
  3. AFA \perp F: 我们分析路径: ACBEFA \leftarrow C \to B \to E \leftarrow F。这时候E为碰撞因子,而ACBA \leftarrow C \to B构成后门路径,因此A⊥̸BA \not \perp B, 在我理解里,此时问题转化为若A对F的关系等价于B对F的关系,此时碰撞因子未条件化,所以A与F是阻断的。
  4. A⊥̸FEA \not \perp F|E,分析跟上面一样。
  5. AFE,CA \perp F|E,C: 最简单的,对后门途径中的共同原因条件化,会关闭A与后面的依赖流。

了解因果图模型能让我们认识到因果推断中出现的问题。正如所见,这些问题归根结底都源于偏误

E[YT=1]E[YT=0]=E[Y1Y0T=1]ATT+{E[Y0T=1]E[Y0T=0]}BIASE[Y|T=1] - E[Y|T=0] = \underbrace{E[Y_1 - Y_0|T=1]}_{ATT} + \underbrace{\{ E[Y_0|T=1] - E[Y_0|T=0] \}}_{BIAS}

而偏误的首要重要原因是混杂因素

混杂偏误

当处理因素与结果存在共同原因时,就会发生混杂偏误(即后门路径)。所以为啥统计学家会很讨厌这个的原因就出来了。

例子:

教育智商工资

我们现在分析教育对工资的影响如何,而这两者都受智商的影响,在教育与工资的分析上,就存在前门途径和后门途径。所以我们想要消除后门途径,只考虑前门途径:

Front-door path: educationwageBack-door path: educationintelligencewage\begin{aligned} & \text{Front-door path:} \ education \to wage \\ & \text{Back-door path:} \ education \leftarrow intelligence \to wage \\ \end{aligned}

所以,当我们控制了智商时,我们就可以有educationwageintelligenceeducation \perp wage | intelligence

但是显然的,我们不能或者没有一个很科学的方式去估计智商来控制教育对工资的影响。那么我们或许可以用什么方法去代替,比如我作为学生时最讨厌的就是成绩水平。

智商分数教育工资家庭收入

这时候我们简化一个这个表方便表述

UX1TYX2

这时候,我们控制了X1,就把后门路径阻断了,然后控制X2,也阻断了后门路径,于是乎,则有:

(Y0,Y1)TX1,X2(Y_0,Y_1) \perp T|X1,X2

因此,即便无法测量所有共同原因,只要控制那些可观测变量——它们能中介未测量变量对处理的影响——仍可实现条件独立性。另外,我们其实也有(Y0,Y1)TX1,U(Y_0, Y_1) \perp T | X1, U

母亲教育智商分数教育工资父亲教育家庭收入

在这个例子里,我们现在引入父母教育水平,如果我们认为父母的教育水平会对孩子的智商有影响的话。这时候,我们知道父母的教育水平不在后门途径上,这时候他们叫做混杂因子的代理变量。控制他们也有利于我们控制混杂,虽然无法完全消除。

选择偏误

通常情况下,选择偏误发生在我们控制了过多变量时。可能出现的情况是,处理与潜在结果在边际上独立,但一旦我们以对撞因子为条件,它们就变得相互依赖。

假设我们现在用了某种途径,成功的随机分配教育以衡量其对工资的影响。

教育T工资Y投资I

如果我们不控制投资II,则由于教育是随机分配的,所以有偏误为0: E[Y0T=1]E[Y0T=0]=0E[Y_0|T=1] - E[Y_0|T=0] = 0. 这意味着无论是否接受教育,人们未受教育时的工资是相同的。这时候如果我们控制了投资会怎样?

投资是教育和工资的对撞因子,当我们控制时,我们就有: (Y0,Y1)⊥̸TI(Y_0, Y_1) \not\perp T |I。也就是说,就可能出现 E[Y0T=0,I=1]>E[Y0T=1,I=1]E[Y_0|T=0, I=1] > E[Y_0|T=1, I=1]的情况,即在投资者中,没有接受教育的也能成功投资的人更可能获得高收入,这时候教育就不再是随机分配了,然后对于不投资群体,也可能会有E[Y0T=0,I=0]>E[Y0T=1,I=0]E[Y_0|T=0, I=0] > E[Y_0|T=1, I=0] 。即受过教育但不投资的人的工资也可能比未受过教育未投资的人的工资低。这时候自然就有了: E[Y0T=0,I=i]>E[Y0T=1,I=i]E[Y_0|T=0, I=i] > E[Y_0|T=1, I=i],即负向偏误。

类似的情况也发生在我们以处理的中介变量为条件时。中介变量是介于处理与结果之间的变量,它实际上起着调节因果效应的作用。我们这时候考虑白领工作。这种条件设置再次导致了因果效应估计的偏误。

教育T工资Y白领WC

自然,在不考虑白领工作时,偏误为0。然而,若以白领个体为条件,则存在:E[Y0T=0,WC=1]>E[Y0T=1,WC=1]E[Y_0|T=0, WC=1] > E[Y_0|T=1, WC=1],即那些即便未受教育也能获得白领职位的人,可能比需要教育才能获得相同职位者更为聪明。同理:E[Y0T=0,WC=0]>E[Y0T=1,WC=0]E[Y_0|T=0, WC=0] > E[Y_0|T=1, WC=0],那些即便受过教育但仍未能获得白领职位的人,可能比未受教育也未获此职位者更不勤奋或者笨。这种情况下:以中介变量为条件会引入负向偏误。这会使教育的影响显得低于实际水平。

在我的理解里,这就有点类似于把自己的效应分配给了其他的变量(因为具有一定相关性),就导致了偏误的发生。

例子

我们看一个例子: 假如X已经随机化分配,我们需要探究X与Y的因果关系,我们需要控制哪些变量?

BAXY

我们先分析一下所有路径:

  1. XYX \to Y 前门路径
  2. XABYX \to A \leftarrow B \to Y 前门路径
  3. XBYX \leftarrow B \to Y 后门路径

我们看A先,A是X和B的一个碰撞因子。B是X和Y的后门途径

如果我们想探究X与Y,我们想做的是找出变量VV,使得XYVX \perp Y|V

首先是后门途径,毋庸置疑,B肯定要控制。

那么问题在于A需不需要控制?

显然,这里的A不需要控制。我们上面在选择偏误说了,A是对撞因子,如果我们控制了A,就会有X⊥̸BAX \not \perp B|A,那么也就会有X⊥̸YAX \not \perp Y|A,这不是我们想要的,所以我们不需要控制A,只需要控制B即可。