Causal Models and Interventions › Structural Causal Models
World Models HandbookAll chapters Causal Models and Interventions › Structural Causal ModelsOne section · Sections in this chapter3 / 14 ↓
The basic object is deliberately simple: a collection of variables, each assigned its own generating rule. The simplicity is the point. Rather than trying to encode causal knowledge in constraints on a joint distribution, which tends to be both unnatural and fragile, we encode it in the way the variables are constructed, one at a time, from their causes.
A structural causal model is a tuple where:
- are endogenous variables, the quantities determined within the model; some may be latent rather than observed.
- are exogenous variables, unmodeled background factors with a distribution .
- are structural mechanisms; each endogenous variable is a deterministic function of its parents and its exogenous input: .
A few reading notes on this definition. The endogenous/exogenous split is a modeling choice, not a property of nature: exogenous variables are simply the factors we have chosen not to model, and the quality of an SCM depends on putting the right things on each side of that line. The exogenous variables make each mechanism deterministic despite a stochastic world: all randomness is pushed into , so that conditional on , every endogenous variable is a fixed function of its parents. In a recursive or otherwise uniquely solvable SCM, this determinism gives a fixed exogenous profile exactly one solution under each contemplated intervention, which is what later makes counterfactual questions well defined. The parent sets define the causal graph, a directed graph over with an edge from each parent to each child, and the structural equations together with the graph are the model's causal content.
Two properties do most of the work. First, each mechanism is a separate function with its own exogenous noise: the rule that generates the room temperature is a different object from the rule that generates the operator's cooling decision. Second, for the recursive, acyclic SCMs used in this chapter, the equations have a unique solution. If we also assume the system is Markovian, meaning the exogenous variables are mutually independent, the resulting joint distribution factorizes along the causal graph:
where:
- : the realized value of endogenous variable ; lowercase letters denote observed values, uppercase letters the variables themselves
- : the values of the parents of in the causal graph (the variables that feed directly into its mechanism )
- the product runs over all endogenous variables, one factor per mechanism
The Markovian assumption is worth dwelling on because it does essential work. Independence of the exogenous variables rules out residual dependence between the disturbances assigned to different mechanisms. Correlated disturbances can indicate an omitted common cause or other misspecification, but independence is a modeling assumption rather than an exact empirical test of completeness.
A Bayesian network encodes this observational factorization, while an SCM adds intervention semantics to its conditional kernels. Under the stated autonomy assumption, a hard intervention replaces the target mechanism and leaves non-target mechanisms fixed. An arbitrary likelihood factorization does not receive that interpretation automatically, although a deep generative model can be designed with causal structure. The distinction is semantic, not merely whether the software contains separate factors.
In the MDPs of Part II, the transition kernel can be interpreted as a mechanism when state and action supply the needed conditioning history. Its causal validity also depends on support, consistency, selection, specification, dynamics, and the intervention target. If a recorded state omits a common cause of action and future outcome, the fitted kernel can mix over that cause and fail to identify an action effect. This is one overlap between state insufficiency and confounding, not an equivalence between them.
This connection runs deeper than an analogy. In an MDP, the transition mechanism is queried with an action selected by the agent; the action is externally set relative to the environment's transition equation. In a fixed dataset, however, logged actions were generated by a behavior policy conditioned on its information. Treating them as freely randomized inputs is justified only when the modeled state blocks the relevant common causes and the required action support is present. Complete observed state can remove this confounding under the Markov assumption, but it does not by itself guarantee positivity, correct specification, or immunity to selection bias. Partial or stale state can leave common causes unobserved and bias a fitted transition response.
Let us make this concrete with a small four-variable SCM, the classic sprinkler story. Season causes rain and also whether the sprinkler was scheduled to run ; rain and sprinkler each cause the grass to be wet .
The mechanisms are:
- , exogenous.
- , for example in the dry season and in the wet season.
- , say in the dry season and in the wet season.
- in this deterministic toy model.
Notice the shape of this little graph. Season is a common cause of both rain and sprinkler use, so it sits at the top with two outgoing edges. Rain and sprinkler then converge on wetness, forming a collider at . In this four-variable model, conditioning on season blocks the fork-induced association between rain and sprinkler use, while conditioning on their common effect can induce an association through the collider.
Each line is a module. If the city installs a smart controller that changes the sprinkler policy , the model assumes that the rain and wetting mechanisms are untouched. This autonomy is a central causal-modeling assumption, not a consequence of the data.
The autonomy or modularity assumption says that replacing one structural equation leaves non-target equations unchanged unless the model explicitly represents a coupling. In the sprinkler example, changing the controller leaves the rain equation fixed by assumption. Intervention and transport arguments must state which equations are assumed autonomous under the contemplated change.
It is worth being clear about the epistemic status of this assumption. It cannot be verified from a single dataset, because a single dataset is one draw from one configuration of mechanisms, and many different mechanism assignments produce identical data. What can support it is domain knowledge and evidence from changes across environments. In the toy sprinkler model, for example, we explicitly assume that replacing the controller does not alter the rain mechanism; a real sensor-driven controller could violate that separation. When modularity fails, a change in one place can alter statistics that the model expected to remain stable. Invariance tests can reveal some such violations when the available environments supply informative changes, but they cannot guarantee that every spurious relation will be exposed.