the intensity of the employee's general motivation to work (M) confounds the causal relationship between the type of optional training the employee completes (T) and the employee's performance one year later (P).
This chapter is largely a continuation from the preceding chapter (Chapter 10). This chapter culminates with a description of a technique (known as backdoor adjustment) for measuring a causal effect by using a causal DAG of observational data (i.e., without an experiment).
If you start to feel a little lost, here are two techniques you can try:
You might remember from Chapter 9 I explained that an experiment can help us explore a causal relationship between a predictor variable (that we manipulate) and an outcome variable we’re interested in. This is because an experiment helps to remove the influence of other variables—called confounders—each of which would otherwise influence both the predictor variable and the outcome variable. For any causal relationship between a predictor variable and an outcome variable, a confounding variable (or confounder) is any third variable that influences both the predictor variable and the outcome variable. When we remove the influence of a confounder, we’re deconfounding a causal relationship. To measure the causal effect of a predictor variable on an outcome variable, we must completely deconfound that causal relationship.
Typically, we say the confounders are confounding the causal relationship between the predictor variable and the outcome variable.
We can use DAGs to help us visualize why an experiment helps us deconfound causal relationships. The next For example… box provides an example.
the intensity of the employee's general motivation to work (M) confounds the causal relationship between the type of optional training the employee completes (T) and the employee's performance one year later (P).
Figure 11.1 is a DAG representing a theory about the causal influences among three variables:
the type of optional training the employee completes (T)the employee's performance one year later (P)the intensity of the employee's general motivation to work (M)According to that DAG, the theory is saying this: the intensity of the employee's general motivation to work (M) confounds the causal relationship between the type of optional training the employee completes (T) and the employee's performance one year later (P). For example, highly motivated employees might sign up for intense training that can boost performance, whereas unmotivated employees might sign up for no trainings, or maybe just easy trainings that don’t really help their performance. If we wanted to calculate the probability that an employee’s performance () will be some numeral
, we could use all of the observed data like this:
.
In a randomized experiment, the researcher would randomly assign each employee to receive one of the training options (T)—and keep in mind: one of the options could be no training at all. Thus, the researcher removes the employee’s ability to choose an option of T. If we were to do that experiment, the DAG of that process would look like Figure 11.2, such that the influence of M on T is deleted because the employee’s motivation no longer has any influence on T, since the researcher randomly assigns T to each employee. Thus, in that experiment, M no longer confounds the causal relationship between T and P. If we wanted to calculate the probability that an employee’s performance () will be some numeral
, we could use all of the data from the observed
and
, and the manipulated
, like this:
. Notice the presence of
, which says we aren’t merely observing
, but rather we are doing an intervention to manipulate the predictor variable
to make it output
.
That is why experiments are helpful: because they help deconfound a causal relationship we’re interested in.
T.
You may recognize the path is a fork, with
M being the forking variable.
When we have observational data (i.e., not experimental data), we are merely measuring the variables according to what we observe is occurring without us manipulating anything. In contrast, when we have experimental data, we are doing an intervention to manipulate one (or possibly multiple) predictor variables. There is a big difference between merely observing a relationship between two variables without our intervention, versus actively doing an intervention to manipulate one of the variables to see how it relates to the outcome variable. Thus, to write about the probability that an outcome variable (e.g., ) will output some numeral (e.g.,
) after we manipulate a predictor variable (e.g.,
) into outputting a specified numeral (e.g.,
), researchers often write it like this:
Thus, there is a big conceptual difference between versus
:
Remember: experiments are helpful for measuring a causal effect, because experiments help us deconfound the causal relationship we’re interested in. We achieve that via the act of doing an intervention with random assignment, which deletes the effect that the confounder would’ve had on our predictor (as seen in Figure 11.2).
However, if we only have observational data (e.g., we didn’t do an experiment), we can use causal DAGs to help us identify patterns that will allow us to deconfound a causal relationship. This involves using conditional (and/or marginal) independencies among the variables in the DAG, to block the effects of the confounders. Next, I describe one popular method for that.
You may remember from Section 10.3 I said a path in a DAG is an alternating sequence of non-repeating nodes and arrows (i.e., node 1, arrow 1, node 2, arrow 2, node 3, …) such that they collectively form a “connected string”, like a beaded necklace. A path can be short or long, and it can contain several chains, forks, and colliders—all at the same time.
Anytime you’re talking about a path, you must specify the starting node and ending node of that path. In Figure 11.1, if we use our finger to trace a path starting at and ending at
, there are only two possible paths our finger could trace in that DAG:
The path is a special type of path known as a backdoor path. Between any two nodes—let’s say,
and
—a backdoor path from
to
is any path that contains an arrow with
at its arrowhead. In other words, the first arrow in a backdoor path from
to
points into
. It’s called a backdoor path because, as we trace our finger along that path from
to
, our finger moves in the opposite direction of how the first arrow is pointing. In Figure 11.1, if we trace our finger from
to
via the
path, our finger would be traveling via a backdoor path because we’d be moving our finger from
to
, which is in the opposite direction of the arrow that points from
to
(i.e., the arrow is:
), which is the first arrow on that path. Even though the
path also involves us tracing our finger from
to
in the correct direction of
, we still call the entire path a backdoor path because we moved our finger in the opposite direction of the first arrow on that path (i.e.,
).
In contrast to a backdoor path, a frontdoor path is any path from to
such that all of the path’s arrows are pointed away from
and toward
. It’s called frontdoor because, as you trace your finger along the path from
to
, your finger always travels in the direction that the arrows are pointing in. For example, this could be another frontdoor path from
to
:
.
In DAGs, a variable that confounds the causal effect of on
always involves a backdoor path from
to
. In Figure 11.1, the DAG is saying
confounds the causal effect of
on
, because there is a backdoor path from
to
.
If we want to measure the causal effect of any predictor variable on outcome variable
, but our theoretical DAG says there are one or multiple variables that confound that causal relationship, then we must completely deconfound that causal relationship. To completely deconfound that causal relationship, one popular method is to block all the backdoor paths from
to
(without blocking any frontdoor paths from
to
). Next, I describe how to block those backdoor paths.
You may remember from Section 10.4.2 I said the following:
Remember from Section 10.4.1.3: marginal independence occurs when two variables are independent of each other without conditioning on anything.
Notice a chain is a path, a fork is a path, and a collider is a path. And remember, a path can contain several chains, forks, and colliders—all at the same time.
In the vocabulary of causal DAGs, we say a path is blocked if the path’s starting variable (e.g., ) and ending variable (e.g.,
) would be independent of each other (either conditionally independent or marginally independent) if we ignore any other variables and arrows outside of that path. For example, given a path starting from
and ending at
, we say that path is blocked if either
or
(
is a collection of one or multiple variables) would be true while we ignore all other variables and arrows outside of that path.
Based on the above properties, you may see how they map onto the following properties about marginal versus conditional (un)blocking in paths (which you can read more about in (Pearl et al., 2016)):
To help you remember how path-blocking works: imagine each path is a water hose, and the flow of water can be blocked if there is a kink in the hose, or if you pinch the hose.
If you pinch any spot on the water hose, you block the flow of water. You are pinching the water hose if you condition on any connector-node in a chain on the path or if you condition on any forking node in a fork on the path (i.e., you are conditionally blocking the path at that spot).
A collider on the path is a kink in the hose, which blocks the flow of water without you doing anything (i.e., it marginally blocks the path). If you condition on the collision node in a collider, or if you condition on any descendant of the collision node, you are fixing the kink in the hose, thereby conditionally unblocking that spot of the path.
If a hose has multiple kinks and/or multiple pinched spots, but you only fix some of the kinks or pinches, the hose will still be blocked. Likewise, if a path contains multiple colliders but you don’t condition on all of those collision nodes (or the descendants of those collision nodes), the path will remain blocked. If you condition on all of those collision nodes and/or all of the descendants of those collision nodes (thereby fixing all of those kinks), but you are still conditioning on one or multiple connector nodes in chains and/or forks on the path, the path will remain blocked (because you are still pinching the hose at those spots).
If all we have is observational data (i.e., not experimental data) and we want to completely deconfound the causal effect of on
, one way to achieve that is by blocking all backdoor paths from
to
by using a combination of the above three properties to marginally and/or conditionally block those backdoor paths. In a nutshell, all we’re doing is writing a list of variables we will and won’t condition on for the analysis of our observational data to calculate the causal effect of
on
(typically via calculating a partial regression coefficient, which you will learn about in the Statistics course).
Although this chapter and the preceding chapter focus on probabilities, we can use the same ideas when we’re calculating correlations and partial regression coefficients, because they’re all built from probabilities.
Keep in mind: We don’t want to block any frontdoor path(s) that transmit the causal effect from to
, because that would be blocking the very thing we want to measure in the first place. If we block every path from
to
(including frontdoor paths), then we would say we’ve made
and
directionally-separated from each other (also called d-separated). If there is at least one unblocked path from
to
, then we say
and
are directionally-connected to each other (also called d-connected). Thus, to measure the causal effect of
on
, our goal is to block all backdoor paths from
to
while still keeping
and
d-connected to each other via their frontdoor path(s).
This next For example… box provides an example.
Let’s imagine we’re interested in the causal effect of on
, and that our theory tells us there are two other variables (i.e.,
and
) that influence
and/or
as depicted in Figure 11.3.
We can test how well our theoretical DAG matches real-world data we collected, by making a list of all of the marginal and/or conditional d-separations that are implied by our DAG and seeing whether our real-world data matches those marginal and/or conditional d-separations. Remember: two variables are (marginally or conditionally) d-separated in our DAG if all of the paths between those two variables are blocked. For example, the DAG in Figure 11.3 implies only these two d-separations:
Since d-separation implies the two variables will be independent, we can inspect the marginal and/or conditional probabilities of our real-world dataset to see whether they match the independencies that are implied by the d-separations from our DAG. In this example, if our real-world dataset shows and
, then that is evidence supporting that our DAG matches reality (i.e., that our DAG might be a good theory).
If we believe our DAG is a pretty good model of reality, we can try to use it to estimate the causal effect of on
. To do that, we can make a list of variables we will condition on and variables we won’t condition on, so that we can block all backdoor paths from
to
without blocking any frontdoor path(s) from
to
. From our DAG in Figure 11.3, here are all of the paths from
to
:
The frontdoor path is marginally unblocked (i.e., if we don’t condition on anything, that path is already unblocked).
The backdoor path is also marginally unblocked, but we want to block it. To block it, all we have to do is condition on
or
or both, because
is a forking-node along that path and
is a connector-node in a chain along that path.
Thus, assuming our DAG is an accurate representation of reality, we can estimate the causal effect of on
by calculating a partial regression coefficient (which you will learn about in the Statistics course) while conditioning on
(also known as “controlling for
” or “adjusting for
”), or while conditioning on
(also known as “controlling for
” or “adjusting for
”), or while conditioning on
and
(also known as “controlling for
and
” or “adjusting for
and
”).
Again, the validity of using this method depends on the validity of our assumption that our DAG is a valid representation of reality. If our DAG is very wrong (for example: if our DAG is missing another powerful confounder of the effect of on
), then the resultant inferences we make from the “backdoor path blocking” procedure will likely be very incorrect. However, if our DAG is only a little wrong, then the resultant inferences might only be a little incorrect (if we’re lucky). Validity is a spectrum.
This next For example… box provides another example in which we don’t have to condition on any variables.
Let’s imagine we’re interested in the causal effect of on
, and that our theory tells us that
likely causes both
and
, and
likely causes
—as depicted in Figure 11.4.
Since we’re interested in the causal effect of on
, we want to make a list of variables we will condition on and variables we won’t condition on, so that we can block all backdoor paths from
to
without blocking any frontdoor path(s) from
to
. From our DAG in Figure 11.4, here are all of the paths from
to
:
The path is marginally blocked by the collision node
. However, the frontdoor path
is not blocked by anything.
Thus, assuming our DAG is an accurate representation of reality, we could measure the causal effect of on
without requiring an experiment, because nothing is confounding the causal effect of
on
. In other words, our DAG says there are no unblocked backdoor paths from
to
—because there are no backdoor paths at all from
to
.
Again, the validity of using this method depends on the validity of our assumption that our DAG is a valid representation of reality. If our DAG is very wrong (for example: if our DAG is missing a powerful confounder of the effect of on
), then the resultant inferences we make from the “backdoor path blocking” procedure will likely be very incorrect. However, if our DAG is only a little wrong, then the resultant inferences might only be a little incorrect (if we’re lucky).
For longer or more complicated paths and DAGs, we can continue using the same rules I’ve listed above for marginally or conditionally (un)blocking any path. Eventually, it may start to feel like a fun puzzle game. For example:
Now that we understand the basic idea of a popular method to completely deconfound the causal effect of on
(by blocking all of the backdoor paths from
to
), we can now turn our attention to a useful tool that will make that task easier. It is known as the backdoor criterion, which I explain next.
When we want to measure the causal effect of a predictor variable () on an outcome variable (
), and there are many other variables in the DAG, it can feel a bit tricky to figure out which variables we must or mustn’t condition on. If we’re not careful, we may accidentally condition on a variable that will block one or multiple frontdoor paths from
to
. To help us figure out which variables we must condition on, there are several techniques we can use. One of those is called the backdoor criterion.
In DAGs about causation, the backdoor criterion is a relation between two things: (1) an ordered pair of variables ; and (2) a collection (e.g.,
) of one or multiple variables. The relation is such that:
If meets the above requirements, then we say
satisfies the backdoor criterion in relation to
. In other words, we say the collection of variables in
collectively satisfy the backdoor criterion with regard to the causal effect of
on
. When we look at all of the backdoor paths from
to
, some of those paths might already be marginally blocked by variables that aren’t included in
. As long as conditioning on
will block all of the remaining backdoor paths that aren’t already marginally blocked, then we will reach our goal of blocking all backdoor paths from
to
. Thus, we will completely deconfound the causal effect of
on
.
When we calculate the causal effect of on
by conditioning on all of the variables in
, we say we are using the backdoor adjustment method (also known as “adjusting for
” or “controlling for
”).
In the first chapter of this book, you might remember I said: “The latter part of this course includes methods about causal inference … particularly some methods that haven’t yet permeated across the landscape of IWO psychology… When you ask your colleagues about such methods, don’t be surprised if they have no clue what you’re talking about.”
Although these methods are powerful, I’ve only introduced you to the basics to get you interested and inspired. You can dive deeper via the suggested readings listed in Section 11.5.
Since the mid-1900s and especially after the 1990s, there’ve been dozens of researchers who’ve contributed to the relatively new science of causal inference from observational data. One of the biggest contributors to that area of research is Judea Pearl. He has authored or co-authored three recent books on the topic, and in a podcast episode in 2023 he recommended that readers consume those books in the following sequence (because it starts with the most reader-friendly book and ends with the most technical book):
In those books, you can learn about many other useful tools and techniques for measuring a causal effect from observational data, including:
Another useful resource for causal DAGs is the chapter on Nonparametric Causal Models in Rex Kline’s (2023) book: Principles and Practice of Structural Equation Modeling. In fact, Kline’s book is also an excellent introduction to structural equation modeling, which is a popular statistical technique used by scientists—including IWO Psychologists.