Causal assumptions. Directed acyclic graphs
Why are two variables statistically related? There are two possibilities:
- one variable causes the other, or
- the process generating the two variables creates a non-causal association
Both may be present. To draw causal inference from statistical patterns requires us to rule out the non-causal sources of those patterns, thus isolating the causal effects.
Causal inference therefore relies heavily on conceptual assumptions about the causal process that creates the observed variables. Directed Acyclic Graphs (DAGs) provide a mathematically precise yet intuitive language to formalize those causal processes.
This page offers a high-level overview of some of the key concepts of DAGs. It is not intended to be exhaustive; the properties of DAGs could be the subject of an entire course!
Causal paths in DAGs
Causal relationships are represented by arrows. If an intervention to modify the value of a variable A
would change the value of a variable B
, then an arrow is needed between these variables.
A -> B
Two variables (nodes) in a graph are causally related if one can follow arrows from one to the other in a single direction. The variable A
causes B
above. Similarly, A
may be related to B
through a causal effect operating through other variables.
A -> M -> B
Non-causal paths in DAGs
A
and B
may also be non-causally associated by the causal process that produces each one. Two important causal structures relevant to non-causal associations are forks and colliders.
Forks
Forks exist wherever an ancestor C
affects both A
and B
.
A <- C -> B
For example, my education A
might be related to my income B
in part because my parent’s education C
affects both of these outcomes.
When a fork is present, A
and B
will be statistically related because they are both affected by the common ancestor C
. Statistical adjustment for C
can break this relationship, potentially isolating any causal effect of A
on B
by looking within subgroups defined by C
.
Colliders
Colliders exist whenever a variable C
is caused by both A
and B
.
A -> C <- B
For example, the grass will be wet C = 1
if it is raining A
or if the sprinklers are on B
. (Example from Pearl 1998.)
When a collider is present, the path containing that collider does not create a statistical dependency. The sprinklers B
may be turned on at the same time each day—whether they are on has nothing to do with whether it is raining A
.
But if one statistically adjusts for a collider, doing so opens a backdoor path. If I restrict to times when the grass is wet (C = 1
), then either it is raining or the sprinklers are on. The two are now statistically dependent.
Using DAGs to identify causal effects
To identify causal effects in a DAG, we have to think about all the paths connecting the two variables of interest.
Path: A sequence of edges connecting one variable to another
There are two kinds of paths:
- Causal paths entirely involve arrows flowing forward from
A
toB
- Backdoor paths are all other paths
To isolate a causal effect, all backdoor paths must be blocked. Using the rules of forks and colliders, we can determine whether each backdoor path is blocked.
When a path is unblocked, we can block it by adjusting for a non-collider variable along that path.
Adjustment set: A set of variables that will be held constant in statistical estimation
A causal effect is identified by an adjustment set if that set blocks all backdoor paths without opening new unblocked paths.
Once you find an adjustment set, you are ready to move on to statistical estimation on the next pages!
Further reading
Greenland, S., Pearl, J., & Robins, J. M. (1999). Causal diagrams for epidemiologic research. Epidemiology, 37-48.
Pearl, J., & Mackenzie, D. (2018). The Book of Why: The New Science of Cause and Effect. Basic Books.