mixle.models.dependence module

Conditional-dependence and small causal-structure learning utilities.

The module provides Gaussian and discrete conditional-independence measures plus lightweight PC-style skeleton and collider-orientation helpers for exploratory causal structure analysis.

class ConditionalIndependenceResult(measure, statistic, p_value, independent)[source]

Bases: object

Result from a conditional independence calculation.

Parameters:
class CausalSkeleton(edges, separating_sets, variable_names)[source]

Bases: object

Undirected skeleton plus separating sets from a PC-style search.

Parameters:
has_edge(i, j)[source]

Return whether the undirected skeleton contains edge ij.

Parameters:
Return type:

bool

class PartiallyDirectedGraph(directed_edges, undirected_edges, variable_names)[source]

Bases: object

Partially directed graph after collider orientation.

Parameters:
gaussian_partial_correlation(data, x, y, given=(), ridge=1.0e-10)[source]

Return partial correlation rho_xy.given for continuous data.

Parameters:
Return type:

float

gaussian_conditional_independence(data, x, y, given=(), alpha=0.05, ridge=1.0e-10)[source]

Fisher-z Gaussian conditional independence test.

Parameters:
Return type:

ConditionalIndependenceResult

discrete_conditional_mutual_information(data, x, y, given=())[source]

Estimate I(X;Y | Z) from categorical samples using empirical counts.

Parameters:
Return type:

float

learn_pc_skeleton(data, variable_names=None, alpha=0.05, max_cond_set=2, method='gaussian')[source]

Learn a PC-style undirected skeleton from conditional independences.

Parameters:
Return type:

CausalSkeleton

orient_v_structures(skeleton)[source]

Orient unshielded colliders i -> k <- j using separating sets.

Parameters:

skeleton (CausalSkeleton)

Return type:

PartiallyDirectedGraph