因果推論與機器學習

結構因果模型(SCM)

把一個系統想成一支小程式:每個變數都由它的直接原因再加上自己的隨機雜訊算出來。結構因果模型就是把這支程式寫下來——每個變數有一行賦值式,說明哪些其他變數、加上哪些無法解釋的隨機性,共同產生了它。這些式子不是要同時求解的聯立方程,而是有方向的食譜:箭頭左邊是結果,右邊是原因。

形式上,一個 SCM 是一組外生(雜訊)變數 U、內生變數 V、一組結構函數(每個變數一條式子 V_i = f_i(V_i 的父節點, U_i)),以及 U 上的一個分布。這些式子導出一張有向圖:X 到 Y 的邊代表 X 出現在 Y 的式子裡。最關鍵的性質是自主性(autonomy):每條式子是一個獨立的機制,因此把某變數固定住的介入只會替換那一行,其餘維持不變。這種模組性正是單純的聯合分布所欠缺的。

由於同一個物件既規定了資料如何被觀察、在介入下如何改變,也規定了在反事實世界裡會發生什麼,SCM 把 Pearl 因果階梯的三個層級統一在同一個模型裡。代價是要對假設誠實:圖結構與函數形式大半是建模選擇,而它們的推論中只有一部分(條件獨立性)能由觀察資料檢驗。

V_i = f_i(\mathrm{pa}_i,\,U_i),\qquad U_i \sim P(U)

每個內生變數都是其父節點與自身外生雜訊的確定性函數。

SCM 不只是『圖加上聯合分布』:兩個 SCM 可以共用這兩者,卻在反事實上彼此矛盾,因為它們在雜訊層次的機制不同。

又稱
SCMstructural equation models結構因果模型