d_separated#
- d_separated(G, x, y, z)[source]#
Return whether node sets
x
andy
are d-separated byz
.- Parameters:
- Ggraph
A NetworkX DAG.
- xset
First set of nodes in
G
.- yset
Second set of nodes in
G
.- zset
Set of conditioning nodes in
G
. Can be empty set.
- Returns:
- bbool
A boolean that is true if
x
is d-separated fromy
givenz
inG
.
- Raises:
- NetworkXError
The d-separation test is commonly used with directed graphical models which are acyclic. Accordingly, the algorithm raises a
NetworkXError
if the input graph is not a DAG.- NodeNotFound
If any of the input nodes are not found in the graph, a
NodeNotFound
exception is raised.
Notes
A d-separating set in a DAG is a set of nodes that blocks all paths between the two sets. Nodes in
z
block a path if they are part of the path and are not a collider, or a descendant of a collider. A collider structure along a path is... -> c <- ...
wherec
is the collider node.