pyciphod - Python package for Causal Inference in Public Health using Observational Databases (Beta)
- Beta version (v0.1)
- This package is under active development: not all functionalities are available
- Disclaimer: This package is under development and may change. Use with caution applications.
pyciphod is a robust and versatile Python package developed and maintained by the CIPHOD team at the Pierre Louis Institute of Epidemiology and Public Health, INSERM, Sorbonne University. It is designed to empower epidemiologists and practitioners to uncover and understand intricate causal mechanisms in their data. pyciphod offers a comprehensive suite of methods for causal inference, including causal discovery, causal reasoning, and root cause analysis, and is suited for both fully specified and partially specified graphs. It effectively handles temporal data, such as time series or cohort data, addressing the evolving needs of epidemiologists.
- iid data
- Time series
- Cohorts
- Fully specified graphs
- Partially specified graphs: partially oriented graphs, cluster graphs, summary causal graphs, difference graphs
- Temporal graphs: dynamic causal graphs
-
Classical causal discovery: Learn the entire causal structure of the dataset, which can be computationally intensive and may not always be necessary for specific research questions.
-
Local causal discovery: Focus on discovering causal relations in a specific part of the causal graph, particularly around a target variable (such as a treatment or outcome), rather than attempting to learn the entire causal structure of the dataset. This approach is computationally more efficient because it limits the scope to the local neighborhood of the target variable.
-
Federated causal discovery: Harness the power of distributed data sources while preserving data privacy.
-
Difference graph discovery: Identify changes in causal relationships over time by comparing causal graphs at different time points, enabling the detection of temporal shifts in causality.
- Determine whether a causal effect can be uniquely computed from the available data and the structure of the causal graph.
- If the causal effect can be uniquely derived, obtain an estimand to be used for estimating the causal effect from the data.
- Estimate causal effects from data using a variety of methods.
- Identify and analyze the root causes of observed anomalies by using causal graphs to trace the origins of effects within your data.
- Receive recommendations on where to intervene to eliminate the anomalies.
About causal discovery
About causal reasoning
- https://openreview.net/forum?id=lL4EzE8bY8
- https://ojs.aaai.org/index.php/AAAI/article/view/30021
- https://openreview.net/forum?id=5f7YlSKG1l
- https://ojs.aaai.org/index.php/AAAI/article/view/34882
- https://openreview.net/forum?id=yYGdFo4kKb
- https://openreview.net/forum?id=905LEugq6R
About root cause analysis
- https://proceedings.mlr.press/v206/assaad23a/assaad23a.pdf
- https://dl.acm.org/doi/pdf/10.1145/3627673.3680010
- Charles Assaad
- Federico Baldo
- Simon Ferreira
- Timothée Loranchet
- Willow Scott
- Sarah Semlali
- Anouk Ruer