这部分主要讲了causal discovery的do-calculus理论。这是将干预的结果概率化表达的重要理论,是评估因果作用的主要方法。欢迎大家一起学习
Do Calculus
理论
1 有向图
相关图论知识请移步:
2 do算子
通过因果之梯,我们知道,如果想要把对因果的理解上升到“干预”的层面,就必须引入“干预”。我们用do算子来在概率分布层面表述这种动作。在
D
A
G
DAG
DAG中
d
o
(
X
i
)
=
x
i
′
do(X_i)=x'_i
do(Xi)=xi′表示如下的操作:将
D
A
G
DAG
DAG中指向
x
i
x_i
xi的有向边全部切断,且将
X
i
X_i
Xi的取值固定为常数
x
i
′
x'_i
xi′ 。如此操作,得到的新
D
A
G
DAG
DAG的联合分布可以记做
P
(
x
1
,
x
2
,
.
.
.
,
x
n
∣
d
o
(
X
i
)
=
x
i
)
P(x_1,x_2,...,x_n|do(X_i)=x_i)
P(x1,x2,...,xn∣do(Xi)=xi) 。 可以证明,干预后的联合分布为
P
(
x
1
,
.
.
.
,
x
n
∣
d
o
(
X
i
)
=
x
i
′
)
=
P
(
x
1
,
.
.
.
,
x
n
)
P
(
x
i
∣
P
a
(
x
i
)
)
I
(
x
i
=
x
i
′
)
P(x_1,...,x_n|do(X_i)=x'_i)=\frac{P(x_1,...,x_n)}{P(x_i|Pa(x_i))} I(x_i=x'_i)
P(x1,...,xn∣do(Xi)=xi′)=P(xi∣Pa(xi))P(x1,...,xn)I(xi=xi′)
3 do ≠ condition
如下图(1)所示,当 x 1 x_1 x1是 x 2 x_2 x2的原因(父节点)时, P ( X 2 = x 2 ∣ X 1 = x 1 ) = P ( X 2 = x 2 ∣ d o ( X 1 ) = x 1 ) P(X_2=x_2|X_1=x_1)=P(X_2=x_2|do(X_1)=x_1) P(X2=x2∣X1=x1)=P(X2=x2∣do(X1)=x1),因为在干预前,原因的状态原本就对应着相应的结果状态,改变原因的值不会影响这种对应关系。
但如图(2)所示,当 x 1 x_1 x1是 x 2 x_2 x2的结果(子节点),给定了结果,对应的原因状态的可能性是不变的,即人为的干预结果,并不影响原因的分布,所以$ P ( X 2 = x 2 ∣ X 1 = x 1 ) ≠ P ( X 2 = x 2 ∣ d o ( X 1 ) = x 1 ) = P ( X 2 = x 2 ) P(X_2=x_2|X_1=x_1)\ne P(X_2=x_2|do(X_1)=x_1)=P(X_2=x_2) P(X2=x2∣X1=x1)=P(X2=x2∣do(X1)=x1)=P(X2=x2),根据因果边假设(causal edge assumption),从图像上来看,指向X_1的所有边都被删除了。
4 后门准则与The Adjustment Formula (校正公式)
根据 do 算子,便可以定义因果作用。比如二值的变量
Z
Z
Z对于
Y
Y
Y的平均因果作用(average causal effect)定义为
A
C
E
(
Z
→
Y
)
=
E
{
Y
∣
d
o
(
Z
=
1
)
}
−
E
{
Y
∣
d
o
(
Z
=
0
)
}
ACE(Z \rightarrow Y)=E\left \{ Y|do(Z=1) \right \}-E\left \{ Y|do(Z=0) \right \}
ACE(Z→Y)=E{Y∣do(Z=1)}−E{Y∣do(Z=0)}
也就是激活
Z
Z
Z与不激活
Z
Z
Z之间的区别。
“可识别性” 这个概念将被频繁的使用。因果推断中的识别性,和传统统计中的识别性定义是一致的。统计中,如果两个不同的模型参数,对应不同的观测数据的分布,那么我们称模型的参数可以识别。这里,如果因果作用可以用观测数据的分布唯一的表示,那么我们称因果作用是可以识别的。
有关 D D D-分离的概念请看图论。
后门准则:如图(1),在 D A G DAG DAG中,如果如下条件满足:
- Z Z Z中节点不是 X X X的后代;
- Z Z Z阻断了 ( X , Y ) (X,Y) (X,Y)之间所有指向 X X X的路径(又称为后门路径),
则称变量集合 Z Z Z相对于变量有序对 ( X , Y ) (X,Y) (X,Y)满足后门准则。且Pearl(1995)证明,若存在一个变量集合 Z Z Z相对于 ( X , Y ) (X,Y) (X,Y)满足后门准则,那么 X X X到 Y Y Y的因果作用是可以识别的。进行干预后,我们会得到新的图称作manipulated model,见图(2),对应的概率记作 P m P_m Pm.
根据后门准则,有
- P m ( Z = z ) = P ( Z = z ) P_m(Z=z)=P(Z=z) Pm(Z=z)=P(Z=z)
- P m ( Y = y ∣ X = x , Z = z ) = P ( Y = y ∣ X = x , Z = z ) P_m(Y=y|X=x,Z=z)=P(Y=y|X=x,Z=z) Pm(Y=y∣X=x,Z=z)=P(Y=y∣X=x,Z=z)
因此,校正公式(又称作causal effect rule)得以满足,如下:
P
(
Y
=
y
∣
d
o
(
X
)
=
x
)
=
∑
z
P
(
Y
=
y
,
Z
=
z
∣
d
o
(
X
=
x
)
)
=
∑
z
P
(
Y
=
y
∣
X
=
x
,
Z
=
z
)
P
(
Z
=
z
)
=
∑
z
P
(
Y
=
y
∣
X
=
x
,
P
a
(
x
)
=
z
)
P
(
P
a
(
x
)
=
z
)
\begin{aligned} P(Y=y|do(X)=x) & =\sum_{z}P(Y=y,Z=z|do(X=x)) \\ & = \sum_{z}P(Y=y|X=x,Z=z)P(Z=z)\\ & = \sum_{z}P(Y=y|X=x,Pa(x)=z)P(Pa(x)=z) \end{aligned}
P(Y=y∣do(X)=x)=z∑P(Y=y,Z=z∣do(X=x))=z∑P(Y=y∣X=x,Z=z)P(Z=z)=z∑P(Y=y∣X=x,Pa(x)=z)P(Pa(x)=z)
与 A C E ACE ACE识别公式相同,用 Z Z Z做调整,在分层加权求和求期望。
后门准则的例子(转载)
5 前门准则与The Adjustment Formula (校正公式)
前门准则:如图(1),在 D A G DAG DAG中,如果满足下列条件:
- Z Z Z切断了所有 X X X到 Y Y Y的直接路径
- X X X到 Z Z Z没有后门路径
- 所有 Z Z Z到 Y Y Y的后门路径都被 X X X阻断。
如图,
P
(
Y
=
y
∣
X
=
x
)
P(Y=y|X=x)
P(Y=y∣X=x)可以分解为两个后门
P
(
Y
=
y
∣
Z
=
z
)
P(Y=y|Z=z)
P(Y=y∣Z=z)和
P
(
Z
=
z
∣
X
=
x
)
P(Z=z|X=x)
P(Z=z∣X=x)。
对于
P
(
Y
=
y
∣
Z
=
z
)
P(Y=y|Z=z)
P(Y=y∣Z=z),满足后门准则的变量有
{
X
}
\left \{ X \right \}
{X},所以根据后门准则,
P
(
Y
=
y
∣
Z
=
z
)
=
∑
x
′
P
(
Y
=
y
∣
Z
=
z
,
X
=
x
′
)
P
(
X
=
x
′
)
P(Y=y|Z=z)=\sum_{x'}P(Y=y|Z=z,X=x')P(X=x')
P(Y=y∣Z=z)=x′∑P(Y=y∣Z=z,X=x′)P(X=x′)
对于
P
(
Z
=
z
∣
X
=
x
)
P(Z=z|X=x)
P(Z=z∣X=x),没有满足后门准则的变量,因此不变。则有
P
(
Y
=
y
∣
d
o
(
X
)
=
x
)
=
∑
z
P
(
Y
=
y
,
Z
=
z
∣
d
o
(
X
=
x
)
)
=
∑
z
P
(
Y
=
y
∣
Z
=
z
,
d
o
(
X
)
=
x
)
P
(
Z
=
z
∣
d
o
(
X
)
=
x
)
=
∑
z
P
(
Y
=
y
∣
d
o
(
Z
=
z
)
)
P
(
Z
=
z
∣
d
o
(
X
)
=
x
)
=
∑
z
∑
x
′
P
(
Y
=
y
∣
Z
=
z
,
X
=
x
′
)
P
(
X
=
x
′
)
P
(
Z
=
z
∣
X
=
x
)
\begin{aligned} P(Y=y|do(X)=x) & =\sum_{z}P(Y=y,Z=z|do(X=x)) \\ & = \sum_{z}P(Y=y|Z=z,do(X)=x)P(Z=z|do(X)=x)\\ & = \sum_{z}P(Y=y|do(Z=z))P(Z=z|do(X)=x)\\ & = \sum_{z}\sum_{x'}P(Y=y|Z=z,X=x')P(X=x')P(Z=z|X=x) \end{aligned}
P(Y=y∣do(X)=x)=z∑P(Y=y,Z=z∣do(X=x))=z∑P(Y=y∣Z=z,do(X)=x)P(Z=z∣do(X)=x)=z∑P(Y=y∣do(Z=z))P(Z=z∣do(X)=x)=z∑x′∑P(Y=y∣Z=z,X=x′)P(X=x′)P(Z=z∣X=x)
进而得到前门准则的校正公式为
P
(
y
∣
d
o
(
x
)
)
=
∑
z
P
(
z
∣
x
)
∑
x
′
P
(
y
∣
x
′
,
z
)
P
(
x
′
)
P(y|do(x))=\sum_{z}P(z|x)\sum_{x'}P(y|x',z)P(x')
P(y∣do(x))=z∑P(z∣x)x′∑P(y∣x′,z)P(x′)
这两个准则的意义在于:(1)某些研究中,即使
D
A
G
DAG
DAG中的某些变量不可观测,我们依然可以从观测数据中估计出某些因果作用;(2)这两个准则有助于我们鉴别“混杂变量” 和设计观察性研究。
6 do calculus
6.1 基本术语
- G X ‾ G_{\overline{X} } GX:移除 G G G中所有指向 X X X的边,即 X X X没有parent,也表示do(x)为空集;
- G X ‾ G_{\underline{X} } GX:移除 G G G中所有从 X X X指出的边,即 X X X没有;descendant
- G Z ( W ) ‾ G_{\overline{Z(W)} } GZ(W):移除 Z Z Z指向 W W W的所有边,即 Z Z Z中没有 W W W的parent。
- A ⊥ B ∣ C A\perp B|C A⊥B∣C指已知C的情况下A条件独立于B。
6.2 三条规则
- Ignoring observations(d-separation):如果
G
X
‾
G_{\overline{X} }
GX中
Y
⊥
Z
∣
X
,
W
Y\perp Z|X,W
Y⊥Z∣X,W。
P ( y ∣ d o ( x ) , z , w ) = P ( y ∣ d o ( x ) , w ) P(y|do(x),z,w)=P(y|do(x),w) P(y∣do(x),z,w)=P(y∣do(x),w) - Intervention/observation exchange(后门调整):如果
G
X
‾
,
Z
‾
G_{\overline{X},\underline{Z} }
GX,Z中
Y
⊥
Z
∣
X
,
W
Y\perp Z|X,W
Y⊥Z∣X,W,
P ( y ∣ d o ( x ) , d o ( z ) , w ) = P ( y ∣ d o ( x ) , z , w ) P(y|do(x),do(z),w)=P(y|do(x),z,w) P(y∣do(x),do(z),w)=P(y∣do(x),z,w) - Ignoring interventions:如果
G
X
,
Z
(
W
)
‾
G_{\overline{X,Z(W)}}
GX,Z(W)中
Y
⊥
Z
∣
X
,
W
Y\perp Z|X,W
Y⊥Z∣X,W,即
Y
Y
Y和
Z
Z
Z被
W
W
W
D
D
D-separation。
P ( y ∣ d o ( x ) , d o ( z ) , w ) = P ( y ∣ d o ( x ) , w ) P(y|do(x),do(z),w)=P(y|do(x),w) P(y∣do(x),do(z),w)=P(y∣do(x),w)
6.3 例子:计算 P ( c ∣ d o ( s ) ) P(c|do(s)) P(c∣do(s))
P
(
c
∣
d
o
(
s
)
)
=
∑
t
P
(
c
,
t
∣
d
o
(
s
)
)
=
∑
t
P
(
c
∣
t
,
d
o
(
s
)
)
P
(
t
∣
d
o
(
s
)
)
=
∑
t
P
(
c
∣
d
o
(
t
)
,
d
o
(
s
)
)
P
(
t
∣
s
)
=
∑
t
P
(
c
∣
d
o
(
t
)
)
P
(
t
∣
s
)
=
∑
t
∑
s
′
P
(
c
∣
d
o
(
t
)
,
s
′
)
P
(
s
′
∣
d
o
(
t
)
)
P
(
t
∣
s
)
=
∑
t
∑
s
′
P
(
c
∣
t
,
s
′
)
P
(
s
′
∣
d
o
(
t
)
)
P
(
t
∣
s
)
=
∑
t
∑
s
′
P
(
c
∣
t
,
s
′
)
P
(
s
′
)
P
(
t
∣
s
)
1
行
.
边缘分布公式
2
行
.
因子分解
3
,
4
行
.
d
o
(
s
)
=
空集,所以
d
o
(
s
)
=
s
5
行
.
t
和
c
后门被
S
阻断,因为
T
←
S
←
G
→
C
,根据后门修正公式
6
行
.
t
是
c
的原因,改变
t
不会影响
c
对应的分布,还是原本的条件分布
7
行
.
t
是
s
的结果,人为干预结果不会影响原因的分布,因此
d
o
(
t
)
与
s
无关
\begin{matrix} \begin{aligned} P(c|do(s)) & =\sum_{t}P(c, t|do(s)) \\ & = \sum_{t}P(c|t,do(s))P(t|do(s))\\ & = \sum_{t}P(c|do(t),do(s))P(t|s)\\ & = \sum_{t}P(c|do(t))P(t|s)\\ & = \sum_{t}\sum_{s'}P(c|do(t),s')P(s'|do(t))P(t|s)\\ & = \sum_{t}\sum_{s'}P(c|t,s')P(s'|do(t))P(t|s)\\ & = \sum_{t}\sum_{s'}P(c|t,s')P(s')P(t|s) \end{aligned} & \begin{aligned} & 1行.边缘分布公式 \\ & 2行.因子分解\\ & 3,4行.do(s)=空集,所以do(s)=s\\ & 5行.t和c后门被S阻断,因为T \leftarrow S \leftarrow G \rightarrow C,根据后门修正公式\\ & 6行.t是c的原因,改变t不会影响c对应的分布,还是原本的条件分布\\ & 7行.t是s的结果,人为干预结果不会影响原因的分布,因此do(t)与s无关 \end{aligned} \end{matrix}
P(c∣do(s))=t∑P(c,t∣do(s))=t∑P(c∣t,do(s))P(t∣do(s))=t∑P(c∣do(t),do(s))P(t∣s)=t∑P(c∣do(t))P(t∣s)=t∑s′∑P(c∣do(t),s′)P(s′∣do(t))P(t∣s)=t∑s′∑P(c∣t,s′)P(s′∣do(t))P(t∣s)=t∑s′∑P(c∣t,s′)P(s′)P(t∣s)1行.边缘分布公式2行.因子分解3,4行.do(s)=空集,所以do(s)=s5行.t和c后门被S阻断,因为T←S←G→C,根据后门修正公式6行.t是c的原因,改变t不会影响c对应的分布,还是原本的条件分布7行.t是s的结果,人为干预结果不会影响原因的分布,因此do(t)与s无关
下期预告
接下来会用代码实现do-calculus的计算,大概就这两天。