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.
Published

May 3, 2026

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

  1. causal-learn Tutorial 00: Environment And Library Tour
  2. causal-learn Tutorial 01: Graphs, DAGs, CPDAGs, PAGs, And Evaluation
  3. causal-learn Tutorial 02: Synthetic Data For Causal Discovery
  4. causal-learn Tutorial 03: Independence Tests
  5. causal-learn Tutorial 04: PC Algorithm For Continuous Data
  6. causal-learn Tutorial 05: PC With Prior Knowledge, Missing Data, And Discrete Data
  7. causal-learn Tutorial 06: FCI For Latent Confounders
  8. causal-learn Tutorial 07: CD-NOD For Nonstationary Data
  9. causal-learn Tutorial 08: Score-Based Discovery With GES
  10. causal-learn Tutorial 09: Exact Search And Score Functions
  11. causal-learn Tutorial 10: LiNGAM And Linear Non-Gaussian Models
  12. causal-learn Tutorial 11: Functional Causal Models: ANM And PNL
  13. causal-learn Tutorial 12: Permutation-Based Methods: GRaSP And BOSS
  14. causal-learn Tutorial 13: Time-Series Causal Discovery
  15. causal-learn Tutorial 14: Hidden Representation Learning With GIN
  16. causal-learn Tutorial 15: Benchmarking, Stability, And Sensitivity
  17. causal-learn Tutorial 16: End-To-End Causal Discovery Case Study
  18. 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.