因果推断 - 干预
目錄
- 基礎知識
- 干預
- 前門準則、后門準則
- 后門調整
- 逆概率加權
- 前門調整
版權:轉載前請聯系作者獲得授權。
聲明:部分內容出自因果關系之梯,已獲得原作者授權。
參考書籍:《The Book of Why》——Judea Pearl
基礎知識
干預
定義:將因果圖中結點XXX的值修改為xxx,記為do(X=x)do(X=x)do(X=x),可以簡寫為do(x)do(x)do(x)。
性質:在對結點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)的前門準則。
后門調整
后門調整:基于后門路徑,消除干預帶來的dododo算子,僅使用已知的數據分布,估計變量之間的因果效應,實現干預。
通過辛普森悖論推導后門調整公式:
介紹:有一種藥物,對于男士群體而言,使用該藥物后,發病率會降低。同時,對于女士群體而言,使用該藥物后,發病率也會降低。但是,對男女人群一起統計,會發現,發病率升高。
原因:AB>abandCD>cd\frac{A}{B}>\frac{a}{b} \space and \space \frac{C}{D}>\frac{c}ze8trgl8bvbqBA?>ba??and?DC?>dc?不能推出A+CB+D>a+cb+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=1X = 1X=1表示服藥,X=0X = 0X=0表示未服藥,Y=1Y = 1Y=1表示發病的概率,Y=0Y = 0Y=0表示未發病的概率。
從數據中可以看出,P(Y=1∣X=1)=0.78<P(Y=1∣X=0)=0.83P(Y=1 | X=1) = 0.78 < P(Y=1 | X=0) = 0.83P(Y=1∣X=1)=0.78<P(Y=1∣X=0)=0.83,也就是:服藥后,發病率反而增加了!
但是,在固定性別時,數據顯示服藥后,發病率是降低的!難道說,如果我知道自己的性別,就服藥,不知道自己的性別,就不服藥?這顯然很荒謬。
其實,造成上述現象的原因,是因為存在混雜因子“性別”。因為,男性和女性的服藥比例是顯然不同的。依此可以畫出因果圖:
為了分析此藥物是否真的有效,我們使用干預的手段,驗證P(Y=1∣do(X=0))>P(Y=1∣do(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的邊,于是,因果圖變為了:
使用PmP_mPm?表示修改因果圖后的概率分布,則:
P(Y=y∣do(X=x))=Pm(Y=y∣X=x)=∑zPm(Y=y∣X=x,Z=z)Pm(Z=z∣X=x)=∑zPm(Y=y∣X=x,Z=z)Pm(Z=z)=∑zP(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∣do(X=1))=0.832>P(Y=1∣do(X=0))=0.781P(Y=1 | do(X=1)) = 0.832 > P(Y=1 | do(X=0)) = 0.781P(Y=1∣do(X=1))=0.832>P(Y=1∣do(X=0))=0.781
即:通過干預的手段,消除性別混雜后,說明服用藥物確實可以降低發病率。
由此,我們可以得到后門調整公式:
P(Y=y∣do(X=x))=∑zP(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))=∑z?P(Y=y∣X=x,Z=z)P(Z=z)
其中,ZZZ滿足(X,Y)(X,Y)(X,Y)的后門準則,即:以ZZZ為條件會阻斷XXX和YYY之間的所有后門路徑。
逆概率加權
逆概率加權是后門調整的進一步推廣,利用貝葉斯公式對后門調整公式變換了一下形式。
還是針對辛普森悖論:
P(Y=y∣do(X=x))=∑zP(Y=y∣X=x,Z=z)P(Z=z)=∑zP(Y=y∣X=x,Z=z)P(Z=z)P(Z=z∣X=x)P(Z=z∣X=x)=∑zP(Y=y,X=x,Z=z)P(Z=z∣X=x)\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(Z=z | X=x)}{P(Z=z | X=x)} \\ &= \sum_z \frac{P(Y=y, X=x, Z=z)}{P(Z=z | X=x)} \end{aligned}P(Y=y∣do(X=x))?=z∑?P(Y=y∣X=x,Z=z)P(Z=z)=z∑?P(Z=z∣X=x)P(Y=y∣X=x,Z=z)P(Z=z)P(Z=z∣X=x)?=z∑?P(Z=z∣X=x)P(Y=y,X=x,Z=z)??
由此,我們可以得到逆概率加權公式:
P(Y=y∣do(X=x))=∑zP(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))=∑z?P(X=x∣Z=z)P(Y=y,X=x,Z=z)?
其中,ZZZ滿足(X,Y)(X,Y)(X,Y)的后門準則。
前門調整
前門調整:基于前門路徑,消除干預帶來的dododo算子,僅使用已知的數據分布,估計變量之間的因果效應,實現干預。
首先,介紹因果推斷中的三條公理(出自《為什么》書中209頁):
下面,通過吸煙致癌案例推導前門調整公式:
如上圖所示,我們想要分析X對Y的直接影響,需要消除混雜U。但是此時無法借助后門調整公式,因為U的數據無法通過觀測得到。
不過,我們可以通過全概率公式和因果推斷的三條公理,嘗試推斷X對Y的因果效應P(Y∣do(X))P(Y|do(X))P(Y∣do(X))。
P(Y∣do(X))=∑ZP(Y∣do(X),Z)P(Z∣do(X))全概率公式=∑ZP(Y∣do(X),do(Z))P(Z∣do(X))公理2=∑ZP(Y∣do(X),do(Z))P(Z∣X)公理2(Z=?)=∑ZP(Y∣do(Z))P(Z∣X)公理3=∑X‘∑ZP(Y∣do(Z),X′)P(X′∣do(Z))P(Z∣X)全概率公式=∑X‘∑ZP(Y∣Z,X′)P(X′∣do(Z))P(Z∣X)公理2=∑X‘∑ZP(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?
至此,公式中已經沒有dododo算子啦!這里的X′X^{'}X′代表的也是變量XXX,只不過X′X^{'}X′需要遍歷取值,和特定的XXX做運算。
由此,我們可以得到前門調整公式:
P(Y=y∣do(X=x))=∑x′∑zP(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′?∑z?P(Y=y∣X=x′,Z=z)P(X=x′)P(Z=z∣X=x)
其中,ZZZ滿足(X,Y)(X,Y)(X,Y)的前門準則。
總結
- 上一篇: 因果推断 - 基础知识
- 下一篇: 因果推断 - 反事实