Tutorials › Regression Analysis (Undergraduate) › Find Backdoor Adjustment Sets

Regression in Observational Studies · Tutorial 920 of 991

Find Backdoor Adjustment Sets

Use the backdoor criterion to identify and check candidate covariate adjustment sets in a causal diagram.

Advanced 11 min read

What You'll Learn

  • Define backdoor paths and the backdoor adjustment criterion
  • Check whether a candidate set blocks every backdoor path
  • Use the collider rule to determine whether a path is blocked
  • Compare different valid adjustment sets in the same diagram
  • Recognize why adjusting for an exposure descendant can be invalid
  • Distinguish a graphical adjustment check from proof of causal identification

Why an Adjustment Set Must Be Chosen From the Causal Diagram

In an observational study, people with different exposure values may also differ in other characteristics related to the outcome. A regression model can include many measured covariates, but including a variable does not automatically remove bias: some variables leave a noncausal route open, while others can open a route that was previously blocked or remove part of the causal effect being studied. A directed acyclic graph (DAG) gives a systematic way to check these possibilities.

Here \(A\) denotes the exposure, \(Y\) the outcome, and \(Z\) a candidate set of covariates to adjust for. The aim is to find a set that blocks noncausal backdoor paths from \(A\) to \(Y\), without adjusting for descendants of \(A\). This is a graphical check, not a way to prove that the diagram is correct or that all causal identification assumptions hold.

Definition: A path between \(A\) and \(Y\) is a sequence of connected edges between them, with edge directions temporarily ignored. A path is a backdoor path from \(A\) to \(Y\) if its first edge has an arrow pointing into \(A\). A set \(Z\) blocks a path if at least one node on that path blocks it under the rules below. A set \(Z\) satisfies the backdoor criterion for \(A\) and \(Y\) if (1) no member of \(Z\) is a descendant of \(A\), and (2) \(Z\) blocks every backdoor path from \(A\) to \(Y\).

How to Tell Whether a Path Is Blocked

The direction of arrows at each intermediate node determines how adjustment affects a path. A node on a path is a collider when the two path arrows both point into it, as in \(U \to K \leftarrow V\). An intermediate node that is not a collider is a noncollider. A descendant is any node reached by following one or more arrows in their direction.

For a candidate adjustment set \(Z\), a path is blocked if it contains either (a) a noncollider in \(Z\), or (b) a collider such that neither the collider nor any of its descendants is in \(Z\). Otherwise, the path is open. In particular, conditioning on a noncollider blocks a path; conditioning on a collider, or on one of its descendants, can open a path through that collider.

The backdoor criterion is designed to remove noncausal routes without adjusting away the effect of interest. The no-descendants condition rules out adjusting for variables caused by \(A\), including nodes along directed causal paths from \(A\) to \(Y\). It is not enough to find one variable related to both exposure and outcome: every backdoor path must be checked.

Theorem: In a causal DAG, a set \(Z\) that satisfies the backdoor criterion blocks all backdoor paths from \(A\) to \(Y\) while leaving directed causal paths from \(A\) to \(Y\) unblocked. Under the causal model and the other assumptions needed for identification, such a set is suitable for adjustment for the total causal effect. The criterion is sufficient; it does not say that every possible valid set must have a particular form.

A Practical Checking Procedure

Write down the proposed causal arrows first. Then enumerate paths from \(A\) to \(Y\) that begin with an arrow into \(A\). For each path, classify its intermediate nodes as colliders or noncolliders and apply the blocking rule for the proposed \(Z\). Finally, check that none of the selected variables is a descendant of \(A\). A set is valid only if it passes both parts of the criterion.

1
List backdoor paths.
Trace each path from \(A\) to \(Y\) whose first arrow points into \(A\). Do not count a directed path that starts \(A \to \cdots\) as a backdoor path.
2
Check each path under the proposed set.
Mark every intermediate node as a collider or noncollider. Apply the blocking rules, including whether a collider has a conditioned descendant.
3
Check descendants.
Verify that no variable in \(Z\) is a descendant of \(A\). If any backdoor path remains open, or this condition fails, the proposed set does not satisfy the criterion.

Worked Example: One Common Cause

Consider a hypothetical DAG with edges \(C \to A\), \(C \to Y\), and \(A \to Y\). The last edge represents a possible causal effect of the exposure on the outcome. Compare the empty set with \(Z=\{C\}\).

There is one backdoor path: \(A \leftarrow C \to Y\). At \(C\), the path has two outgoing arrows, so \(C\) is a noncollider. With \(Z\) empty, no node on this path is conditioned on, so the path is open. The empty set therefore fails to block the backdoor path.

With \(Z=\{C\}\), the path is blocked because it contains the conditioned noncollider \(C\). Also, \(C\) is not a descendant of \(A\): its arrows point from \(C\) to \(A\) and \(Y\). Thus \(\{C\}\) satisfies both parts of the backdoor criterion. The directed path \(A \to Y\) does not begin with an arrow into \(A\), and adjusting for \(C\) does not block it.

More Than One Set Can Be Valid

The criterion asks whether all backdoor paths are blocked, not whether every selected variable is a direct cause of both \(A\) and \(Y\). Different variables can block different paths, and a variable partway along a path can sometimes block that path instead of adjusting for its earlier cause. Each proposed set still requires a separate check.

Worked Example: Two Alternative Adjustment Sets

Suppose a hypothetical DAG has edges \(U \to A\), \(U \to Y\), \(V \to A\), \(V \to W\), \(W \to Y\), and \(A \to Y\). Consider \(Z_1=\{U,V\}\) and \(Z_2=\{U,W\}\).

The backdoor paths are \(A \leftarrow U \to Y\) and \(A \leftarrow V \to W \to Y\). The directed path \(A \to Y\) is not a backdoor path. In the first backdoor path, \(U\) is a noncollider. In the second, both \(V\) and \(W\) are noncolliders.

For \(Z_1\), conditioning on \(U\) blocks the first path, and conditioning on \(V\) blocks the second. For \(Z_2\), conditioning on \(U\) blocks the first path, and conditioning on \(W\) blocks the second. Neither set contains a descendant of \(A\), so both satisfy the backdoor criterion. This example shows why the entire set should be checked path by path rather than chosen from a rule such as “adjust for every variable immediately before the exposure.”

Why Descendants and Colliders Need Special Attention

Two common errors are adjusting for a descendant of the exposure and conditioning on a collider. The first can block part of the causal route being studied. The second can turn a blocked noncausal path into an open one. These are reasons to inspect arrow directions rather than relying only on associations in the observed data.

Worked Example: A Mediating Path and an Invalid Descendant

Consider a hypothetical DAG with edges \(C \to A\), \(C \to Y\), \(A \to M\), and \(M \to Y\). There are two relevant paths: the backdoor path \(A \leftarrow C \to Y\), and the directed causal path \(A \to M \to Y\). Compare \(Z=\{C\}\) with \(Z=\{C,M\}\).

The set \(\{C\}\) blocks the backdoor path because \(C\) is a conditioned noncollider. It contains no descendant of \(A\), so it satisfies the criterion. The causal path through \(M\) remains unblocked.

The set \(\{C,M\}\) also blocks the backdoor path, but it fails the no-descendants condition: \(M\) is a descendant of \(A\), reached along \(A \to M\). Adjusting for \(M\) also blocks the directed path \(A \to M \to Y\), so it would not preserve the total causal effect represented by all directed paths from \(A\) to \(Y\). Therefore, \(\{C,M\}\) is not a valid backdoor adjustment set for that total effect.

Worked Example: Conditioning Can Open a Collider Path

Suppose a hypothetical DAG has edges \(A \to Y\), \(A \leftarrow U\), \(U \to K\), \(V \to K\), and \(V \to Y\). The backdoor path is \(A \leftarrow U \to K \leftarrow V \to Y\). At \(K\), both arrows point inward, so \(K\) is a collider.

With \(Z\) empty, the collider \(K\) is not conditioned on and has no conditioned descendant. The backdoor path is therefore blocked, so the empty set satisfies the criterion. But with \(Z=\{K\}\), conditioning on the collider opens the path. The set \(\{K\}\) does not block every backdoor path and fails the criterion. The existence of a path in the diagram does not by itself mean the path is open; its collider status and the adjustment set matter.

What the Graphical Check Does—and Does Not—Establish

A valid set is a property of a proposed graph and a particular exposure–outcome question. Changing the exposure, outcome, time ordering, or causal assumptions can change which paths must be blocked and which variables are descendants of the exposure. The graph should therefore represent the causal question being asked, not merely variables that happen to be available in a data file.

The backdoor criterion identifies sets that are graphically suitable for adjustment under the specified DAG. It does not establish that the DAG includes every relevant cause, that the variables are measured accurately, or that an analysis has adequate covariate overlap. Nor does it choose a statistical model or compute an effect estimate. Those are separate questions. A familiar covariate list or a strong association with the outcome is not a substitute for the path check.

  • Do not adjust automatically for every measured variable. First check whether the variable blocks a backdoor path, is a descendant of \(A\), or can open a collider path.
  • Do not stop after finding one blocked path. A valid set must block every backdoor path from \(A\) to \(Y\).
  • Do not confuse an open causal path with a backdoor path. The criterion blocks backdoor paths while avoiding adjustment for descendants of \(A\), so directed causal paths are not blocked by the selected set.
Key takeaway: For a proposed set \(Z\), check both requirements: it contains no descendants of \(A\), and it blocks every path from \(A\) to \(Y\) that begins with an arrow into \(A\). Use collider rules to decide whether each such path is open or blocked.

Check Your Understanding

For each question, use the stated arrows as the hypothetical causal DAG.

  1. In the graph \(C \to A\), \(C \to Y\), and \(A \to Y\), does \(Z=\{C\}\) satisfy the backdoor criterion? Explain which path it blocks.
  2. In the graph \(A \to M\), \(M \to Y\), and \(C \to A\), \(C \to Y\), why does \(\{C,M\}\) fail the criterion for the total effect?
  3. For the path \(A \leftarrow U \to K \leftarrow V \to Y\), is the path blocked when \(Z\) is empty? What changes if \(K\) is added to \(Z\)?
  4. In the graph \(A \leftarrow V \to W \to Y\), which of \(V\) and \(W\) can block this path when included in \(Z\)? State the non-descendant check that is still needed.
  5. Why is checking one backdoor path insufficient to conclude that a proposed adjustment set satisfies the criterion?