前言
整个因果学科的学习框架之前已经梳理在了学习框架(潜在因果模型和结构因果模型)一文中,本文的内容是结构因果模型(SCM)里一部分。
从有向无环图说起
有向无环图(Directed Acyclic Graph:DAG)里的"有向"代表图里的连线是有箭头表示方向的,“无环”即没有环路,箭头上游是“父亲”,下游是“子代”。
对DAG的理解有两种观点:
- 是一个条件独立模型;
- 是一个数据生成机制。
用
x
i
x_i
xi代表图中的节点,
P
(
x
i
)
P(x_i)
P(xi)代表连续变量的概率密度函数和离散变量的概率函数,则DAG中随机变量的联合分布可以有如下的分解:
P
(
x
1
,
.
.
.
,
x
i
)
=
∏
i
=
1
n
P
(
x
i
∣
p
a
i
)
P(x_1,...,x_i)=\prod_{i=1}^nP(x_i|pa_i)
P(x1,...,xi)=i=1∏nP(xi∣pai)
p
a
i
pa_i
pai表示
x
i
x_i
xi的“父亲”集合。
以下图为例:
P
(
X
1
,
X
2
,
X
3
,
X
4
,
X
5
,
X
6
,
X
i
,
X
j
)
=
P
(
X
1
)
∗
P
(
X
2
)
∗
P
(
X
3
∣
X
1
)
∗
P
(
X
4
∣
X
1
,
X
2
)
∗
P
(
X
5
∣
X
2
)
∗
P
(
X
i
∣
X
3
,
X
4
)
∗
P
(
X
6
∣
X
i
)
∗
P
(
X
j
∣
X
4
,
X
5
,
X
6
)
P(X_1,X_2,X_3,X_4,X_5,X_6,X_i,X_j)= P(X_1)*P(X_2)*P(X_3|X_1)*P(X_4|X_1,X_2)*P(X_5|X_2)*P(X_i|X_3, X_4)*P(X_6|X_i)*P(X_j|X_4,X_5,X_6)
P(X1,X2,X3,X4,X5,X6,Xi,Xj)=P(X1)∗P(X2)∗P(X3∣X1)∗P(X4∣X1,X2)∗P(X5∣X2)∗P(Xi∣X3,X4)∗P(X6∣Xi)∗P(Xj∣X4,X5,X6)
这样描述变量联合分布或者数据生成机制的模型,被称为“图模型”或“贝叶斯网络”。
do算子登场
DAG图上引入因果则需要do算子或者干预这一概念。如下图所示,干预意味着处置变量不再受其“父亲”变量的影响,因此一个干预变量不会再有任何一个进入它的有向边。
用一个例子来理解:假设我们想研究评分对一个店铺客流量的影响,do算子或干预意味着,我们人为的把某个店铺的得分修改成t,即
P
(
Y
∣
d
o
(
X
i
=
t
)
)
P(Y|do(X_i=t))
P(Y∣do(Xi=t)),然后观测起客流量的分布。而店铺的
P
(
Y
∣
X
i
=
t
)
P(Y|X_i=t)
P(Y∣Xi=t)则表示原来用户自由打分的情况下,客流量的分布。
区分干预分布和条件分布
先给出结论:干预分布 ≠ \neq =条件分布,即 P ( . ∣ d o ( X i ) = x i ′ ) ≠ P ( . ∣ X i = x i ′ ) P(.|do(X_i)=x_i^{'})\neq P(.|X_i=x_i^{'}) P(.∣do(Xi)=xi′)=P(.∣Xi=xi′)。
原因通过下图可以理解,干预分布下打断了混淆变量对处置的影响。
参考资料
[1] 因果推断简介之五:因果图
[2] 《因果推断与机器学习》郭若成