D-Separation
D-separation 是贝叶斯网络中的一个概念,用于通过图结构(DAG)判断随机变量之间的条件独立性 首先需要回顾一下的是:在图中,只要给定了某个节点的所有父节点,那么该节点就与其所有祖先节点在逻辑上是相互独立的
A node is conditionally independent of all its ancestor nodes in the
graph given all of its parents.Causal Chain( 因果链 )
- 没有被给定:

这时X和Z不是独立的,因为信息可以沿着链来传递
- 给定Y:

这时候X和Z关于Y条件独立(X⊥⊥Z∣Y),这时候就用到了最开始提到的定理,只要给定了某个节点的所有父节点,那么该节点就与其所有祖先节点在逻辑上是相互独立的,此时X和Z是独立的 也可以通过公式来证明: HINT: 记得回顾一下链式法则还有独立性
Common Cause( 共同原因 )
- 没有被给定:

X,Z不是独立的,因为他们共同受到了Y的影响。
- 给定Y:

X 和 Z 关于 Y 条件独立 (X⊥⊥Z∣Y)。知道 Y 之后,X 和 Z 之间的关联被解释,再无其他联系,同样可以通过公式来证明:
Common Effect
- 没有被给定:

X⊥⊥Z,没有任何给定,没有理由认为两个无关的原因有关联
- 给定Y:

X和Z不独立,X和Z会对Y产生的原因产生explaining away( 解释竞争 )。
D-Seperation判定算法
给定贝叶斯网络 G,节点 X和 Y,以及观测节点集合 Z={,…,},要判断 X⊥⊥Y∣Z是否保证成立(即 D-separate),步骤如下:
- 阴影化观测节点:在图中将Z 中的所有节点涂灰(代表它们已被观测)
- 枚举 X 到 Y 的所有无向路径:忽略箭头的方向,找出所有从 X 到 Y 的路径(节点不重复即可,不要担心循环,但通常考虑简单路径)
-
- 将路径分解为连续的三节点片段。- 检查每个三节点片段是否是活跃的(根据上述规则)。
- 如果所有片段都是活跃的,则该路径是活跃的(active path),它 D-connects X 和 Y,意味着 X 和 Y 不一定条件独立。
- 结论:
- 如果 不存在任何活跃路径,则 X⊥⊥Y∣Z被保证成立(D-separated)。
- 如果 存在至少一条活跃路径,则不能保证条件独立(可能依赖,也可能不依赖,取决于具体概率值)。
主要需要留意的是:如果只有一条路径,这条路径上只要有一个三元组是
Inactive Triples,那么这条路径就是Inactive的,条件一定是独立的。 如果有多条路径,只要有一条路径是Active,即便其它路径都是Inactive,也就是说不能忽略Active路径展示的相关性,不能证明条件是独立的
Active triples

Inactive triples

Example
