Skip to content

PC-STABLE Algorithm

Overview

PC-Stable is a constraint-based structure learning algorithm that recovers the skeleton of a Bayesian network and then orients as many edges as possible using v-structure (collider) detection and orientation propagation rules. It operates by testing pairs of variables for conditional independence, removing edges whose endpoints are d-separated by some conditioning set, and recording the separating sets for later orientation. The output is a Partially Directed Acyclic Graph (PDAG) rather than a fully oriented DAG, because constraint-based methods can only orient edges that are uniquely determined by the data.

The stable variant (Colombo & Maathuis, 2014) fixes an order-dependence problem in the original PC algorithm: the skeleton and v-structures it finds are the same regardless of the order in which variables are presented. This makes PC-Stable a reliable baseline for constraint-based learning.

Class: constraint · PDAG Package: bnlearn

Reference

Colombo D. & Maathuis M.H. (2014) – Order-Independent Constraint-Based Causal Structure Learning. J. Mach. Learn. Res. 15, 3741–3782. https://jmlr.org/papers/v15/colombo14a.html

Hyperparameters

Hyperparameter Type Default Values Description
alpha float 0.05 p-value threshold below which a CI test indicates conditional independence.
ci_test str mi mi, x2 Conditional independence test used in constraint-based learning.
max_elapsed int No limit Maximum allowed execution time in seconds.

Variants

Variant Package
bnlearn bnlearn