博客專欄

        EEPW首頁 > 博客 > 因果推斷入門:為什么需要因果推斷?(3)

        因果推斷入門:為什么需要因果推斷?(3)

        發布人:數據派THU 時間:2022-09-18 來源:工程師 發布文章
        3、圖中的因果流和關聯流
        3.1 什么是圖?


        我猜看這系列文章的朋友對圖 Graph 的概念已經再熟悉不過了,這里就不費口舌細說了。圖是由節點 node 和邊 edge 組成的一個數據結構,下面放幾張普通類型圖的示例:
        圖片

        3.2 貝葉斯網絡


        因果圖模型的許多工作是在概率圖模型的基礎上完成的。要了解因果圖首先要了解一下什么是概率圖模型,雖然兩者有著很大差別。貝葉斯網絡是最主要的概率圖形模型,因果圖模型(因果貝葉斯網絡)繼承了它們的大部分屬性。
        聯合概率分布可以通過 chain rule 寫成如下形式:
        圖片
        如果直接對上面公式建模的話,參數數量會爆炸。
        圖片
        如果  只依賴依賴  的話,沒必要condition on所有的變量,即  可以寫成 。我們可以用 graph 表示變量之間的依賴關系,這個 graph 就叫做貝葉斯網絡。一般而言,貝葉斯網絡的有向無環圖 DAG 中的節點表示隨機變量,它們可以是可觀察到的變量,抑或是隱變量、未知參數等。
        給定 DAG,怎么計算所有變量的聯合概率分布呢,需要用到下面的假設,即X節點只和它的父節點有關,和其他節點無關:
        圖片
        圖片
        這樣,圖 3.6 的聯合概率分布就可以寫成下面形式:
        圖片
        圖片
        圖片
        3.3 因果圖
        上一節是關于統計模型和關聯建模的。在本節中,我們將用因果假設來增強這些模型,把它們變成因果模型,使我們能夠研究因果關系。為了引入因果假設,我們必須首先理解 “什么是原因 cause”。
        圖片
        根據上面的定義,如果變量 Y 能隨著 X 的變化而變化,則稱 X 是 Y 的原因。然后給出貫穿全書的(嚴格)因果假設 3.3,在有向圖中,每個節點都是其子節點的直接原因。X 是 Y 的父節點,X 就是 Y 的直接原因,X 的原因(X 的父節點)也是Y的原因,但是是間接原因。
        圖片
        如果我們把 Y 的所有直接原因 ?x,那么改變 Y 的任何其他原因都不會引起 Y 的任何變化。因為 cause 的定義(De?nition 3.2)意味著 cause 和它的 e?ect 是相關的,而且因為我們假設所有的父節點都是他們子節點的原因,所以因果圖中父節點和子節點是相關的。
        非嚴格因果關系假設將允許一些父節點不是其子節點的原因,但不常見。除非另有說明,在本書中,我們將用“因果圖”來指滿足嚴格因果邊假設的 DAG,省略“嚴格”一詞。
        總結一下,DAG 有向無環圖是 graph 的一種特殊形式,貝葉斯網絡和因果圖都是用 DAG 表示的,但是兩者的含義不一樣,貝葉斯網絡表達的是變量之間的依賴關系,而因果圖表達的是變量之間的因果關系。由于表示因果關系的邊也暗含著兩個變量之間有關聯,因此,DAG 里既有因果關系也有關聯關系,這也對應本章的題目。

        3.4 最簡單的結構


        現在我們已經了解了基本的假設和定義,我們可以進入本章的核心:DAG 中的關聯和因果關系。首先我從構成 DAG 的基本結構入手。這些最小的構建塊包括 chain 鏈(圖 3.9a)、fork 叉子(圖 3.9b)、immoralities 對撞(圖 3.9c)、兩個未連接的節點(圖 3.10)和兩個連接的節點(圖 3.11)。其示意圖分別如下所示
        圖片
        圖片
        在一個由兩個未連邊的節點組成的 graph 中(圖3.10), 和  肯定是獨立的 independent、無關聯的 unassociated。
        相反,如果兩個節點之間有邊(圖3.11),那么一定是 associated 的。這里用到的是 Assumption 3.3:由于 x1 是 x2 的原因,x2 必須能夠對 x1 的變化做出反應,所以 x2 和 x1是關聯的。一般來說,如果兩個節點在因果圖中是相鄰的,它們都是相關的。

        3.5 鏈 & 叉子結構


        把鏈 chain 和叉子 fork 放在一節介紹是因為它倆的特性是一樣。
        圖片
        相關性:
        在 chain 中,x1 是 x2 的原因,x2 是 x3 的原因,那么 x1 和 x2 是相關的,x2,x3 是相關的,x1 和 x3 也是相關的。
        在 fork 中,x2 是 x1 和 x3 的共因,x1 和 x3 也是相關的。這個可能有點反直覺,x1,x3 之間明明沒有邊,為啥也是有關聯的呢?舉個例子:溫度升高會導致冰淇淋銷量上升,同時也會使犯罪率上升,從冰淇淋銷量和犯罪率的數據上來看,他們有著相同的趨勢,因此是相關的,盡管他們之間并沒有因果關系。
        關聯流 associate flow 是對稱的,x1 和 x3 相關,x3 也和 x1 相關,即圖中紅色虛線部分。而因果流是非對稱的,只能沿著有向邊流動,即 x1 是 x3 的原因,x3 不是 x1 的原因。
        獨立性:
        chain 和 fork 也有著相同的獨立性。如果我們把 x2 固定住,即 condition on x2,那么 x1 和 x3 的相關性就會被阻斷 block,變的獨立。
        圖片
        在 chain中,如果把 x2 固定成一個定值,x1 做任何改變,都不會影響 x2 的變換,因為已經被固定了,那么 x3 也不會發生變化,因此 x1,x3 變的獨立。
        Proof:
        chain 的聯合概率分布如下:
        圖片
        然后,condition on x2, 利用 Bayes rule 得到:
        圖片
        再次利用 Bayes rule ,得到:
        圖片
        由此得出結論  。


        3.6 對撞結構
        對撞結構是指 x1,x3 都是 x2 的原因,x2 又叫做 collider。這種情況下時,x1 和 x3 都影響 x2,但是信息沒有從 x2 流向 x1 或者 x3,因此 x1 和 x3 是相互獨立的。 的 association flow 被 x2 block 掉了,圖中紅線只有一半。 
        圖片
        proof:
        圖片
        如果固定 x2,即 condition on x2,此時 x1,x3 從獨立變的相關了。舉個不恰當的例子,x1 是財富,x2 是長相,x3 是追女孩,長得帥有錢才能追到女孩。如果某個人沒有追到女孩,而我們觀察到他帥,那他肯定沒錢,如果他有錢,那他一定長得不行。
        如果 condition on collider 節點的后代節點,x1,x3 也是相關的。可以把 x2 的后代節點想象成 x2 的代理節點。condition on 代理節點和 condition on x2 的效果是一樣的。

        3.7 d-分離


        首先引入 blocked path 的概念,給定條件集合 Z,Z 里面的變量都是固定住值的,如果存在一條路徑滿足以下兩種情況之一,這就是一條 blocked path:

        • 這條路徑存在 chain()或者存在 fork(),且 condition on W(
        • 這條路徑存在一個 collider W(  ),并且并且 W 的所有后代節點也不固定(


        圖片
        同理,unblocked path 的定義與 block path 相反。blocked path 中不存在從 X 到 Y 的 association flow,被 block 掉了。unblocked path 中存在從 X 到 Y 的 association flow。
        下面給出 d-分離的概念:
        圖片
        在給定集合 Z 的條件下,如果 X 和 Y 中的任意兩個節點之間的路徑都被 block,那么就說 X 和 Y被 Z d-分離。zhiyao 存在一條路徑是 unblock 的,則說 X 和 Y 被 Z d-連通。如果 X 和 Y 被 Z d-分離,可以得到 X 和 Y 在給定 Z 時一定是獨立的。 表示 d 分離, 表示獨立。
        圖片
        小練習:
        圖片
        判斷下面幾種情況是否是 d-分離

        1. Are T and Y d-separated by the empty set?

        No


        2. Are T and Y d-separated by W2?

        No


        3. Are T and Y d-separated by {W2 , M1 }?

        Yes


        4. Are T and Y d-separated by {W1 , M2 }?

        Yes


        5. Are T and Y d-separated by {W1 , M2 ,X2}?

        No


        3.8 因果流和關聯流


        最后,總結下圖上的因果流和關聯流。關聯流沿著 unblock path 流動,因果流沿著有向邊流動。我們將沿著有向邊的關聯流稱作因果關聯 causal association。總體的 association 包括 causal association 和 non-causal association。一個典型的非因果關聯的例子是 confounding association。
        常見的貝葉斯網絡是純粹的統計模型,所以我們只談論貝葉斯網絡中的關聯流動。不過,關聯在貝葉斯網絡中的流動方式與在因果圖中的流動方式完全相同,關聯都是沿著鏈和叉子流動的,除非 condition on 中間節點,而 collider 會阻止關聯的流動,除非 condition on collider。我們可以通過兩個節點是否被 d-分離來判斷它們是否有關聯(兩者之間有關聯流)。
        因果圖的特殊之處在于,我們還假設邊具有因果意義(因果邊假設,假設 3.3)。這個假設將因果關系引入我們的模型,它使一種類型的路徑具有全新的意義:有向路徑。這個假設賦予了有向路徑獨特的作用,即沿著它們蘊含因果關系。此外,這個假設是不對稱的;“X 是 Y 的原因”和“Y 是 X 的原因”是不一樣的。這意味著關聯和因果關系之間有一個重要的區別:關聯是對稱的,而因果關系是不對稱的。


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: AI

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 会昌县| 东兰县| 泰来县| 凤阳县| 永定县| 乌苏市| 柳河县| 秭归县| 海淀区| 故城县| 黑水县| 泸水县| 红原县| 玉溪市| 尼玛县| 洛隆县| 钟山县| 通许县| 潍坊市| 宿迁市| 沛县| 宣武区| 西城区| 佛教| 耒阳市| 高淳县| 新营市| 双峰县| 唐海县| 兴文县| 康平县| 黎川县| 察雅县| 城市| 张家界市| 保亭| 新河县| 德清县| 平顶山市| 合阳县| 务川|