版权:转载前请联系作者获得授权。
声明:部分内容出自因果关系之梯,已获得原作者授权。
参考书籍:《The Book of Why》——Judea Pearl
基础知识
干预
定义:将因果图中结点 X X X的值修改为 x x x,记为 d o ( X = x ) do(X=x) do(X=x),可以简写为 d o ( x ) do(x) do(x)。
性质:在对结点X进行干预时,会删除因果图中指向X的边。
与“以变量为条件”的区别:
- 表现形式: P ( Y = y ∣ X = x ) P(Y=y | X=x) P(Y=y∣X=x) vs P ( Y = y ∣ d o ( X = x ) ) P(Y=y | do(X=x)) P(Y=y∣do(X=x))
- “以变量为条件”是从不同的角度看世界,“干预”是改变世界。
- “以变量为条件”不改变原始数据的分布,“干预”改变了原始数据的分布。
前门准则、后门准则
- 后门路径:节点X和节点Y之间,以指向X的箭头为开始的路径。如:X <- Z -> Y。
- 前门路径:节点X和节点Y之间,以由X指出的箭头为开始的路径。如:X -> Z -> Y。
- 后门标准(后门准则):如果变量集Z满足:① 不包含X的子孙节点;② 阻断了X到Y的所有后门路径。则称Z满足(X, Y)的后门准则。
- 前门标准(前门准则):如果变量集Z满足:① 阻断了X到Y的所有路径;② X到Z之间没有未阻断的路径(X到Z不存在后门路径);③ Z到Y之间的所有后门路径都被X阻断。则称Z满足(X, Y)的前门准则。
后门调整
后门调整:基于后门路径,消除干预带来的 d o do do算子,仅使用已知的数据分布,估计变量之间的因果效应,实现干预。
通过辛普森悖论推导后门调整公式:
介绍:有一种药物,对于男士群体而言,使用该药物后,发病率会降低。同时,对于女士群体而言,使用该药物后,发病率也会降低。但是,对男女人群一起统计,会发现,发病率升高。
原因: A B > a b a n d C D > c d \frac{A}{B}>\frac{a}{b} \space and \space \frac{C}{D}>\frac{c}{d} BA>ba and DC>dc不能推出 A + C B + D > a + c b + d \frac{A+C}{B+D}>\frac{a+c}{b+d} B+DA+C>b+da+c
例子:
性别 \ 是否服药 | 服药 | 未服药 |
---|---|---|
男(357 / 700 = 0.51) | 81 / 87 = 0.93 | 234 / 270 = 0.87 |
女(343 / 700 = 0.49) | 192 / 263 = 0.73 | 55 / 80 = 0.69 |
总数 700 | 273 / 350 = 0.78 | 289 / 350 = 0.83 |
我们使用 X = 1 X = 1 X=1表示服药, X = 0 X = 0 X=0表示未服药, Y = 1 Y = 1 Y=1表示发病的概率, Y = 0 Y = 0 Y=0表示未发病的概率。
从数据中可以看出, P ( Y = 1 ∣ X = 1 ) = 0.78 < P ( Y = 1 ∣ X = 0 ) = 0.83 P(Y=1 | X=1) = 0.78 < P(Y=1 | X=0) = 0.83 P(Y=1∣X=1)=0.78<P(Y=1∣X=0)=0.83,也就是:服药后,发病率反而增加了!
但是,在固定性别时,数据显示服药后,发病率是降低的!难道说,如果我知道自己的性别,就服药,不知道自己的性别,就不服药?这显然很荒谬。
其实,造成上述现象的原因,是因为存在混杂因子“性别”。因为,男性和女性的服药比例是显然不同的。依此可以画出因果图:
为了分析此药物是否真的有效,我们使用干预的手段,验证
P
(
Y
=
1
∣
d
o
(
X
=
0
)
)
>
P
(
Y
=
1
∣
d
o
(
X
=
1
)
)
P(Y=1 | do(X=0)) > P(Y=1 | do(X=1))
P(Y=1∣do(X=0))>P(Y=1∣do(X=1)),则说明药物可以降低发病率。
上文中提到,对X进行干预时,需要在因果图中删除指向X的边,于是,因果图变为了:
使用
P
m
P_m
Pm表示修改因果图后的概率分布,则:
P
(
Y
=
y
∣
d
o
(
X
=
x
)
)
=
P
m
(
Y
=
y
∣
X
=
x
)
=
∑
z
P
m
(
Y
=
y
∣
X
=
x
,
Z
=
z
)
P
m
(
Z
=
z
∣
X
=
x
)
=
∑
z
P
m
(
Y
=
y
∣
X
=
x
,
Z
=
z
)
P
m
(
Z
=
z
)
=
∑
z
P
(
Y
=
y
∣
X
=
x
,
Z
=
z
)
P
(
Z
=
z
)
\begin{aligned} P(Y=y | do(X=x)) &= P_m(Y=y | X=x) \\ &= \sum_z P_m(Y=y | X=x, Z=z) P_m(Z=z | X=x) \\ &= \sum_z P_m(Y=y | X=x, Z=z) P_m(Z=z) \\ &= \sum_z P(Y=y | X=x, Z=z) P(Z=z) \end{aligned}
P(Y=y∣do(X=x))=Pm(Y=y∣X=x)=z∑Pm(Y=y∣X=x,Z=z)Pm(Z=z∣X=x)=z∑Pm(Y=y∣X=x,Z=z)Pm(Z=z)=z∑P(Y=y∣X=x,Z=z)P(Z=z)
根据数据可以计算出
P
(
Y
=
1
∣
d
o
(
X
=
1
)
)
=
0.832
>
P
(
Y
=
1
∣
d
o
(
X
=
0
)
)
=
0.781
P(Y=1 | do(X=1)) = 0.832 > P(Y=1 | do(X=0)) = 0.781
P(Y=1∣do(X=1))=0.832>P(Y=1∣do(X=0))=0.781
即:通过干预的手段,消除性别混杂后,说明服用药物确实可以降低发病率。
由此,我们可以得到后门调整公式:
P ( Y = y ∣ d o ( X = x ) ) = ∑ z P ( Y = y ∣ X = x , Z = z ) P ( Z = z ) P(Y=y|do(X=x)) = \sum_z P(Y=y|X=x, Z=z)P(Z=z) P(Y=y∣do(X=x))=∑zP(Y=y∣X=x,Z=z)P(Z=z)
其中,
Z
Z
Z满足
(
X
,
Y
)
(X,Y)
(X,Y)的后门准则,即:以
Z
Z
Z为条件会阻断
X
X
X和
Y
Y
Y之间的所有后门路径。
逆概率加权
逆概率加权是后门调整的进一步推广,利用贝叶斯公式对后门调整公式变换了一下形式。
还是针对辛普森悖论:
P ( Y = y ∣ d o ( X = x ) ) = ∑ z P ( Y = y ∣ X = x , Z = z ) P ( Z = z ) = ∑ z P ( Y = y ∣ X = x , Z = z ) P ( Z = z ) P ( X = x ∣ Z = z ) P ( X = x ∣ Z = z ) = ∑ z P ( Y = y , X = x , Z = z ) P ( X = x ∣ Z = z ) \begin{aligned} P(Y=y|do(X=x)) &= \sum_z P(Y=y|X=x, Z=z)P(Z=z) \\ &= \sum_z \frac{P(Y=y|X=x, Z=z)P(Z=z) P(X=x | Z=z)}{P(X=x | Z=z)} \\ &= \sum_z \frac{P(Y=y, X=x, Z=z)}{P(X=x | Z=z)} \end{aligned} P(Y=y∣do(X=x))=z∑P(Y=y∣X=x,Z=z)P(Z=z)=z∑P(X=x∣Z=z)P(Y=y∣X=x,Z=z)P(Z=z)P(X=x∣Z=z)=z∑P(X=x∣Z=z)P(Y=y,X=x,Z=z)
由此,我们可以得到逆概率加权公式:
P ( Y = y ∣ d o ( X = x ) ) = ∑ z P ( Y = y , X = x , Z = z ) P ( X = x ∣ Z = z ) P(Y=y|do(X=x)) = \sum_z \frac{P(Y=y,X=x,Z=z)}{P(X=x|Z=z)} P(Y=y∣do(X=x))=∑zP(X=x∣Z=z)P(Y=y,X=x,Z=z)
其中,
Z
Z
Z满足
(
X
,
Y
)
(X,Y)
(X,Y)的后门准则。
前门调整
前门调整:基于前门路径,消除干预带来的 d o do do算子,仅使用已知的数据分布,估计变量之间的因果效应,实现干预。
首先,介绍因果推断中的三条公理(出自《为什么》书中209页):
- 若变量W和Y无关,则: P ( Y ∣ d o ( X ) , Z , W ) = P ( Y ∣ d o ( X ) , Z ) P(Y|do(X),Z,W) = P(Y|do(X),Z) P(Y∣do(X),Z,W)=P(Y∣do(X),Z)
- 若Z阻断了(X, Y)之间的所有后门路径,则: P ( Y ∣ d o ( X ) , Z ) = P ( Y ∣ X , Z ) P(Y|do(X),Z) = P(Y|X,Z) P(Y∣do(X),Z)=P(Y∣X,Z)
- 若X到Y没有因果路径,则: P ( Y ∣ d o ( X ) ) = P ( Y ∣ X ) P(Y|do(X)) = P(Y | X) P(Y∣do(X))=P(Y∣X)
下面,通过吸烟致癌案例推导前门调整公式:
如上图所示,我们想要分析X对Y的直接影响,需要消除混杂U。但是此时无法借助后门调整公式,因为U的数据无法通过观测得到。
不过,我们可以通过全概率公式和因果推断的三条公理,尝试推断X对Y的因果效应 P ( Y ∣ d o ( X ) ) P(Y|do(X)) P(Y∣do(X))。
P
(
Y
∣
d
o
(
X
)
)
=
∑
Z
P
(
Y
∣
d
o
(
X
)
,
Z
)
P
(
Z
∣
d
o
(
X
)
)
全
概
率
公
式
=
∑
Z
P
(
Y
∣
d
o
(
X
)
,
d
o
(
Z
)
)
P
(
Z
∣
d
o
(
X
)
)
公
理
2
=
∑
Z
P
(
Y
∣
d
o
(
X
)
,
d
o
(
Z
)
)
P
(
Z
∣
X
)
公
理
2
(
Z
=
∅
)
=
∑
Z
P
(
Y
∣
d
o
(
Z
)
)
P
(
Z
∣
X
)
公
理
3
=
∑
X
‘
∑
Z
P
(
Y
∣
d
o
(
Z
)
,
X
′
)
P
(
X
′
∣
d
o
(
Z
)
)
P
(
Z
∣
X
)
全
概
率
公
式
=
∑
X
‘
∑
Z
P
(
Y
∣
Z
,
X
′
)
P
(
X
′
∣
d
o
(
Z
)
)
P
(
Z
∣
X
)
公
理
2
=
∑
X
‘
∑
Z
P
(
Y
∣
Z
,
X
′
)
P
(
X
′
)
P
(
Z
∣
X
)
公
理
3
\begin{aligned} P(Y|do(X)) &= \sum_Z P(Y|do(X), Z) P(Z|do(X)) \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space 全概率公式 \\ &= \sum_Z P(Y|do(X),do(Z)) P(Z|do(X)) \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space 公理2 \\ &= \sum_Z P(Y|do(X), do(Z)) P(Z|X) \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space 公理2(Z=\varnothing) \\ &= \sum_Z P(Y|do(Z))P(Z|X) \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space 公理3 \\ &= \sum_{X^{‘}} \sum_Z P(Y|do(Z), X^{'}) P(X^{'} | do(Z)) P(Z|X) \space \space 全概率公式 \\ &= \sum_{X^{‘}} \sum_Z P(Y|Z, X^{'}) P(X^{'} | do(Z)) P(Z|X) \space \space \space \space \space \space \space \space \space 公理2 \\ &= \sum_{X^{‘}} \sum_Z P(Y|Z, X^{'}) P(X^{'}) P(Z|X) \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space 公理3 \\ \end{aligned}
P(Y∣do(X))=Z∑P(Y∣do(X),Z)P(Z∣do(X)) 全概率公式=Z∑P(Y∣do(X),do(Z))P(Z∣do(X)) 公理2=Z∑P(Y∣do(X),do(Z))P(Z∣X) 公理2(Z=∅)=Z∑P(Y∣do(Z))P(Z∣X) 公理3=X‘∑Z∑P(Y∣do(Z),X′)P(X′∣do(Z))P(Z∣X) 全概率公式=X‘∑Z∑P(Y∣Z,X′)P(X′∣do(Z))P(Z∣X) 公理2=X‘∑Z∑P(Y∣Z,X′)P(X′)P(Z∣X) 公理3
至此,公式中已经没有
d
o
do
do算子啦!这里的
X
′
X^{'}
X′代表的也是变量
X
X
X,只不过
X
′
X^{'}
X′需要遍历取值,和特定的
X
X
X做运算。
由此,我们可以得到前门调整公式:
P ( Y = y ∣ d o ( X = x ) ) = ∑ x ′ ∑ z P ( Y = y ∣ X = x ′ , Z = z ) P ( X = x ′ ) P ( Z = z ∣ X = x ) P(Y=y|do(X=x)) = \sum_{x'} \sum_z P(Y=y|X=x^{'},Z=z)P(X=x^{'})P(Z=z|X=x) P(Y=y∣do(X=x))=∑x′∑zP(Y=y∣X=x′,Z=z)P(X=x′)P(Z=z∣X=x)
其中, Z Z Z满足 ( X , Y ) (X,Y) (X,Y)的前门准则。