6 Structural causal models

 

This chapter covers

  • Converting a general causal graphical model to a structural causal model
  • Mastering the key elements of SCMs
  • Implementing SCMs for rule-based systems
  • Building an SCM from scratch using additive models
  • Combining SCMs with deep learning

In this chapter, I’ll introduce a fundamental causal modeling approach called the structural causal model (SCM). An SCM is a special case of a causal generative model that can encode causal assumptions beyond those we can capture with a DAG. If a DAG tells us what causes what, an SCM tells us both what causes what and how the causes affect the effects. We can use that extra “how” information to make better causal inferences.

In this chapter, we’ll focus on defining and building an intuition for SCMs using examples in code. In later chapters, we’ll see examples of causal inferences that we can’t make with a DAG alone but we can make with an SCM.

6.1 From a general causal graphical model to an SCM

6.1.1 Forensics case study

6.1.2 Converting to an SCM via reparameterization

6.1.3 Formalizing the new model

6.1.4 A discrete, imperative example of an SCM

6.1.5 Why use SCMs?

6.1.6 Differences from related approaches

6.1.7 Causal determinism and implications to how we model

6.2 Equivalence between SCMs

6.2.1 Reparameterization is not enough

6.2.2 Uniqueness and equivalence of SCMs

6.3 Implementing SCMs for rule-based systems

6.3.1 Case study: The Monty Hall problem

6.3.2 A causal DAG for the Monty Hall problem

6.3.3 Implementing Monty Hall as an SCM with pgmpy

6.3.4 Exogenous variables in the rule-based system

6.3.5 Applications of SCM-modeling of rule-based systems