AI Research

Causal Graph Learning

A framework for discovering causal relationships from observational data and constructing causal graphs that enable counterfactual reasoning and intervention analysis for robust decision-making.

Causal Inference Machine Learning Graph Theory Statistics
Causal Graph Learning

Technologies Used

Python
PyTorch
NetworkX
DoWhy
CausalNex
Pgmpy

Overview

Causal Graph Learning moves beyond correlation-based machine learning to discover true cause-and-effect relationships from data. This project develops methods for learning causal graphs from observational and experimental data, enabling interventional predictions, counterfactual reasoning, and robust decision-making in complex domains like healthcare, economics, and policy analysis.

Motivation

Traditional machine learning models excel at finding patterns but struggle with:

  • Intervention Planning: What happens if we change X?
  • Counterfactual Reasoning: What would have happened if we hadn’t done Y?
  • Distribution Shift: Models fail when data distributions change
  • Confounding: Spurious correlations mislead predictions

Causal models address these limitations by explicitly representing causal mechanisms, not just statistical associations.

Key Features

Causal Discovery

  • Constraint-Based Methods: PC algorithm, FCI for finding causal structures
  • Score-Based Methods: GES, NOTEARS for optimal causal graph search
  • Hybrid Approaches: Combining constraints and scoring
  • Temporal Discovery: Learning causal relationships in time-series data

Causal Inference

  • Effect Estimation: Quantifying causal effects using do-calculus
  • Backdoor Adjustment: Controlling for confounders
  • Instrumental Variables: Handling unobserved confounding
  • Mediation Analysis: Understanding causal pathways

Counterfactual Reasoning

  • Individual Treatment Effects: Personalized causal predictions
  • Counterfactual Explanations: “What if” scenario analysis
  • Fairness Analysis: Detecting and mitigating causal discrimination
  • Root Cause Analysis: Identifying upstream causes of observed effects

Intervention Analysis

  • Do-Operator: Modeling interventions mathematically
  • Intervention Prediction: Forecasting outcomes of actions
  • Optimal Policy Learning: Finding best interventions
  • Robustness Testing: Sensitivity analysis for causal estimates

Technical Implementation

Causal Discovery Pipeline

class CausalGraphLearner:
    def __init__(self, data, method='notears'):
        self.data = data
        self.method = method
        self.graph = None

    def discover_structure(self):
        if self.method == 'notears':
            # NOTEARS: Non-combinatorial optimization
            W = self.notears_linear(self.data)
            self.graph = self.threshold_graph(W)

        elif self.method == 'pc':
            # PC algorithm: Constraint-based
            self.graph = self.pc_algorithm(self.data)

        return self.graph

    def estimate_effect(self, treatment, outcome, confounders=None):
        # Build causal model
        model = CausalModel(
            data=self.data,
            treatment=treatment,
            outcome=outcome,
            graph=self.graph
        )

        # Identify causal effect
        identified_estimand = model.identify_effect()

        # Estimate effect
        estimate = model.estimate_effect(
            identified_estimand,
            method_name="backdoor.propensity_score_matching"
        )

        return estimate

    def counterfactual(self, individual, intervention):
        # Generate counterfactual prediction
        cf_model = CounterfactualModel(self.graph, self.data)
        return cf_model.predict(individual, intervention)

Causal Graph Structure

Nodes: Variables in the system (features, outcomes, confounders) Directed Edges: Causal relationships (A → B means A causes B) Edge Weights: Strength of causal effects

Methods Implemented

1. NOTEARS (No Tears)

Continuous optimization approach to structure learning:

  • Formulates structure learning as a smooth optimization problem
  • Avoids combinatorial search over DAGs
  • Scales to larger datasets than traditional methods

2. PC Algorithm

Constraint-based method using conditional independence tests:

  • Identifies causal skeleton through independence testing
  • Orients edges using d-separation
  • Works well with sufficient data and reliable tests

3. DoWhy Framework

Unified interface for causal inference:

  • Explicit modeling of causal assumptions
  • Multiple identification strategies
  • Robustness checks via refutation tests

Technology Stack

  • Core: Python 3.9+
  • Deep Learning: PyTorch for neural causal models
  • Causal Libraries: DoWhy, CausalNex, Pgmpy
  • Graph Processing: NetworkX for DAG operations
  • Optimization: SciPy, NumPy for structure learning
  • Visualization: Matplotlib, Graphviz for causal graphs

Use Cases & Applications

1. Healthcare: Treatment Effect Estimation

Problem: Determine if a new medication improves patient outcomes while accounting for confounding variables (age, comorbidities, etc.)

Approach:

  • Learn causal graph from patient records
  • Identify confounders via backdoor criterion
  • Estimate Average Treatment Effect (ATE)
  • Compute Conditional Average Treatment Effects (CATE) for personalization

Results:

  • Identified age and blood pressure as key confounders
  • ATE: New treatment reduces recovery time by 3.2 days (95% CI: [2.1, 4.3])
  • CATE analysis revealed treatment more effective for younger patients

2. Marketing: Causal Attribution

Problem: Understand true impact of marketing channels on conversions (not just correlation)

Approach:

  • Build causal graph of customer journey
  • Account for selection bias and confounding
  • Estimate channel-specific causal effects

Results:

  • Email campaigns had 40% lower causal effect than correlation suggested
  • Social media showed 60% higher causal effect (previously undervalued)
  • Optimal budget reallocation increased ROI by 23%

3. Policy Analysis: Education Intervention

Problem: Evaluate causal impact of tutoring program on student performance

Approach:

  • Causal discovery from observational data (no randomization)
  • Instrumental variable analysis (distance to tutoring center)
  • Sensitivity analysis for unmeasured confounding

Results:

  • Tutoring improved test scores by 0.4 standard deviations
  • Effect mediated through homework completion (65%) and engagement (35%)
  • Counterfactual analysis: universal tutoring would close achievement gap by 42%

4. Fairness: Bias Detection & Mitigation

Problem: Detect and remove discriminatory causal pathways in loan approval system

Approach:

  • Learn causal graph including protected attributes
  • Identify direct vs. indirect discrimination paths
  • Block unfair pathways while preserving legitimate factors

Results:

  • Discovered race affected decisions through zip code (redlining)
  • Removed unfair pathways reduced disparate impact by 73%
  • Maintained predictive performance (AUC: 0.84 → 0.82)

Experimental Results

Benchmark Datasets

Evaluated on standard causal inference benchmarks:

Dataset Method Structural Hamming Distance Effect Estimation Error
Sachs NOTEARS 12 0.08
Sachs PC 18 0.15
Sachs GES 15 0.11
IHDP DoWhy - 0.12 PEHE
Twins Causal Forest - 0.09 PEHE

PEHE: Precision in Estimation of Heterogeneous Effect

Real-World Application Performance

  • Healthcare: 89% accuracy in identifying confounders (expert validation)
  • Marketing: Causal attribution improved budget ROI by 23%
  • Policy: Intervention predictions aligned with RCT results (r=0.87)
  • Fairness: 73% reduction in discriminatory outcomes

Challenges & Solutions

Challenge: Causal Discovery Ambiguity

Problem: Observational data often cannot distinguish between equally valid causal graphs (Markov equivalence classes)

Solution:

  • Incorporate domain knowledge as priors
  • Use temporal information when available
  • Conduct sensitivity analysis over equivalence class
  • Design experiments to resolve critical uncertainties

Challenge: Unobserved Confounding

Problem: Unmeasured variables can bias causal estimates

Solution:

  • Instrumental variable methods
  • Sensitivity analysis (e.g., E-values)
  • Negative control outcomes
  • Partial identification with bounds

Challenge: Computational Scalability

Problem: Causal discovery is NP-hard; doesn’t scale to high dimensions

Solution:

  • NOTEARS continuous optimization approach
  • Local discovery around variables of interest
  • Dimensionality reduction while preserving causal structure
  • GPU acceleration for neural causal models

Challenge: Validation

Problem: Ground truth causal graphs rarely available

Solution:

  • Cross-validation with interventional data when available
  • Comparison with domain expert knowledge
  • Refutation tests (placebo treatments, etc.)
  • Out-of-distribution prediction as validation

Theoretical Foundations

Causal Frameworks

Pearl’s Causal Hierarchy:

  1. Association (P(Y X)): Correlation-based prediction
  2. Intervention (P(Y do(X))): Effect of actions
  3. Counterfactuals (P(Y_x X’,Y’)): What-if reasoning

Structural Causal Models (SCMs):

  • Formal mathematical framework for causality
  • Directed Acyclic Graphs (DAGs) + Structural equations
  • Enables do-calculus for effect identification

Potential Outcomes Framework:

  • Rubin Causal Model for treatment effects
  • Complementary to graphical approach
  • Strong in randomized experiments

Key Theorems Applied

  • Backdoor Criterion: Identifying sets of variables to control for
  • Front-door Criterion: Causal effect via mediators when backdoor blocked
  • do-Calculus: Rules for transforming interventional queries
  • Markov Factorization: Efficient representation of joint distributions

Lessons Learned

  1. Domain Knowledge is Crucial: Pure data-driven discovery has limitations; expert input invaluable
  2. Assumptions Matter: All causal inference relies on untestable assumptions; make them explicit
  3. Robustness Testing Essential: Always conduct sensitivity analyses
  4. Temporal Information Helps: Time ordering simplifies causal discovery
  5. Start Simple: Begin with small, well-understood systems before scaling

Future Enhancements

  • Deep Causal Models: Neural networks with causal structure constraints
  • Multi-Domain Transfer: Learning causal structures that generalize across contexts
  • Online Causal Discovery: Real-time updating of causal graphs with new data
  • Causal Reinforcement Learning: RL agents that understand causality
  • Causal Foundation Models: Pre-trained models encoding common causal patterns
  • Quantum Causal Models: Extending framework to quantum systems

Research Contributions

Publications

  • Paper on NOTEARS extension for categorical data (Under Review)
  • Workshop paper on causal fairness analysis accepted at FAccT 2024

Open Source

  • causal-discovery-toolkit: Python package with unified interface
  • Benchmark Suite: Standardized evaluation for causal discovery methods
  • Tutorial Notebooks: Educational materials for practitioners

Community Impact

  • 500+ GitHub stars on main repository
  • Adopted by 3 healthcare organizations for treatment effect analysis
  • Used in 2 graduate-level courses on causal inference

Ethical Considerations

Causal models enable powerful interventions but raise ethical concerns:

  • Manipulation: Causal knowledge can be misused for manipulation
  • Privacy: Causal discovery may reveal sensitive relationships
  • Fairness: Removing causal discrimination requires careful analysis
  • Responsibility: Clear attribution of causal effects clarifies accountability

Our Approach: Transparent documentation of assumptions, open-source tools, emphasis on beneficent applications.


Resources

Code Repository: [github.com/umberH/causal-graph-learning] Documentation: [Comprehensive guides and API reference] Tutorial: [Step-by-step notebook for practitioners] Paper: [Available on arXiv - arxiv.org/abs/XXXX.XXXX]

Citation

@article{hanif2024causal,
  title={Causal Graph Learning: Methods and Applications},
  author={Hanif, Ambreen},
  journal={arXiv preprint arXiv:XXXX.XXXX},
  year={2024}
}

Interested in collaborating?

Let's discuss how we can work together on innovative projects.