目录与链接
《统计因果推理入门》第一章学习笔记
《统计因果推理入门》第二章学习笔记
《统计因果推理入门》第三章学习笔记
《统计因果推理入门》第四章学习笔记
2 图模型及其应用
2.1 模型与数据的联系
我们可以仅仅根据图模型的结构就能预测数据中的独立性质,而不需要依赖方程式或误差分布所携带的任何定量信息。
2.2 链结构与分叉结构
例如考虑以下三个假设的 SCM,它们都共享相同的图形模型。第一个 SCM 表示某一高中的学费 (X)、SAT 平均分数 (Y) 和大学录取率 (Z) 之间的因果关系。第二个 SCM 表示电灯开关 (X) 状态、相关电路 (Y) 状态和灯泡 (Z) 状态之间的因果关系。第三个 SCM 涉及跑步比赛的参与者。它表示参与者每周工作的时间 (X)、参与者每周投入训练的时间 (Y) 和完成比赛的时间 (Z) 之间的因果关系。在所有三个模型中,外生变量 ( U X , U Y , U Z ) (U_X,U_Y,U_Z) ( U X , U Y , U Z ) 代表任何可能改变内生变量之间关系的未知或随机影响。具体来说,在SCM 2.2.1 和 2.2.3 中,U Y U_Y U Y 和 U Z U_Z U Z 是解释个体差异的相加因素。在 SCM 2.2.2 中,如果存在未观察到的异常,则 U Y U_Y U Y 和 U Z U_Z U Z 取 1,如果没有异常则取 0。
图 2.1 .以下三个 SCM 共享的图模型 : 链结构
SCM 2.2.1 (高中学费、SAT 平均分数和大学录取率)
V = { X , Y , Z } , U = { U X , U Y , U Z } , F = { f 1 , f 2 , f 3 } f X : X = U X f Y : Y = x 3 + U Y f Z : Z = y 16 + U Z V=\{X,Y,Z\},U=\{U_X,U_Y,U_Z\},F=\{f_1,f_2,f_3\}\\
f_X:X=U_X\\
f_Y:Y=\frac{x}{3}+U_Y\\
f_Z:Z=\frac{y}{16}+U_Z V = { X , Y , Z } , U = { U X , U Y , U Z } , F = { f 1 , f 2 , f 3 } f X : X = U X f Y : Y = 3 x + U Y f Z : Z = 16 y + U Z
SCM 2.2.2 (开关、电路状态和灯泡状态)
V = { X , Y , Z } , U = { U X , U Y , U Z } , F = { f 1 , f 2 , f 3 } f X : X = U X f Y : Y = { 关 当 ( X = “打开”且 U Y = 0 ) 或 ( X = “合上”且 U Y = 1 ) 开 否则 f Z : Z = { 亮 当 ( Y = “关”且 U Z = 0 ) 或 ( Y = “开”且 U Z = 1 ) 灭 否则 V=\{X,Y,Z\},U=\{U_X,U_Y,U_Z\},F=\{f_1,f_2,f_3\}\\
f_X:X=U_X\\
f_Y:Y=\begin{cases}
\text{关}&\text{当}(X=\text{“打开”且}\ U_Y=0)\text{或}(X=\text{“合上”且}\ U_Y=1)\\
\text{开}&\text{否则}
\end{cases}\\
f_Z:Z=\begin{cases}
\text{亮}&\text{当}(Y=\text{“关”且}\ U_Z=0)\text{或}(Y=\text{“开”且}\ U_Z=1)\\
\text{灭}&\text{否则}
\end{cases} V = { X , Y , Z } , U = { U X , U Y , U Z } , F = { f 1 , f 2 , f 3 } f X : X = U X f Y : Y = { 关 开 当 ( X = “ 打开 ” 且 U Y = 0 ) 或 ( X = “ 合上 ” 且 U Y = 1 ) 否则 f Z : Z = { 亮 灭 当 ( Y = “ 关 ” 且 U Z = 0 ) 或 ( Y = “ 开 ” 且 U Z = 1 ) 否则
SCM 2.2.3 (工作时间、训练时间和比赛完成时间)
V = { X , Y , Z } , U = { U X , U Y , U Z } , F = { f 1 , f 2 , f 3 } f X : X = U X f Y : Y = 84 − x + U Y f Z : Z = 100 y + U Z V=\{X,Y,Z\},U=\{U_X,U_Y,U_Z\},F=\{f_1,f_2,f_3\}\\
f_X:X=U_X\\
f_Y:Y=84-x+U_Y\\
f_Z:Z=\frac{100}{y}+U_Z V = { X , Y , Z } , U = { U X , U Y , U Z } , F = { f 1 , f 2 , f 3 } f X : X = U X f Y : Y = 84 − x + U Y f Z : Z = y 100 + U Z
在以上3个 SCM 中,其共同的独立性与可能的依赖性如下 :
Z 和 Y 可能是相互依赖的 : 对于某些 z、y,有
P ( Z = z ∣ Y = y ) ≠ P ( Z = z ) P(Z=z|Y=y)\ne P(Z=z) P ( Z = z ∣ Y = y ) = P ( Z = z )
Y 和 X 可能是相互依赖的 : 对于某些 y、x,有
P ( Y = y ∣ X = x ) ≠ P ( Y = y ) P(Y=y|X=x)\ne P(Y=y) P ( Y = y ∣ X = x ) = P ( Y = y )
Z 和 X 可能是相互依赖的 : 对于某些 z、x,有
P ( Z = z ∣ X = x ) ≠ P ( Z = z ) P(Z=z|X=x)\ne P(Z=z) P ( Z = z ∣ X = x ) = P ( Z = z )
Z 和 X 在 Y 的条件下是独立的 : 对于所有的 x、y、z,有
P ( Z = z ∣ X = x , Y = y ) = P ( Z = z ∣ Y = y ) P(Z=z|X=x,Y=y)=P(Z=z|Y=y) P ( Z = z ∣ X = x , Y = y ) = P ( Z = z ∣ Y = y )
可以推理得出,在一个经典的因果模型中,不管具体的函数是什么,由边相连的两个变量是依赖的,所以 Z 和 Y 可能是相互依赖的 ,Y 和 X 也可能是相互依赖的 ,这样的结构被称为链结构。根据以上的事实,有 : 如果 Z 依赖于 Y 的值,而 Y 依赖于 X 的值,那么 Z 很有可能依赖于 X 的值。然而以下情况给出特例,其图模型也与图 2.1 相同。
SCM 2.2.4 (非传递依赖的情况)
V = { X , Y , Z } , U = { U X , U Y , U Z } , F = { f 1 , f 2 , f 3 } f X : X = U X f Y : Y = { a 当 X = 1 且 U Y = 1 b 当 X = 2 且 U Y = 1 c 当 U Y = 2 f Z : Z = { i 当 Y = c 或 U Z = 1 j 当 U Y = 2 V=\{X,Y,Z\},U=\{U_X,U_Y,U_Z\},F=\{f_1,f_2,f_3\}\\
f_X:X=U_X\\
f_Y:Y=\begin{cases}
a&\text{当}\ X=1\text{且}\ U_Y=1\\
b&\text{当}\ X=2\text{且}\ U_Y=1\\
c&\text{当}\ U_Y=2
\end{cases}\\
f_Z:Z=\begin{cases}
i&\text{当}\ Y=c\text{或}\ U_Z=1\\
j&\text{当}\ U_Y=2
\end{cases} V = { X , Y , Z } , U = { U X , U Y , U Z } , F = { f 1 , f 2 , f 3 } f X : X = U X f Y : Y = ⎩ ⎨ ⎧ a b c 当 X = 1 且 U Y = 1 当 X = 2 且 U Y = 1 当 U Y = 2 f Z : Z = { i j 当 Y = c 或 U Z = 1 当 U Y = 2
在这个例子中,无论 U Y U_Y U Y 和 U Z U_Z U Z 取什么值,X 均对 Z 值没有任何影响。因此,X 和 Z 在这个模型中独立地变化,此类情况称为非传递情况。由此我们得到第一条规则。
规则 2.2.1 (链结构中的条件独立性) 如果变量 X 和 Y 之间只有一条单向路径,Z 是截断这条路径的任何一组变量,则在 Z 的条件下,X 和 Y 是独立的。
同时需要注意的是,只有当假设误差项 U X U_X U X 、U Y U_Y U Y 和 U Z U_Z U Z 相互独立时,规则 2.2.1 才成立 。例如 U X U_X U X 是 U Y U_Y U Y 的原因,那么以 Z 为条件不一定会使 X 和 Y 相互独立,因为 X 的变化可能仍能通过他们的误差项与 Y 的变化产生关联。
现在来看如图 2.2 所示的图模型。例如,一个城市一天的温度(X)、当天当地冰淇淋店的销售额 (Y) 和当天该市暴力犯罪的数量 (Z) 之间的因果机制。这些变量之间可能的函数关系在 SCM 2.2.5 中给出。或者其可能代表如 SCM 2.2.6 的结构,连接开关 (X) 的状态 (开或关),一个灯泡 (Y) 的状态 (亮或灭),和第二个灯泡 (Z) 的状态 (亮或灭) 的因果机制。外生变量 U X U_X U X 、U Y U_Y U Y 和 U Z U_Z U Z 代表变量相互之间的关系的其他随机因素。
图 2.2 .以下两个 SCM 共享的图模型 : 分叉模型
SCM 2.2.5 (温度、冰激凌销量和犯罪)
V = { X , Y , Z } , U = { U X , U Y , U Z } , F = { f X , f Y , f Z } f X : X = U X f Y : Y = 4 x + U Y f Z : Z = x 10 + U Z V=\{X,Y,Z\},U=\{U_X,U_Y,U_Z\},F=\{f_X,f_Y,f_Z\}\\
f_X:X=U_X\\
f_Y:Y=4x+U_Y\\
f_Z:Z=\frac{x}{10}+U_Z V = { X , Y , Z } , U = { U X , U Y , U Z } , F = { f X , f Y , f Z } f X : X = U X f Y : Y = 4 x + U Y f Z : Z = 10 x + U Z
SCM 2.2.6 (开关和两个灯泡的状态)
V = { X , Y , Z } , U = { U X , U Y , U Z } , F = { f X , f Y , f Z } f X : X = U X f Y : Y = { 亮 当 ( X = “开”且 U Y = 0 ) 或 ( X = “关”且 U Y = 1 ) 灭 否则 f Z : Z = { 亮 当 ( X = “开”且 U Z = 0 ) 或 ( X = “关”且 U Z = 1 ) 灭 否则 V=\{X,Y,Z\},U=\{U_X,U_Y,U_Z\},F=\{f_X,f_Y,f_Z\}\\
f_X:X=U_X\\
f_Y:Y=\begin{cases}
\text{亮}&\text{当} (X=\text{“开”且}\ U_Y=0)\text{或} (X=\text{“关”且}\ U_Y=1)\\
\text{灭}&\text{否则}
\end{cases}\\
f_Z:Z=\begin{cases}
\text{亮}&\text{当} (X=\text{“开”且}\ U_Z=0)\text{或} (X=\text{“关”且}\ U_Z=1)\\
\text{灭}&\text{否则}
\end{cases} V = { X , Y , Z } , U = { U X , U Y , U Z } , F = { f X , f Y , f Z } f X : X = U X f Y : Y = { 亮 灭 当 ( X = “ 开 ” 且 U Y = 0 ) 或 ( X = “ 关 ” 且 U Y = 1 ) 否则 f Z : Z = { 亮 灭 当 ( X = “ 开 ” 且 U Z = 0 ) 或 ( X = “ 关 ” 且 U Z = 1 ) 否则
如果误差项 U X U_X U X 、U Y U_Y U Y 和 U Z U_Z U Z 相互独立时,可以确定 SCM 2.2.5 和 SCM 2.2.6 共享如下的依赖性和独立性。
X 和 Y 可能是相互依赖的 : 对于某些 x、y,有
P ( X = x ∣ Y = y ) ≠ P ( X = x ) P(X=x|Y=y)\ne P(X=x) P ( X = x ∣ Y = y ) = P ( X = x )
X 和 Z 可能是相互依赖的 : 对于某些 x、z,有
P ( X = x ∣ Z = z ) ≠ P ( X = x ) P(X=x|Z=z)\ne P(X=x) P ( X = x ∣ Z = z ) = P ( X = x )
Z 和 Y 可能是相互依赖的 : 对于某些 z、y,有
P ( Z = z ∣ Y = y ) ≠ P ( Z = z ) P(Z=z|Y=y)\ne P(Z=z) P ( Z = z ∣ Y = y ) = P ( Z = z )
Y 和 Z 在 X 的条件下是独立的 : 对于所有的 x、y、z,有
P ( Y = y ∣ Z = z , X = x ) = P ( Y = y ∣ X = x ) P(Y=y|Z=z,X=x)=P(Y=y|X=x) P ( Y = y ∣ Z = z , X = x ) = P ( Y = y ∣ X = x )
前两点同样源自 Y 和 Z 都是由一个箭头直接连接,所以当 X 的值改变时,Y 和 Z 的值也会改变。然而,这进一步告诉我们 : 如果 Y 随 X 的变化而变化,Z 随 X 的变化而变化,那么 Y 很可能随 Z 一起变化,反之亦然。同时,这样的结构被我们称为分叉结构,对应可以推出另一条规则。
规则 2.2.2 (分叉结构的条件独立性) 如果变量 X 是变量 Y 和 Z 的共同原因,并且 Y 和 Z 之间只有一条路径,则 Y 和 Z 在 X 的条件下独立。
2.3 对撞结构
除了之前的两种结构,还有一种基本的结构,如图 2.3 所示,称作对撞结构。
图 2.3 .对撞结构 图模型
如果误差项 U X U_X U X 、U Y U_Y U Y 和 U Z U_Z U Z 相互独立时,则对于上述模型有以下的独立性。
X 和 Z 可能是相互依赖的 : 对于某些 x、z,有
P ( X = x ∣ Z = z ) ≠ P ( X = x ) P(X=x|Z=z)\ne P(X=x) P ( X = x ∣ Z = z ) = P ( X = x )
Y 和 Z 可能是相互依赖的 : 对于某些 y、z,有
P ( Y = y ∣ Z = z ) ≠ P ( Y = y ) P(Y=y|Z=z)\ne P(Y=y) P ( Y = y ∣ Z = z ) = P ( Y = y )
P ( X = x ∣ Y = y ) = P ( X = x ) P(X=x|Y=y)=P(X=x) P ( X = x ∣ Y = y ) = P ( X = x )
X 和 Y 在 Z 的条件下可能是相互依赖的 : 对于某些 x、y、z,有
P ( X = x ∣ Y = y , Z = z ) ≠ P ( X = x ∣ Z = z ) P(X=x|Y=y,Z=z)\ne P(X=x|Z=z) P ( X = x ∣ Y = y , Z = z ) = P ( X = x ∣ Z = z )
前三点不多赘述,而最后一点则稍微令人费解,仔细想来,当以 Z 为条件时,我们将比较限定在 Z 取值相同的情况下,由于 Z 取值依赖于 X 和 Y,因此在对 Z 取相同值做比较时,X 值的任何变化必须通过 Y 值的变化来补偿,否则 Z 值也会改变。进而我们得到章节 2.2 的两条规则之外的另一条规则。
规则 2.3.1 (对撞结构中的条件独立性) 如果变量 Z 是变量 X 和 Y 之间的对撞节点,并且 X 与 Y 之间只有一条路径,那么 X 和 Y 是无条件独立的,但在 Z 或者 Z 的任何子孙条件下是相互依赖的。
2.4 d-分离
下面引入一个概念 : d-分离 (即他们之间不存在一条连通路径),其与 d-连通概念 (即他们之间存在一条连通路径) 相对应。当任何一对节点是 d-分离的时候,指的是这两个变量绝对独立;当任何一对节点是 d-连通的时候,指的是这两个变量可能是相互依赖的。
定义 2.4.1 (d-分离) 一条路径会被一组节点 Z 阻断,当且仅当
路径 p 包含链结构 A → B → C A\rightarrow B\rightarrow C A → B → C 或分叉结构 A ← B → C A\leftarrow B\rightarrow C A ← B → C ,且中间节点 B 在 Z 中 (即以 B 为条件);或者
路径 p 包含一个对状结构 A → B ← C A\rightarrow B\leftarrow C A → B ← C ,且对撞节点 B 及其子孙均不在 Z 中
如果 Z 阻断了 X 和 Y 间的每一条路径,则 X 和 Y 在 Z 的条件下是 d-分离的。
2.5 模型检验与因果搜索
全局性的检验方法也是很常用的,但是相比而言 d-分离不需要依赖任何具体的变量间的函数,只需要使用图模型;其次能适时局部性的模型检验,以检查局部模型是否存在问题。