is_d_separator#

is_d_separator(G, x, y, z)[源代码]#

返回节点集 xy 是否被 z d-分离。

参数:
Gnx.DiGraph

一个 NetworkX DAG。

x节点或节点集合

G 中的第一个节点或节点集合。

y节点或节点集合

G 中的第二个节点或节点集合。

z节点或节点集合

潜在的分隔集(G 中的条件节点集)。可以为空集。

返回:
bbool

一个布尔值,如果 G 中给定 z 时,xy d-分离,则为 True。

抛出:
NetworkXError

D-分离测试通常用于有向无环图中不相交的节点集。因此,如果节点集不相交或输入图不是 DAG,算法会抛出 NetworkXError

NodeNotFound

如果在图中找不到任何输入节点,则会抛出 NodeNotFound 异常。

注意

DAG 中的 D-分隔集是阻断两个集合之间所有路径的节点集合。集合 z 中的节点如果在路径上且不是汇合节点(collider)或汇合节点的后代,则阻断该路径。此外,不在 z 中的汇合节点也阻断路径。沿路径的汇合结构是 ... -> c <- ...,其中 c 是汇合节点。

https://en.wikipedia.org/wiki/Bayesian_network#d-separation