causal-learn tutorial series
causal-learn
Causal Discovery
Python
Graphs
A hands-on tutorial series for causal discovery with PC, FCI, CD-NOD, GES, LiNGAM, functional causal models, permutation methods, stability checks, and reporting.
causal-learn is the tutorial track for causal discovery: learning candidate graph structures while staying honest about assumptions, equivalence classes, hidden confounding, and stability.
Notebook links open rendered HTML pages generated from the source notebooks under notebooks/tutorials/. Rendering is configured not to execute notebooks during site builds, so the pages are safe to publish even when a notebook contains heavier optional cells.
Notebook Sequence
- causal-learn Tutorial 00: Environment And Library Tour
- causal-learn Tutorial 01: Graphs, DAGs, CPDAGs, PAGs, And Evaluation
- causal-learn Tutorial 02: Synthetic Data For Causal Discovery
- causal-learn Tutorial 03: Independence Tests
- causal-learn Tutorial 04: PC Algorithm For Continuous Data
- causal-learn Tutorial 05: PC With Prior Knowledge, Missing Data, And Discrete Data
- causal-learn Tutorial 06: FCI For Latent Confounders
- causal-learn Tutorial 07: CD-NOD For Nonstationary Data
- causal-learn Tutorial 08: Score-Based Discovery With GES
- causal-learn Tutorial 09: Exact Search And Score Functions
- causal-learn Tutorial 10: LiNGAM And Linear Non-Gaussian Models
- causal-learn Tutorial 11: Functional Causal Models: ANM And PNL
- causal-learn Tutorial 12: Permutation-Based Methods: GRaSP And BOSS
- causal-learn Tutorial 13: Time-Series Causal Discovery
- causal-learn Tutorial 14: Hidden Representation Learning With GIN
- causal-learn Tutorial 15: Benchmarking, Stability, And Sensitivity
- causal-learn Tutorial 16: End-To-End Causal Discovery Case Study
- causal-learn Tutorial 17: Common Pitfalls, Reporting, And Limitations
How To Use This Tutorial Series
- Start with the environment and library-tour notebook.
- Continue in order if you want a coherent package course.
- Jump to individual notebooks when you need a specific estimator, diagnostic, or reporting pattern.
- Keep the causal design separate from the package API: the library helps implement the workflow, but the assumptions still need to be stated and defended.