A collection of python libraries that are useful for causal machine learning.
General
- PyWhy. an organization that holds a multitude of causal machine learning packages in python
- DoWhy. A package that offers a high level API for graph definition, identification, estimation, sensitivity analysis and refutation
- PGMPY. A package for general Bayesian network definition and inference (not just causal inference)
Identification
- Ananke. A package that implements advanced graph based identification algorithms and allows for semi-parametric estimation.
- y0. Advanced graph based identification algorithms for general causal graphs (even allowing for un-directed edges)
Estimation
- EconML. Many causal ML algorithms for estimation and confidence intervals for heterogeneous treatment effects (under conditional exogeneity or with instruments)
- CausalML. Many causal ml algorithms for estimation of heterogeneous treatment effects
- UpliftML. A smaller set of causal ML algorithms for heterogeneous effect estimation, but which scales on Spark, using PySpark
- DoubleML. Implements the double ML estimation algorithm with inference, for average treatment effects under exogeneity or with instruments
Causal Graph Discovery
- PyWhy-Graphs. A basic library for causal graph manipulation and basic graph algorithms (e.g. conditional independence)
- DoDiscover. A package for causal discovery in python
- Causica. A deep learning based causal discovery package
- CausalLearn. Causal discovery package with many recent advanced algorithms from the research community