bnmetrics.markov_blanket

Markov-blanket subgraph extraction.

The Markov blanket of variable v in a graph g is:

MB(v) = {v} ∪ parents(v) ∪ children(v) ∪ co_parents(children(v))
        ∪ undirected_neighbours(v)

Same definition as bnmetrics 0.1.x (utils.py:71-126) on the int8 endpoint matrix. Bidirected/CIRCLE neighbours are NOT included in the blanket in this v0.2 release (matches 0.1.x DAG/CPDAG semantics); PAG-aware extension is open work.

Attributes

Functions

markov_blanket(→ bnmetrics._graph._Graph)

Return the Markov-blanket subgraph of var in g.

markov_blanket_indices(→ tuple[int, Ellipsis])

Indices of var's Markov blanket in g's ORIGINAL index space.

Module Contents

bnmetrics.markov_blanket.markov_blanket(g: object, var: int | str) bnmetrics._graph._Graph[source]

Return the Markov-blanket subgraph of var in g.

The returned _Graph satisfies GraphLike. Variable indices are re-numbered to 0..k-1 over the blanket. var_names of the sub-graph carries the original names for the included variables (preserving caller-side identity).

bnmetrics.markov_blanket.markov_blanket_indices(g: object, var: int | str) tuple[int, Ellipsis][source]

Indices of var’s Markov blanket in g’s ORIGINAL index space.

Useful when callers want to slice their own arrays without re-numbering. The returned tuple is sorted ascending.

bnmetrics.markov_blanket.TAIL = 0