2  DAGs and d-Separation

NoteLearning Objectives

By the end of this chapter, students should be able to:

  1. Construct a DAG from a verbal description of a causal model and identify parents, descendants, ancestors, and non-descendants of any node.
  2. Classify every intermediate node on a path as a chain, fork, or collider, and apply the blocking rule for each.
  3. Apply the d-separation criterion to determine whether a proposed conditional independence is implied by a DAG.
  4. State the Markov factorization and use it to write the joint density of a DAG in terms of local conditional densities.
  5. Translate d-separation statements into conditional-independence implications under the Markov property, distinguish these implications from faithfulness assumptions, and explain why causal interpretation requires more than the observational conditional-independence structure.
  6. Recognize and avoid collider bias, including the case where a descendant of a collider is conditioned upon.

Readers who want a gentler introduction to conditional independence, the three basic path motifs, and the Markov-property interpretation may consult Appendix A before or alongside this chapter.

2.1 Directed Acyclic Graphs

DAGs allow us to translate qualitative causal assumptions into quantitative statistical restrictions. This single idea underlies everything in this chapter: once we draw a graph encoding our causal assumptions, d-separation tells us which conditional independences are implied by the graph and helps identify candidate adjustment sets for removing confounding.

NoteRemark

In this chapter, the word graph does not mean a plot of data or a graph of a function. It means a collection of nodes and edges used to represent relationships among variables. Our objective is to understand how such graphs encode statistical structure — especially conditional independence, confounding, and path blocking — and how this graphical structure will later support causal identification.

2.1.1 Basic Definition

NoteDefinition: Directed Acyclic Graph

A directed acyclic graph (DAG) \(\Gcal = (\mathcal{V}, E)\) consists of a finite set of nodes \(\mathcal{V}\) and a set of directed edges \(E \subseteq \mathcal{V} \times \mathcal{V}\) such that there is no directed cycle: no node has a directed path of length at least one back to itself.

In a causal DAG each node represents a variable and each directed edge \(A \to B\) encodes that \(A\) is a direct cause of \(B\) relative to the variables included in the graph: the structural mechanism generating \(B\) depends nontrivially on \(A\) when the other parents of \(B\) are held fixed. A direct edge does not preclude additional mediated influence — in the mediation example below, \(T\) affects \(Y\) both directly and through \(M\). Strictly speaking, a drawn arrow represents genuine dependence on the parent only under a causal minimality convention, which we adopt informally throughout: edges are not drawn gratuitously.

The acyclicity condition is essential for the standard DAG semantics: it guarantees that the nodes admit a topological ordering, in which every parent precedes its children. Acyclicity alone, however, imposes no restriction on a joint distribution — by the chain rule, any density factorizes as \(p(v_1,\dots,v_k) = \prod_{i} p(v_i \mid v_1,\dots,v_{i-1})\) along any ordering. We say that a distribution \(P\) is Markov with respect to \(\Gcal\) if, along a topological ordering, the predecessors can be replaced by the parents: \[p(v_1,\dots,v_k) = \prod_{i=1}^{k} p(v_i \mid \Pa(v_i)).\] This factorization is a property of the pair \((\Gcal, P)\), not a consequence of acyclicity alone — it is precisely the substantive probabilistic restriction imposed by the graphical model, developed formally in Section 2.4. If directed feedback were present, the graph would not be a DAG, and the recursive semantics developed here would not apply without additional equilibrium or dynamic structure; cyclic systems are outside the scope of these notes.

2.1.2 Structural Relationships

NoteDefinition: Structural Relationships in a DAG

For a node \(v \in \mathcal{V}\) in \(\Gcal = (\mathcal{V}, E)\):

  • \(\Pa(v) = \{w \in \mathcal{V} : w \to v \in E\}\) are the parents of \(v\).
  • \(\De(v)\) = all nodes \(w \neq v\) reachable from \(v\) by a directed path of positive length are the (strict) descendants of \(v\).
  • \(\An(v)\) = all nodes \(w \neq v\) with a directed path of positive length to \(v\) are the (strict) ancestors of \(v\).
  • \(\Nd(v) = \mathcal{V} \setminus (\De(v) \cup \{v\})\) are the non-descendants of \(v\).

Note that \(\Nd(v)\) includes the parents of \(v\); when stating the local Markov property in Section 2.4, we will exclude the parents explicitly. These sets depend on the graph; when several graphs are in play — as in Chapter 3, where graphs are modified to represent interventions — we write \(\Pa_{\Gcal}(v)\), \(\An_{\Gcal}(v)\), and so on.

NoteQuick Terminology Summary

A node represents a variable, and an edge represents a relationship between two variables. If \(A \to B\), then \(A\) is a parent of \(B\) and \(B\) is a child of \(A\). Two nodes are adjacent if they are connected by an edge. A path is any sequence of distinct connected nodes, regardless of arrow direction; a directed path is a path whose arrows all point in the same direction. A node is an ancestor of another if there is a directed path from the former to the latter, and a descendant if the direction is reversed. A directed cycle is a sequence of edges \(V_0 \to V_1 \to \cdots \to V_k = V_0\) with \(k \ge 1\) and \(V_0, \dots, V_{k-1}\) distinct; it is not a path in the above sense, since its first and last nodes coincide. A directed acyclic graph (DAG) is a directed graph with no directed cycles.

NoteExample: Education, Earnings, and Family Background

Consider the causal story: education (\(E\)) affects earnings (\(Y\)); family background (\(B\)) is a common cause of both; and neighborhood (\(N\)) affects education but has no direct effect on earnings.

N E Y B

The Markov factorization is \(p(n,b,e,y) = p(n)\,p(b)\,p(e\mid n,b)\,p(y\mid e,b)\). Reading off structural relationships: \(\Pa(E) = \{N,B\}\), \(\Pa(Y) = \{E,B\}\), \(\Pa(N)=\Pa(B)=\varnothing\). The descendants of \(N\) are \(\{E,Y\}\); \(B\) and \(N\) are non-descendants of each other.

Example 2.1 (The IV DAG) The canonical instrumental variable model involves four nodes: \(Z\) (instrument), \(T\) (treatment), \(Y\) (outcome), and \(U\) (unobserved confounder).

Z T Y U

\(\Pa(T) = \{Z,U\}\), \(\Pa(Y) = \{T,U\}\), \(\Pa(Z) = \Pa(U) = \varnothing\). The descendants of \(Z\) are \(\{T, Y\}\); \(U\) and \(Z\) are non-descendants of each other.

NoteExample: The Mediation DAG

In a mediation model, treatment \(T\) affects outcome \(Y\) both directly and through an intermediate variable \(M\) (the mediator). An unobserved confounder \(U\) creates a back-door path \(T \leftarrow U \rightarrow Y\), making \(T\) endogenous. The \(T \to M\) relation is unconfounded: the only back-door path from \(T\) to \(M\), namely \(T \leftarrow U \to Y \leftarrow M\), is blocked by the collider at \(Y\). The \(M \to Y\) relation, by contrast, has two open back-door paths, \(M \leftarrow T \to Y\) and \(M \leftarrow T \leftarrow U \to Y\), both of which are blocked by conditioning on \(T\). (This example previews the notions of back-door paths, colliders, and blocking, defined formally in Section 2.2 and Section 2.3; read it for the picture now, and return to verify each claim after studying d-separation.)

T M Y U

\(\Pa(T) = \{U\}\), \(\Pa(M) = \{T\}\), \(\Pa(Y) = \{M, T, U\}\), \(\Pa(U) = \varnothing\). The total effect of \(T\) on \(Y\) travels along two paths: the direct path \(T \to Y\) and the indirect path \(T \to M \to Y\). This graph is a standard mediation DAG, not a front-door DAG. Because there is a direct path \(T \to Y\) bypassing \(M\), the front-door criterion does not apply here. A front-door graph would require that every directed path from \(T\) to \(Y\) pass through \(M\).

2.2 The Three Motifs

A DAG encodes direct causal relationships through its edges, but variables can also be statistically related through longer routes that mix directed and reversed edges. The concept of a path formalizes these routes, and every intermediate node on a path plays exactly one of three structural roles: a link in a chain, the apex of a fork, or a collider. This section introduces the three motifs through concrete examples and then develops the blocking rules that determine whether each motif transmits or blocks statistical dependence, depending on which variables are conditioned upon. Section 2.3 then assembles these single-path rules into the d-separation criterion. The key insight is that conditioning can both close channels that were open (by blocking a chain or fork) and open channels that were closed (by activating a collider).

2.2.1 Paths and the Three Motifs

NoteDefinition: Path

A path between nodes \(X\) and \(Y\) in \(\Gcal\) is any sequence of distinct nodes \(X = V_0, V_1, \dots, V_k = Y\) such that each consecutive pair is connected by an edge in either direction.

Every intermediate node \(V_m\) on a path is classified by the orientation of the two edges meeting it. The node \(V_m\) is a collider on the path if both arrows point into it: \(V_{m-1} \to V_m \leftarrow V_{m+1}\). Otherwise \(V_m\) is a non-collider. The non-collider cases have familiar names: in a chain (\(V_{m-1} \to V_m \to V_{m+1}\), or its mirror image \(V_{m-1} \leftarrow V_m \leftarrow V_{m+1}\)), \(V_m\) is a causal intermediary through which influence is transmitted; in a fork (\(V_{m-1} \leftarrow V_m \to V_{m+1}\)), \(V_m\) is a common cause of its two neighbors on the path. Chain and fork are useful motif names, but the formal d-separation rule of Section 2.3 distinguishes only colliders from non-colliders. The collider is the crucial asymmetric case whose behavior under conditioning is the opposite of the other two.

The three motifs correspond to three familiar causal patterns, one per configuration. Each story below should be read as an idealized three-node model: the stated conclusions hold for the displayed graph, and need not hold in the corresponding real-world setting, where omitted common causes, additional paths, or measurement error may intervene.

Chain: Smoking \(\to\) Tar \(\to\) Cancer. Let \(A\) = smoking, \(M\) = tar deposits in the lungs, \(B\) = lung cancer. The path \(A \to M \to B\) is a chain: smoking causes tar accumulation, which in turn causes cancer, so \(M\) is a causal intermediary. Marginally, the chain transmits association: heavy smokers have elevated cancer rates.

Fork: Poverty \(\to\) Poor Diet; Poverty \(\to\) Lack of Exercise. Let \(M\) = poverty, \(A\) = poor diet, \(B\) = lack of exercise. The path \(A \leftarrow M \to B\) is a fork: poverty is a common cause of both outcomes. Unconditionally, the fork also transmits association: diet quality and exercise are correlated — not because one causes the other, but because both are driven by poverty.

Collider: Accident \(\to\) Hospitalization \(\leftarrow\) Cancer. Let \(A\) = traffic accident, \(B\) = cancer, \(M\) = hospitalization. Both accidents and cancer independently cause hospitalization, so \(M\) is a collider: a common effect of its two neighbors. The collider is the odd one out already at the marginal level: in the general population, having a traffic accident tells you nothing about your cancer risk, \(A \indep B\). The path is closed by default.

What happens to each motif when the middle node is conditioned upon is the subject of the next subsection.

Chain Fork Collider S = ∅ S = {M} A M B open · A ⫫̸ B A M B open · A ⫫̸ B A M B blocked · A ⫫ B A M B blocked · A ⫫ B | M A M B blocked · A ⫫ B | M A M B opened · A ⫫̸ B | M Shaded node = conditioned on. Dependence claims hold generically (see faithfulness remark).
The three motifs before and after conditioning on the middle node $M$. Chains and forks are open by default and closed by conditioning; the collider is closed by default and opened by conditioning.

2.2.2 Blocking Rules

Conditioning on a node affects the paths it lies on differently depending on its structural role:

Structure Pattern Effect of conditioning Key intuition
Chain \(A \to M \to B\) Blocks the path Causal transmission
Fork \(A \leftarrow M \to B\) Blocks the path Common cause
Collider \(A \to M \leftarrow B\) Opens the path (conditioning on \(M\) or a descendant of \(M\)) Common effect

The critical asymmetry — colliders are closed by default and opened by conditioning, while chains and forks are open by default and closed by conditioning — is what makes collider bias so easy to overlook in practice. Returning to the three stories of Section 2.2.1 anchors each rule to a concrete setting.

Chain. If we condition on tar level (e.g., restrict to patients with the same measured tar burden), smoking no longer predicts cancer within that stratum: once the tar level is fixed, the causal channel is fully accounted for. Conditioning on the intermediary \(M\) blocks the path.

Fork. Conditioning on poverty status removes the spurious association: among people at the same level of poverty, the diet–exercise correlation disappears. Conditioning on the common cause \(M\) blocks the path.

Collider. Among hospitalized patients — conditioning on \(M\) — accident and cancer typically become negatively associated. If we learn that a hospitalized patient was not in a traffic accident, cancer or another serious illness becomes more likely as an explanation for the admission. Conditioning on the common effect \(M\) opens the path. (Opening the path licenses dependence; the negative sign reflects the monotone selection mechanism — either cause suffices to produce hospitalization — not the arrow pattern alone.) This is Berkson’s bias (Berkson 1946).

NoteThree-Node Motifs at a Glance

The three basic path structures behave differently under conditioning. In a chain \(A \to M \to B\), the middle node \(M\) transmits association, so conditioning on \(M\) blocks the path. In a fork \(A \leftarrow M \to B\), the middle node \(M\) is a common cause, so conditioning on \(M\) removes the spurious association. In a collider \(A \to M \leftarrow B\), the path is blocked by default, but conditioning on \(M\) — or on any descendant of \(M\) — opens the path and induces association. These three motifs are the local building blocks of d-separation in arbitrary DAGs.

The blocking rules need not be taken on faith. The next example derives the chain rule directly from the Markov factorization stated in Section 2.1; the remark that follows explains how the remaining rules are obtained by the same kind of computation.

Example 2.2 (A Direct Probability Proof for the Chain) Consider the chain \(X_1 \to X_2 \to X_3\). By the Markov factorization, \[p(x_1, x_2, x_3) = p(x_1)\,p(x_2 \mid x_1)\,p(x_3 \mid x_2).\] Conditioning on \(X_2 = x_2\), for any \(x_2\) with \(p(x_2) > 0\): \[p(x_1, x_3 \mid x_2) = \frac{p(x_1, x_2, x_3)}{p(x_2)} = \frac{p(x_1)\,p(x_2 \mid x_1)\,p(x_3 \mid x_2)}{p(x_2)}.\] Rearranging, \[p(x_1, x_3 \mid x_2) = \frac{p(x_1)\,p(x_2 \mid x_1)}{p(x_2)}\,p(x_3 \mid x_2) = p(x_1 \mid x_2)\,p(x_3 \mid x_2).\] Hence \(X_1 \indep X_3 \mid X_2\). This derivation shows concretely how a graphical blocking statement becomes an ordinary conditional-independence identity in the distribution. The corresponding fork case \(X_1 \leftarrow X_2 \to X_3\) can be verified similarly and is left as an exercise.

NoteRemark: Where the Blocking Rules Come From

Each rule is a small theorem about any distribution that is Markov with respect to the corresponding three-node graph. The chain rule is exactly the example above, and the fork case is identical after rewriting the factorization (Problem 8). For the collider, the factorization \(p(a, b, m) = p(a)\,p(b)\,p(m \mid a, b)\) integrates over \(m\) to \(p(a, b) = p(a)\,p(b)\) — closed by default — and conditioning on \(M\) generically destroys the product (Problem 5). The descendant clause is the same computation one step removed: for a child \(D\) of \(M\), \[p(a, b \mid d) \;\propto\; p(a)\,p(b) \int p(m \mid a, b)\,p(d \mid m)\,\mathrm{d}m,\] which generically does not factorize in \((a, b)\): observing \(D\) is observing a noisy proxy of the collider.

Two qualifications: an open path licenses dependence but does not force it (the generic-parameter reading of Section 2.3), and the three-node computations are only base cases — Theorem 2.1 extends the correspondence to every path in every DAG. In short, the blocking rules are definitions engineered so that graphical blocking matches conditional independence under the Markov property, and verified here by elementary computation.

2.3 d-Separation

The blocking rules of Section 2.2 settle the status of a single path. In any realistic DAG, however, two variables are typically joined by several paths at once, and association can flow along any one of them: a statistical relationship is ruled out by the graph only when every route is shut. d-Separation — the “d” stands for directional, because the rules depend on the orientation of the arrows along each path — is the criterion that performs exactly this aggregation. Given two nodes and a conditioning set \(\mathbf{S}\), it examines each path in turn and declares the nodes separated precisely when \(\mathbf{S}\) blocks all of the paths. It is a purely graphical computation: it can be carried out from the arrows alone, without reference to any probability distribution.

Why does this bookkeeping deserve a section of its own? Because d-separation is the bridge over which the graph speaks about data. The soundness theorem below (Theorem 2.1) shows that, for any distribution that is Markov with respect to the DAG, every d-separation statement translates into a genuine conditional independence of that distribution. The criterion thereby converts qualitative causal assumptions — arrows — into concrete probabilistic restrictions, and it is the engine behind the identification criteria of later chapters: the back-door criterion of Chapter 3 is, at bottom, a d-separation requirement in a modified graph.

2.3.1 The d-Separation Criterion

Before stating the formal criterion, it is useful to summarize the intuition: a path stays active unless we block a non-collider on it, or unless it contains a collider that has not been conditioned on (and has no conditioned-on descendant). The definition below simply turns this intuition into a rule that applies to any path in any DAG.

Definition 2.1 (d-Blocking and d-Separation) A path \(\pi\) is d-blocked by a set \(\mathbf{S}\) if:

  1. \(\pi\) contains a non-collider \(M\) (a chain or fork node) with \(M \in \mathbf{S}\); or
  2. \(\pi\) contains a collider \(A \to C \leftarrow B\) with \(C \notin \mathbf{S}\) and no descendant of \(C\) is in \(\mathbf{S}\).

Nodes \(X\) and \(Y\) are d-separated by \(\mathbf{S}\), written \((X \indep Y \mid \mathbf{S})_{\Gcal}\), if every path between \(X\) and \(Y\) in \(\Gcal\) is d-blocked by \(\mathbf{S}\). If some path is not d-blocked, \(X\) and \(Y\) are d-connected given \(\mathbf{S}\), written \((X \nindep Y \mid \mathbf{S})_{\Gcal}\). The subscript \(\Gcal\) always marks a statement about the graph; unsubscripted statements such as \(X \indep Y \mid \mathbf{S}\) refer to the distribution \(P\).

Example 2.3 (Applying the Criterion to the Three Toy Settings) We revisit the three motif stories of Section 2.2.1 and verify each blocking claim of Section 2.2.2 directly using the definition.

(i) Chain — Smoking \(\to\) Tar \(\to\) Cancer. Let \(A\) = smoking, \(M\) = tar, \(B\) = cancer. The only path between \(A\) and \(B\) is the chain \(A \to M \to B\).

  • \(\mathbf{S} = \varnothing\): the path contains no conditioned-on non-collider, so clause (1) does not apply. The collider clause (2) is also irrelevant (there is no collider). The path is not d-blocked. \(\Rightarrow (A \nindep B)_{\Gcal}\) (generically, smokers have higher cancer rates).
  • \(\mathbf{S} = \{M\}\): the chain node \(M \in \mathbf{S}\), so clause (1) applies and the path is d-blocked. \(\Rightarrow (A \indep B \mid M)_{\Gcal}\) (at fixed tar level, smoking no longer predicts cancer).

(ii) Fork — Poverty \(\to\) Poor Diet; Poverty \(\to\) Lack of Exercise. Let \(M\) = poverty, \(A\) = poor diet, \(B\) = lack of exercise. The only path is the fork \(A \leftarrow M \to B\).

  • \(\mathbf{S} = \varnothing\): no non-collider on the path is in \(\mathbf{S}\), so the path is not d-blocked. \(\Rightarrow (A \nindep B)_{\Gcal}\) (generically, poor diet and lack of exercise are correlated through shared poverty).
  • \(\mathbf{S} = \{M\}\): the fork node \(M \in \mathbf{S}\), so clause (1) applies and the path is d-blocked. \(\Rightarrow (A \indep B \mid M)_{\Gcal}\) (at fixed poverty status, the diet–exercise association disappears).

(iii) Collider — Accident \(\to\) Hospitalization \(\leftarrow\) Cancer. Let \(A\) = accident, \(M\) = hospitalization, \(B\) = cancer. The only path is the collider \(A \to M \leftarrow B\).

  • \(\mathbf{S} = \varnothing\): the path contains collider \(M\) with \(M \notin \mathbf{S}\) and no descendant of \(M\) in \(\mathbf{S}\), so clause (2) applies and the path is d-blocked. \(\Rightarrow (A \indep B)_{\Gcal}\) (accidents and cancer are independent in the general population).
  • \(\mathbf{S} = \{M\}\): now \(M \in \mathbf{S}\), so clause (2) no longer blocks the path. No other clause applies, so the path is open. \(\Rightarrow (A \nindep B \mid M)_{\Gcal}\) (generically, among hospitalized patients, ruling out an accident raises the probability of cancer — Berkson’s bias).

The following theorem is what gives d-separation its statistical force: it guarantees that every d-separation statement in the graph corresponds to a genuine conditional independence in the joint distribution.

Theorem 2.1 (Soundness of d-Separation (Pearl 2009, Theorem 1.2.4)) If \((X \indep Y \mid \mathbf{S})_{\Gcal}\), then \(X \indep Y \mid \mathbf{S}\) in every distribution that is Markov with respect to \(\Gcal\).

NoteRemark: Soundness, Not Converse

Theorem 2.1 states that d-separation implies conditional independence for every distribution Markov with respect to \(\Gcal\). The converse need not hold without additional assumptions such as faithfulness: a conditional independence may occur in the data because of special parameter values even when the corresponding nodes are not d-separated in the graph.

For the same reason, the dependence conclusions drawn in our examples — statements of the form “the path is open, hence \(A \nindep B\)” — are not consequences of the Markov property alone. An open path licenses dependence but does not force it; the dependence holds generically, i.e., except for special parameter cancellations, and is guaranteed under faithfulness. We adopt this generic reading throughout the examples in this chapter.

NoteExample: Unfaithfulness through Parameter Cancellation

The caveat above is not merely hypothetical. Consider the linear Gaussian model \[M = a X + \varepsilon_M, \qquad Y = b M + c X + \varepsilon_Y,\] with \(X\), \(\varepsilon_M\), \(\varepsilon_Y\) mutually independent, corresponding to the DAG with edges \(X \to M\), \(M \to Y\), and \(X \to Y\). Here \(X\) and \(Y\) are d-connected: both \(X \to Y\) and \(X \to M \to Y\) are open paths. Yet \[\mathrm{Cov}(X, Y) = b\,\mathrm{Cov}(X, M) + c\,\mathrm{Var}(X) = (ab + c)\,\mathrm{Var}(X),\] which is zero whenever \(c = -ab\): the associations transmitted along the two open paths cancel exactly, and \(X \indep Y\) despite the d-connection (in the jointly Gaussian case, zero covariance implies independence). Such parameter configurations are precisely what the faithfulness assumption rules out.

Within this finite-dimensional linear-Gaussian parameterization, the cancellation set \(c = -ab\) has Lebesgue measure zero, which is why the generic reading of open paths is usually harmless; the claim is about this parameter space, not about arbitrary nonparametric causal models. Near-cancellations can still occur in practice — for instance when direct and mediated effects have opposite signs — making the observed dependence empirically weak.

2.3.2 Practical Ways to Check d-Separation

The formal definition of d-separation can appear abstract when applied to larger graphs. Two complementary algorithmic viewpoints are useful in practice, both equivalent to the definition. On a first reading, path-by-path application of the definition — systematized by the tracing rules below — is the essential skill; the moral-graph method may be treated as optional second-pass material.

1. Active-Path Tracing. Imagine releasing a ball from \(X\) along each path and asking whether it can reach \(Y\), given that nodes in \(\mathbf{S}\) are observed (shaded). On any given path, the ball follows four local rules:

  • At a non-collider (chain or fork node) not in \(\mathbf{S}\): ball passes through.
  • At a non-collider in \(\mathbf{S}\): ball stops.
  • At a collider not in \(\mathbf{S}\) (and no descendant in \(\mathbf{S}\)): ball stops.
  • At a collider in \(\mathbf{S}\) (or with a descendant in \(\mathbf{S}\)): ball passes through.

If the ball can reach \(Y\) from \(X\) along some path, then \(X\) and \(Y\) are d-connected given \(\mathbf{S}\): the graph does not imply \(X \indep Y \mid \mathbf{S}\). If every path is stopped, then \((X \indep Y \mid \mathbf{S})_{\Gcal}\). These rules restate the d-blocking criterion path by path; a related, direction-sensitive search algorithm — Bayes-Ball, which visits each node at most a bounded number of times rather than enumerating paths — is developed by Shachter (1998).

2. Moral Graph Transformation. There is also a graph-transformation approach, which connects DAG models to undirected graphical models (Markov random fields).

  1. Restrict the DAG to the ancestral set of \(\{X, Y\} \cup \mathbf{S}\): keep the nodes \(X\), \(Y\), and \(\mathbf{S}\) themselves together with all of their ancestors, and discard everything else.
  2. Moralize the graph: for every collider \(A \to C \leftarrow B\) in the ancestral subgraph, add an undirected edge \(A - B\) (“marry the parents”).
  3. Remove all edge directions to obtain an undirected graph.
  4. Delete all nodes in \(\mathbf{S}\) (and their incident edges).

\(X\) and \(Y\) are d-separated by \(\mathbf{S}\) in \(\Gcal\) if and only if they are disconnected in the resulting undirected graph. The moralization step is what makes the collider rule visible in the undirected representation: without adding the \(A\)\(B\) edge, the path through \(C\) would appear disconnected even when \(C\) is conditioned upon, which would give the wrong answer. A full treatment is in Lauritzen (1996, Ch. 3).

These two viewpoints — active-path tracing and moral-graph separation — are equivalent algorithmic ways of evaluating the d-separation criterion. Students are encouraged to use whichever they find most natural, and to cross-check with the other when in doubt.

Example 2.4 (Checking d-Separation in a Four-Node DAG) Consider the DAG with edges \(Z \to T\), \(U \to T\), \(T \to Y\), \(U \to Y\).

Z T Y U

Query 1. Is \((Z \indep U)_{\Gcal}\), i.e. \(\mathbf{S} = \varnothing\)?

Path tracing. The only path from \(Z\) to \(U\) is \(Z \to T \leftarrow U\). Node \(T\) is a collider with \(T \notin \mathbf{S}\) and no descendant of \(T\) in \(\mathbf{S}\), so the ball is stopped at \(T\). No ball can reach \(U\), hence \((Z \indep U)_{\Gcal}\).

Moral graph. (1) Ancestral set of \(\{Z, U\} \cup \mathbf{S} = \{Z, U\}\): neither \(Z\) nor \(U\) has any parents, so the ancestral set is \(\{Z, U\}\) itself; nodes \(T\) and \(Y\) are discarded. (2) Moralize the subgraph \(\{Z, U\}\): it has no edges and no colliders, so nothing is added. (3) Undirected graph: isolated nodes \(Z\) and \(U\). (4) Delete \(\mathbf{S} = \varnothing\): nothing changes. \(Z\) and \(U\) are disconnected \(\Rightarrow (Z \indep U)_{\Gcal}\). Note that the key step is restricting to the ancestral set: this removes \(T\) from the graph before moralization, so the collider \(T\) never has a chance to create a moral edge between \(Z\) and \(U\).

Query 2. Is \((Z \indep U \mid T)_{\Gcal}\), i.e. \(\mathbf{S} = \{T\}\)?

Path tracing. Same path \(Z \to T \leftarrow U\). Now \(T \in \mathbf{S}\): the collider is observed, so the ball passes through \(T\). The path is open, hence \((Z \nindep U \mid T)_{\Gcal}\).

Moral graph. (1) Ancestral set of \(\{Z, U\} \cup \mathbf{S} = \{Z, U, T\}\): the parents of \(T\) are \(Z\) and \(U\), both already in the set; node \(Y\) is discarded. (2) Moralize: the subgraph contains the collider \(Z \to T \leftarrow U\), so add the moral edge \(Z - U\). (3) Undirected graph: edges \(Z - T\), \(U - T\), \(Z - U\). (4) Delete \(\mathbf{S} = \{T\}\) and its incident edges. Remaining graph: single edge \(Z - U\). \(Z\) and \(U\) are connected \(\Rightarrow (Z \nindep U \mid T)_{\Gcal}\). The moralization step is decisive: it adds the edge \(Z - U\) before \(T\) is deleted, ensuring the dependence induced by conditioning on the collider is visible in the undirected graph.

Comparing the two queries: \(Z\) and \(U\) are marginally independent (the instrument is exogenous) but become dependent once we condition on \(T\). This is collider bias — of which Berkson’s bias is the classic instance — treated in full in Section 2.5.

Example 2.5 (Practice DAG — Eight-Node Graph) Consider the DAG below with nodes \(W\), \(X_1\), \(T\), \(M_1\), \(M_2\), \(Y\), \(C\), and \(D\).

W X₁ T M₁ Y M₂ C D

For each query below, state whether the independence holds and identify every relevant path and its blocking status.

(1) Is \(X_1 \indep Y\)? No. There are four paths from \(X_1\) to \(Y\). Two are open: \(X_1 \leftarrow W \to Y\) (fork at \(W\), unblocked) and \(X_1 \leftarrow W \to T \to M_1 \to Y\) (fork at \(W\), then chain; also open). Two pass through the collider at \(C\): \(X_1 \to C \leftarrow M_2 \leftarrow M_1 \to Y\) and \(X_1 \to C \leftarrow M_2 \leftarrow M_1 \leftarrow T \leftarrow W \to Y\). With \(\mathbf{S} = \varnothing\), neither \(C\) nor any descendant of \(C\) is in \(\mathbf{S}\), so both collider paths are blocked. One open path suffices: \((X_1 \nindep Y)_{\Gcal}\).

(2) Is \(X_1 \indep Y \mid W\)? Yes. Both open paths above pass through the fork \(W\); conditioning on \(W\) blocks them. The two remaining paths each contain the collider at \(C\) with \(C \notin \{W\}\) (and no descendant of \(C\) in \(\{W\}\)), so both remain blocked. All paths blocked \(\Rightarrow (X_1 \indep Y \mid W)_{\Gcal}\).

(3) Is \(T \indep M_2 \mid M_1\)? Yes. There are four paths between \(T\) and \(M_2\). The direct path \(T \to M_1 \to M_2\) is a chain with \(M_1 \in \{M_1\}\) — blocked. The path \(T \leftarrow W \to X_1 \to C \leftarrow M_2\) has a collider at \(C\) with \(C \notin \{M_1\}\) — blocked. The path \(T \leftarrow W \to Y \leftarrow M_1 \to M_2\) has a collider at \(Y\) (\(W \to Y \leftarrow M_1\)) with \(Y \notin \{M_1\}\) — blocked (and also blocked at the fork node \(M_1 \in \{M_1\}\)). Finally, the path \(T \to M_1 \to Y \leftarrow W \to X_1 \to C \leftarrow M_2\) is blocked at the chain node \(M_1 \in \{M_1\}\) (and also at the colliders \(Y\) and \(C\)). All paths blocked \(\Rightarrow (T \indep M_2 \mid M_1)_{\Gcal}\).

(4) Does conditioning on \(C\) open a collider path between \(X_1\) and \(M_2\)? Yes. \(C\) is a collider on the path \(X_1 \to C \leftarrow M_2\), which is blocked marginally and is opened by conditioning on \(C\). Note, however, that \(X_1\) and \(M_2\) are not marginally d-separated: the path \(X_1 \leftarrow W \to T \to M_1 \to M_2\) is open even without any conditioning. A cleaner comparison conditions on \(W\) throughout. First, \((X_1 \indep M_2 \mid W)_{\Gcal}\): conditioning on \(W\) blocks the fork path above, and the two collider paths remain blocked. Second, \((X_1 \nindep M_2 \mid \{W, C\})_{\Gcal}\): adding \(C\) to the conditioning set opens \(X_1 \to C \leftarrow M_2\). Conditioning on the collider thus introduces a new, non-causal source of association — it does not create the only connection between \(X_1\) and \(M_2\), but it destroys an independence that held given \(W\) alone.

(5) Does conditioning on \(D\) open the path \(X_1 \to C \leftarrow M_2\)? Yes. \(D\) is a descendant of \(C\). By clause (2) of the d-separation definition, a collider path is unblocked whenever the collider or any of its descendants is in the conditioning set. Since \(D \in \{D\}\), the collider at \(C\) is activated, opening the path \(X_1 \to C \leftarrow M_2\) even though \(C\) itself is not conditioned on.

2.4 The Markov Property and Factorization

Up to this point, we have used DAGs qualitatively, to decide which paths are open or blocked. We now connect the graph to probability algebra: the same parent structure that governs d-separation also determines how the joint distribution factorizes. Appendix A provides a gentler preview of the same ideas.

Without structural assumptions, any joint distribution can always be written by repeated conditioning, but that generic representation is often too high-dimensional to reveal much structure. A DAG becomes statistically meaningful because, together with the Markov property, it replaces the generic factorization by a sparse one involving only the parents of each node. This is the sense in which a graphical model is not merely a picture: it imposes probabilistic structure on the joint distribution. Whether that structure is empirically testable depends on which variables are observed; implications involving only observed variables yield conditional independences that can be checked against data, while those involving latent variables generally cannot.

NoteDefinition: Markov Factorization

Let \(\Gcal\) be a DAG with nodes \(V_1, \dots, V_k\). A distribution \(P\) factorizes according to \(\Gcal\) (equivalently, is Markov with respect to \(\Gcal\)) if its joint density satisfies \[p(v_1, \dots, v_k) \;=\; \prod_{i=1}^{k} p\!\left(v_i \mid \Pa(v_i)\right). \tag{2.1}\] The product does not depend on how the nodes are ordered.

Under Markov compatibility — the assumption that \(P\) satisfies Equation 2.1 for the graph at hand — the parent sets determine the sparse factorization of the joint law; the factorization, not the picture alone, is the bridge between causal structure and probability.

NoteDefinition: Local Markov Property

A distribution \(P\) satisfies the local Markov property with respect to \(\Gcal\) if, for every node \(V_i \in \mathcal{V}\), \[V_i \indep \bigl[\, \Nd(V_i) \setminus \Pa(V_i) \,\bigr] \;\Big|\; \Pa(V_i).\] That is, once we condition on the direct causes of a node, that node is independent of all variables that are neither its descendants nor its parents.

NoteRemark: Three Equivalent Formulations

A distribution \(P\) satisfies the global Markov property with respect to \(\Gcal\) if every d-separation in \(\Gcal\) corresponds to a conditional independence in \(P\). Theorem 2.1 establishes one arrow of the picture: the factorization implies the global property. The remaining arrows are elementary: the local property is the special case of the global one obtained by separating each node from its non-descendants given its parents, and the local property yields the factorization by applying the chain rule along a topological ordering. For DAG models with densities, under the regularity conditions recorded in Appendix A, the three formulations are therefore equivalent (Lauritzen 1996, Theorem 3.27): the Markov factorization Equation 2.1, the local Markov property, and the global Markov property each imply the other two. Any one of the three can therefore serve as the definition of “\(P\) is Markov with respect to \(\Gcal\)”; the factorization is what is most often used directly in identification arguments.

What does the equivalence buy in the smallest possible case? For the three-node chain, the global property contains exactly one substantive statement, \(X_1 \indep X_3 \mid X_2\) — and the factorization delivers it in the two lines already carried out above. We record the result for reference: it is the miniature version of Theorem 2.1 that the reader has proved by hand.

Proposition 2.1 (Conditional Independence in the Three-Node Chain) Let \(X_1 \to X_2 \to X_3\) be a chain with Markov factorization \(p(x_1, x_2, x_3) = p(x_1)\,p(x_2 \mid x_1)\,p(x_3 \mid x_2)\). Then \(X_1 \indep X_3 \mid X_2\). The analogous result for the fork \(X_1 \leftarrow X_2 \to X_3\) is left as an exercise.

NoteRemark: Edges as Scientific Claims

In a causal DAG, an arrow is typically drawn only when a direct dependence-generating relation is believed to be present. For that reason, adjacent nodes are usually expected to be statistically dependent unless special parameter cancellations occur. We do not formalize minimality or faithfulness here, but this intuition explains why edges are not included gratuitously: every arrow in the graph represents a substantive scientific claim. For ordinary causal interpretation we therefore work with a minimal graph, in which displayed arrows are intended as active direct causal inputs. For certain nonidentification arguments, however, Chapter 3 adopts the weaker allowed-parent convention, under which a structural function may ignore some displayed parents.

NoteExample: Markov Factorization in the Education Example

For the DAG with edges \(N \to E\), \(B \to E\), \(B \to Y\), \(E \to Y\): \[p(n, b, e, y) = p(n)\,p(b)\,p(e \mid n, b)\,p(y \mid e, b).\] A regression of \(Y\) on \(E\) alone is generally confounded by \(B\), which lies on the open back-door path \(E \leftarrow B \to Y\). Graphically, conditioning on \(B\) blocks this path. After adding the intervention semantics and positivity condition developed in Chapter 3, this graphical fact yields the adjustment formula \[P\{y \mid \doop(E{=}e)\} \;=\; \int P(y \mid e, b)\,\mathrm{d}P_B(b).\]

NoteExample: Markov Factorization in the IV DAG

For the IV DAG, including the latent \(U\): \[p(z, t, y, u) = p(z)\,p(u)\,p(t \mid z, u)\,p(y \mid t, u).\] Since \(U\) is unobserved, the observable factorization is obtained by marginalizing: \[p(z, t, y) = \int p(z)\,p(u)\,p(t \mid z, u)\,p(y \mid t, u)\,\mathrm{d}u.\] In general, this observed law does not factorize as \(p(z)\,p(t \mid z)\,p(y \mid t)\): the latent common cause \(U\) makes \(T\) endogenous in the outcome equation, and the integral over \(u\) does not disappear. Exactly which graphical mechanism produces this failure — a collider opened by conditioning on \(T\) — is the subject of the next section.

2.5 Collider Bias and the IV DAG

Throughout the d-separation analyses of Section 2.3, the collider was the asymmetric case: closed by default, and opened — often unintentionally — by conditioning. This section studies the resulting phenomenon — collider bias — systematically: first by defining collider bias and illustrating it through Berkson-type selection, and then through a full d-separation analysis of the instrumental-variables DAG, where a collider is simultaneously the central danger for the naive analyst and, in later chapters, part of the identification strategy itself.

2.5.1 Berkson’s Bias

NoteDefinition: Collider Bias

Collider bias is the distortion of a target association or causal-effect estimate caused by conditioning on a common effect (a collider), or on a descendant of that collider, thereby opening a non-causal path. In a path \(A \to C \leftarrow B\), the path is blocked by default, but conditioning on \(C\) — or on any descendant of \(C\) — can make \(A\) and \(B\) statistically dependent along it. If \(A\) and \(B\) are marginally independent, this creates an association where none existed; if they are already associated through other paths, collider conditioning distorts the existing association.

WarningCollider Bias vs. Confounding

Unlike confounding, which is removed by conditioning on a common cause, collider bias is created by conditioning on a common effect. This is why conditioning on more variables is not always safer in causal analysis: adding a collider or a descendant of a collider to the adjustment set introduces bias rather than reducing it.

NoteExample: Collider Bias in the IV DAG

In the IV DAG, \(T\) is a collider on the path \(Z \to T \leftarrow U\). Marginally, \((Z \indep U)_{\Gcal}\) (the instrument is exogenous). However, \[(Z \indep U)_{\Gcal} \qquad \text{but} \qquad (Z \nindep U \mid T)_{\Gcal}\] (established graphically in Example 2.4). Conditioning on \(T\) — for example, analyzing within a stratum \(T = t\) — makes the instrument \(Z\) appear associated with \(U\), invalidating the IV argument within that stratum.

NoteExample: Collider Bias through Selection — Talent and Wealth

A similar phenomenon arises whenever selection depends on two otherwise unrelated variables. Suppose both talent (\(A\)) and wealth (\(B\)) increase the probability of admission to an elite school, so admission (\(S\)) is a collider: \(A \to S \leftarrow B\).

A S B

In the general population, talent and wealth may be independent: the path \(A \to S \leftarrow B\) is blocked by the collider \(S\), so \(A \indep B\). But among admitted students — conditioning on \(S\) — the two typically become negatively associated: because both variables contribute to the same selection event, lower talent makes higher wealth more likely as the explanation for admission, and vice versa. (As with Berkson’s bias, the negative sign follows from the monotone selection mechanism, not from the arrow pattern alone.) Conditioning on admission therefore induces association between variables that were not associated in the population. This is again collider bias: admission is a common effect of talent and wealth, and restricting to admitted students is precisely conditioning on that common effect.

2.5.2 Full d-Separation Analysis of the IV DAG

We work through the IV DAG with edges \(Z \to T\), \(T \to Y\), \(U \to T\), \(U \to Y\). This is the same graph as in Example 2.4, but now \(U\) is treated as unobserved. That assumption is precisely what earns the name “IV DAG”: because \(U\) cannot be conditioned on, the back-door path \(T \leftarrow U \to Y\) cannot be blocked by adjustment, and the instrument \(Z\) motivates an alternative identification strategy. The graph alone does not nonparametrically identify \(P(y \mid \doop(T{=}t))\); Chapter 7 introduces the additional assumptions — such as linearity or monotonicity — under which particular IV estimands are identified.

Before listing the paths, it is worth classifying them by type, since students often conflate causal and non-causal sources of dependence.

Endpoints Path Type Why
\(Z \leftrightarrow Y\) \(Z \to T \to Y\) Directed causal Directed from \(Z\) to \(Y\); carries the IV signal
\(Z \leftrightarrow Y\) \(Z \to T \leftarrow U \to Y\) Non-causal, collider-blocked Blocked by collider at \(T\) unless \(T\) (or a descendant) is conditioned on
\(Z \leftrightarrow U\) \(Z \to T \leftarrow U\) Non-causal, collider-blocked Collider at \(T\); dormant unless \(T\) conditioned on
\(Z \leftrightarrow U\) \(Z \to T \to Y \leftarrow U\) Non-causal, collider-blocked Collider at \(Y\); dormant unless \(Y\) (or a descendant) conditioned on

The key distinction: a causal path from \(Z\) to \(Y\) is one on which every arrow points from \(Z\) toward \(Y\); every other path is non-causal. A non-causal path does not represent a mechanism by which \(Z\) produces \(Y\), but it can transmit statistical association. Non-causal paths have no single default blocking status: a back-door fork such as \(T \leftarrow U \to Y\) is open without any conditioning, whereas the three non-causal paths in the present IV DAG each contain a collider (\(T\) on the first two, \(Y\) on the third) and are blocked unless the corresponding collider, or one of its descendants, is conditioned upon. With this in mind, the four questions become much easier to diagnose.

Question 1. Is \(Z \indep Y\)? There are two paths between \(Z\) and \(Y\). The directed path \(Z \to T \to Y\) is open, since it is a chain and we are not conditioning on \(T\). The path \(Z \to T \leftarrow U \to Y\) contains a collider at \(T\); since we are not conditioning on \(T\) or any descendant of \(T\), that path is blocked. Because the causal path remains open, \((Z \nindep Y)_{\Gcal}\).

Question 2. Is \(Z \indep Y \mid T\)? The causal path \(Z \to T \to Y\) is blocked because conditioning on \(T\) blocks the chain. The path \(Z \to T \leftarrow U \to Y\) contains a collider at \(T\), and because we are conditioning on \(T\), that collider is opened. \(\Rightarrow (Z \nindep Y \mid T)_{\Gcal}\).

Question 3. Is \(Z \indep Y \mid \{T, U\}\)? The causal path is blocked at \(T\). The path \(Z \to T \leftarrow U \to Y\) is opened at the collider \(T\), but the same path then passes through \(U\), and because we are also conditioning on \(U\), the path is blocked there. Hence both paths are blocked, so \((Z \indep Y \mid \{T, U\})_{\Gcal}\).

Question 4. Is \(Z \indep U\)? There are two paths between \(Z\) and \(U\): \(Z \to T \leftarrow U\) and \(Z \to T \to Y \leftarrow U\). The first contains a collider at \(T\); the second contains a collider at \(Y\). Since we are not conditioning on \(T\), on \(Y\), or on any descendant of either, both colliders remain closed, so both paths are blocked. Hence \((Z \indep U)_{\Gcal}\).

Taken together, the four questions give a graphical account of the structure behind the three IV assumptions, together with one critical warning.

Relevance. Question 1 shows that the graph places \(Z\) on an open causal path to \(Y\) through \(T\). Relevance, however, concerns the first stage: it requires that changing \(Z\) actually shifts the distribution of \(T\) — the edge \(Z \to T\) together with a nonzero first-stage effect. A drawn arrow is compatible with an arbitrarily weak (or, absent a minimality convention, even null) effect, so relevance is a substantive condition beyond the displayed topology.

Exogeneity. Question 4 expresses exogeneity: every path from \(Z\) to the confounder \(U\) is a dormant collider path, so the graph implies \(Z \indep U\).

Exclusion. Question 3 is the d-separation footprint of the exclusion restriction. The restriction itself is structural: every directed path from \(Z\) to \(Y\) must pass through \(T\). In this four-node graph, that is equivalent to \(Z\) being absent from the mechanism generating \(Y\); in a richer graph, absence from \(Y\)’s own structural equation would rule out only a direct \(Z \to Y\) edge, and the path formulation is the general one. The conditional independence \((Z \indep Y \mid \{T, U\})_{\Gcal}\) is an implication of that structure, not its definition. Note also that verifying the corresponding probabilistic independence directly would require observing \(U\), which is unavailable by assumption. The IV strategy instead uses exclusion and exogeneity jointly: in a centered linear outcome model without additional covariates, the two assumptions yield the orthogonality restriction \(\E[Z \varepsilon] = 0\), where \(\varepsilon\) is the structural disturbance in the outcome equation — exclusion keeps \(Z\) out of that equation, and exogeneity makes \(Z\) orthogonal to the latent determinants collected in \(\varepsilon\). Chapter 7 introduces observed covariates and states the covariate-adjusted version, \(\E[\varepsilon Z \mid X] = 0\), precisely.

Collider warning. Question 2 is the warning: conditioning on \(T\) alone — as a naive analyst might do — blocks the directed path \(Z \to T \to Y\) and opens the non-causal path \(Z \to T \leftarrow U \to Y\). The remaining association between \(Z\) and \(Y\) within levels of \(T\) is therefore collider-induced and non-causal; it contains no open causal component from \(Z\) to \(Y\).

It is important to recognize that the IV DAG encodes the substantive assumptions behind instrument validity graphically — relevance, exogeneity, and exclusion — but does not make them testable in any strong sense. Some observed-data implications of the IV DAG may be checked for compatibility with data, but the core IV assumptions are not generally fully testable from observational data alone.

2.6 Worked Example: The Education–Earnings DAG

This section is the template for how we will use DAGs throughout the course. Starting from a single causal graph, we move step by step through the full pipeline: first specify the DAG, then read off the factorization, then use d-separation to identify the implied conditional independences, and finally interpret the result in causal terms. Later chapters will follow the same pattern, but with richer identification questions.

Practice: d-separation workflow. Before working through the example below, return to Example 2.5 and rework each of the five queries from scratch, without looking at the answers. For each query, follow the same three steps: (1) list every path between the two nodes of interest; (2) classify every intermediate node on each path as a chain, fork, or collider; and (3) determine which paths are blocked or open after conditioning on the given set. This is exactly the procedure that d-separation always requires, in graphs of any size.

The causal story. Education (\(E\)) affects earnings (\(Y\)); family background (\(B\)) is a common cause of both education and earnings; neighborhood (\(N\)) affects education but has no direct effect on earnings. All four displayed variables are observed. In addition, we assume causal sufficiency relative to these variables: no common cause of any pair among \(N\), \(B\), \(E\), and \(Y\) has been omitted. This is a substantive simplifying assumption, not a consequence of observing the displayed variables — in reality, neighborhood and family background are often associated through broader socioeconomic factors, which would constitute exactly such an omitted common cause; we exclude it to keep the d-separation analysis tractable.

N E Y B

Step 1 — Markov factorization. The parents are \(\Pa(N) = \Pa(B) = \varnothing\), \(\Pa(E) = \{N, B\}\), and \(\Pa(Y) = \{E, B\}\). The Markov factorization is therefore \[p(n, b, e, y) \;=\; p(n)\,p(b)\,p(e \mid n, b)\,p(y \mid e, b).\] Every factor on the right-hand side involves only observed variables, so in principle each term is estimable from data. This is the starting point for identification: the full joint distribution is expressed in terms of estimable quantities.

Step 2 — d-Separation. There are two paths between \(N\) and \(Y\): Path 1 is \(N \to E \to Y\) (a chain through \(E\)); Path 2 is \(N \to E \leftarrow B \to Y\) (a collider at \(E\), followed by the fork leg \(B \to Y\)). We examine four queries.

Query (i): Is \((N \indep Y)_{\Gcal}\)? Path 1 is a chain with nothing conditioned on, so it is open. Path 2 has a collider at \(E\), and since \(E\) is not conditioned on, that path is blocked. Because Path 1 remains open, \((N \nindep Y)_{\Gcal}\).

Query (ii): Is \((N \indep Y \mid E)_{\Gcal}\)? Path 1 is a chain, and conditioning on \(E\) blocks it. Path 2 has a collider at \(E\), and conditioning on \(E\) opens it. The activated path \(N \to E \leftarrow B \to Y\) continues through \(B\), which is not conditioned on, so the path is open. Hence \((N \nindep Y \mid E)_{\Gcal}\). This is precisely the collider bias of Section 2.5: conditioning on \(E\) opens the path \(N \to E \leftarrow B \to Y\), thereby inducing a spurious association between \(N\) and \(Y\) through \(B\).

Query (iii): Is \((N \indep Y \mid \{E, B\})_{\Gcal}\)? Path 1 is blocked by conditioning on \(E\). Path 2 is opened at the collider \(E\), but then blocked at \(B\) because \(B\) is also conditioned on. Both paths are blocked: \((N \indep Y \mid E, B)_{\Gcal}\).

Query (iv): Is \((N \indep B)_{\Gcal}\)? The only path is \(N \to E \leftarrow B\), which has a collider at \(E\). Since \(E\) is not conditioned on, the path is blocked. Therefore \((N \indep B)_{\Gcal}\).

Step 3 — Conditional Independence. We now move from the graphical analysis to the probabilistic implications, being careful about the direction of the inference. By Theorem 2.1, the graph entails the two independence statements \[N \indep B, \qquad N \indep Y \mid E, B.\] The two remaining graphical conclusions are d-connections: \(N\) and \(Y\) are d-connected marginally, and also given \(E\). These mean only that the graph does not imply the corresponding independences; they become dependence predictions, \[N \nindep Y, \qquad N \nindep Y \mid E,\] under the additional faithfulness (or generic-parameter) reading discussed in the soundness remark of Section 2.3.1.

Because all four variables are observed, all four empirical relationships can in principle be investigated. Under the Markov assumption alone, however, only violations of the two entailed conditional independences contradict the graphical model — and agreement with those restrictions does not by itself verify the causal graph. The d-connection given \(E\) is especially important as a warning to practitioners. If the target is the total causal effect of neighborhood \(N\) on earnings \(Y\), conditioning on education \(E\) blocks the mediated causal path \(N \to E \to Y\) and opens the collider path \(N \to E \leftarrow B \to Y\): the adjustment distorts the very quantity being estimated rather than removing bias.

Step 4 — Identification. We wish to identify \(P(y \mid \doop(E{=}e))\), the distribution of earnings under an intervention that sets education to \(e\). The back-door criterion (Chapter 3) requires an adjustment set \(\mathbf{S}\) that (i) blocks every back-door path from \(E\) to \(Y\) and (ii) contains no descendant of \(E\).

The only back-door path is \(E \leftarrow B \to Y\), a fork at \(B\). Consider two candidate adjustment sets:

  • \(\mathbf{S} = \{B\}\): this blocks the path \(E \leftarrow B \to Y\), and \(B\) is not a descendant of \(E\). Hence \(\{B\}\) is valid.
  • \(\mathbf{S} = \{N\}\): this does not block the path \(E \leftarrow B \to Y\), so \(\{N\}\) is invalid.

This illustrates why every back-door path must be blocked: although \(N\) is upstream of \(E\), conditioning on \(N\) does nothing to close the confounding fork \(E \leftarrow B \to Y\).

As a preview of the back-door adjustment formula derived rigorously in Chapter 3, with \(\mathbf{S} = \{B\}\) the interventional distribution takes the form \[P(y \mid \doop(E{=}e)) \;=\; \sum_{b} P(y \mid e, b)\,P(b).\] Every term on the right-hand side involves only the observed distribution, so the causal effect is identified entirely from observational data — the payoff of the graphical analysis. Beyond the path criterion, the formula also relies on the causal interpretation of the DAG with its intervention semantics, and on a positivity condition: for discrete \(E\), \(P(E{=}e \mid B{=}b) > 0\) for every relevant \(b\); for continuous \(E\), the intervention level \(e\) must lie in the conditional support of \(E\) given \(B = b\). (For continuous \(B\), the sum over \(b\) is likewise replaced by an integral with respect to the distribution of \(B\).) The path analysis identifies \(B\) as the appropriate adjustment variable; Chapter 3 shows, using intervention graphs, why this graphical condition yields the standardization formula above.

2.7 The Big Picture

The concepts developed in this chapter form the graphical foundation for the identification and estimation theory developed later in the course. The central logic runs from a qualitative causal graph to an identification formula for an interventional quantity:

Graph Structure d-Separation Conditional Independence Identification Formula + intervention semantics (Ch. 3) DAG encodes direct causal relationships Read off all ⫫ statements from the graph Interpret or assess implied independences in data Back-door / front-door / do-calculus (Ch. 3)
From graph structure to identification formula. Each arrow is a distinct step in causal reasoning; the last requires intervention semantics, developed in Chapter 3.

Each arrow represents a distinct step in causal reasoning. First, we encode substantive assumptions in a DAG. Second, we use d-separation to read off the conditional independence structure implied by that graph. Third, under the Markov property, we translate those graphical statements into probabilistic restrictions. Fourth, adding the intervention semantics developed in Chapter 3 — the causal reading of arrows, modularity, and d-separation in suitably modified graphs — we use those restrictions to derive identification formulas for interventional quantities such as \(P(y \mid \doop(T{=}t))\). Observational conditional independences alone do not yield causal identification; the intervention step is what carries the causal content. Section 2.6 illustrates the first three steps in full and previews the fourth through the back-door formula.

In more abstract form, the logic of the course runs \[\begin{aligned} \text{substantive causal assumptions} &\;\Longrightarrow\; \text{causal DAG, with intervention semantics (Ch. 3)}\\ &\;\Longrightarrow\; \text{Markov factorization and d-separation relations}\\ &\;\Longrightarrow\; \text{conditional independences under the Markov property}\\ &\;\Longrightarrow\; \text{identification formulas in later chapters}. \end{aligned}\] This chapter establishes the graph syntax, the Markov semantics, and the d-separation machinery in this chain; the intervention step is the subject of Chapter 3. Chapters 3 and beyond use the same graphical machinery to derive specific identification results, including back-door adjustment, front-door adjustment, and do-calculus formulas.

2.8 Summary

  1. DAGs as causal structure. A DAG is a directed acyclic graph whose nodes represent variables and whose directed edges represent direct causal relationships. Once a DAG and a treatment–outcome target are specified, the graph shows which paths are causal, which are noncausal, and which variables may block or open those paths.

  2. Three-node motifs. Every path is built from three local structures: chains, forks, and colliders. Chains and forks are open by default and are blocked by conditioning on the middle node. Colliders are blocked by default and are opened by conditioning on the collider or on one of its descendants.

  3. d-Separation and conditional independence. The d-separation criterion is a graphical rule: \(X\) and \(Y\) are d-separated by a set \(\mathbf{S}\) exactly when every path between them is blocked by \(\mathbf{S}\). Under the Markov property, a d-separation statement implies the corresponding conditional independence in the distribution; a d-connection implies dependence only under the additional faithfulness assumption. Some such implications may be assessed empirically, but agreement with the data does not by itself verify the graph, and assumptions involving unobserved variables are generally not testable.

  4. Markov factorization. The local Markov property yields the factorization \(p(v_1,\dots,v_k) = \prod_{i=1}^{k} p(v_i \mid \Pa(v_i))\), which expresses the joint distribution in terms of local conditional distributions. This factorization is the bridge from graphical structure to probability calculus and underlies later identification arguments.

  5. Collider bias. Conditioning on a collider — or on a descendant of a collider — can induce a new association between otherwise independent variables or distort an existing one (Berkson 1946). This is the opposite of confounding adjustment: conditioning on a common cause removes spurious association, whereas conditioning on a common effect creates it.

  6. A practical workflow. To analyze a DAG, proceed in four steps: identify the graph structure, determine which paths are open or blocked, translate d-separation statements into conditional independences under the Markov property, and then interpret those independences in light of the causal question. This workflow will be reused throughout the rest of the course.

2.9 Problems

1. Warm-up: a single collider. Consider the DAG \(X \to Y \leftarrow Z\), where \(X\) and \(Z\) have no other connections.

  1. Identify the structural role of \(Y\) on the path \(X \to Y \leftarrow Z\).
  2. Are \(X\) and \(Z\) d-separated marginally? Apply the d-separation criterion to the only path between \(X\) and \(Z\), and state which blocking rule applies.
  3. Are \(X\) and \(Z\) d-separated given \(Y\)? Explain what happens to the path when \(Y\) is conditioned on, state what the faithfulness assumption would add to the graphical conclusion, and describe in one sentence the real-world phenomenon this illustrates.

2. d-Separation practice. Consider the DAG: \(A \to B \to D\), \(A \to C \to D\), \(B \to E\), \(C \to E\).

  1. List all paths between \(A\) and \(E\). (Hint: there are four paths in total; two pass through \(D\).)
  2. For each path, identify the role (chain, fork, collider) of each intermediate node.
  3. Does \(\{B, C\}\) d-separate \(A\) and \(E\)?
  4. Does \(\{D\}\) d-separate \(B\) and \(C\)? What type of node is \(D\) on the path \(B \to D \leftarrow C\)?

3. Berkson’s bias. Suppose \(X\) and \(Y\) are independent standard normal variables, and let \(S = \mathbf{1}[X + Y > 0]\) (selected into a sample).

  1. Verify analytically that \(\mathrm{Cov}(X, Y \mid S{=}1) < 0\). (Hint: rotate coordinates. \(R = (X+Y)/\sqrt{2}\) and \(Q = (X-Y)/\sqrt{2}\) are independent standard normals, and selection is simply \(R > 0\).)
  2. Draw the DAG for \((X, Y, S)\) and identify \(S\) as a collider.
  3. Explain in one sentence why restricting the analysis to the subsample with \(S=1\) biases estimates of any association between \(X\) and \(Y\), and name the type of bias this illustrates.

4. Markov factorization and collider activation. Consider the DAG with edges \(A \to E\), \(A \to W\), \(F \to E\), \(E \to W\), where \(A\) = ability, \(F\) = family income, \(E\) = education, \(W\) = wages.

  1. Write down the Markov factorization \(p(a, f, e, w)\).
  2. Is \((F \indep W)_{\Gcal}\)? List all paths between \(F\) and \(W\) and determine which are open.
  3. Is \((F \indep W \mid E)_{\Gcal}\)? Identify the role of \(E\) on each path and explain whether conditioning on \(E\) opens or closes each one.
  4. A researcher regresses \(W\) on \(E\) and \(F\), omitting \(A\). Is the coefficient on \(E\) a causal effect of education on wages? Explain using the graph.

5. Soundness of d-separation for the collider. Consider the collider \(A \to M \leftarrow B\) with Markov factorization \(p(a, m, b) = p(a)\,p(b)\,p(m \mid a, b)\).

  1. By marginalizing over \(M\), show that \(A \indep B\) in the joint distribution (i.e., \(p(a,b) = p(a)\,p(b)\)). This verifies Theorem 2.1 for the case \(\mathbf{S} = \varnothing\), where Example 2.3 established d-separation graphically.
  2. Show that conditioning on \(M\) need not preserve the marginal independence: write out \(p(a, b \mid m)\) and explain why it generally does not factorize into \(p(a \mid m)\,p(b \mid m)\). Under what special parameterizations could conditional independence nevertheless occur? What does this imply, generically, about \(A\) and \(B\) among hospitalized patients in the accident–hospitalization–cancer example?
  3. Explain in one sentence why parts (a) and (b) together are consistent with Theorem 2.1. (Hint: Theorem 2.1 is a one-directional statement.)

6. Terminology check. Consider the DAG with edges \(U \to X\), \(U \to Z\), \(X \to W\), \(Z \to W\), \(W \to Y\).

  1. Identify the parents, children, ancestors, descendants, and non-descendants of node \(W\).
  2. List all pairs of adjacent nodes (connected by a single edge).
  3. Which pairs of nodes are connected by a directed path? List every such pair and all corresponding directed paths (some pairs are connected by more than one).
  4. Write the Markov factorization \(p(u, x, z, w, y)\) implied by this DAG.

7. Markov factorization and local Markov property. Consider the DAG with edges \(X_1 \to X_2\), \(X_1 \to X_3\), \(X_2 \to X_4\), \(X_3 \to X_4\).

  1. Write the joint density \(p(x_1, x_2, x_3, x_4)\) implied by the Markov factorization.
  2. State the local Markov property for each of the four nodes. For each node, identify the conditioning set \(\Pa(X_i)\) and the independence set \(\Nd(X_i) \setminus \Pa(X_i)\).
  3. Is \((X_2 \indep X_3)_{\Gcal}\)? Is \((X_2 \indep X_3 \mid X_1)_{\Gcal}\)? Justify each answer by listing all paths between \(X_2\) and \(X_3\) and checking whether each is blocked.

8. Toy proof: conditional independence in the fork. Consider the fork \(X_1 \leftarrow X_2 \to X_3\) with Markov factorization \(p(x_1, x_2, x_3) = p(x_2)\,p(x_1 \mid x_2)\,p(x_3 \mid x_2)\).

  1. Show directly, by conditioning on \(X_2 = x_2\), that \(X_1 \indep X_3 \mid X_2\). Follow the same three steps used in Example 2.2 for the chain.
  2. Does the DAG imply \(X_1 \indep X_3\) marginally? Justify your answer graphically (using d-separation) and algebraically: show that \(p(x_1, x_3) = \int p(x_2)\,p(x_1 \mid x_2)\,p(x_3 \mid x_2)\,\mathrm{d}x_2\) generally does not factorize into \(p(x_1)\,p(x_3)\), although special parameterizations can make it do so.
  3. Explain in one sentence what the fork represents substantively and why conditioning on the common cause \(X_2\) removes the association between \(X_1\) and \(X_3\).

9. d-Separation in the practice DAG. Refer to the eight-node DAG in Example 2.5 (nodes \(W\), \(X_1\), \(T\), \(M_1\), \(M_2\), \(Y\), \(C\), \(D\); edges \(W \to X_1\), \(W \to T\), \(W \to Y\), \(T \to M_1\), \(M_1 \to Y\), \(M_1 \to M_2\), \(X_1 \to C\), \(M_2 \to C\), \(C \to D\)). For each query below, state whether it is true or false and justify your answer by listing all relevant paths and determining whether each is blocked or open. This problem is intended as retrieval practice: do not refer to the worked solutions until you have written your own answer.

  1. \(X_1 \indep Y\)
  2. \(X_1 \indep Y \mid W\)
  3. \(T \indep M_2 \mid M_1\)
  4. Are \(X_1\) and \(M_2\) d-separated given \(W\)? Given \(\{W, C\}\)? Identify the specific path that conditioning on \(C\) opens, and explain why the association it transmits is non-causal.
  5. Does conditioning on \(D\) (a descendant of \(C\)) open the path \(X_1 \to C \leftarrow M_2\)? State which clause of the d-separation definition applies.
Berkson, Joseph. 1946. “Limitations of the Application of Fourfold Table Analysis to Hospital Data.” Biometrics Bulletin 2 (3): 47–53.
Lauritzen, Steffen L. 1996. Graphical Models. Oxford University Press.
Pearl, Judea. 2009. Causality: Models, Reasoning, and Inference. 2nd ed. Cambridge University Press.
Shachter, Ross D. 1998. “Bayes-Ball: The Rational Pastime (for Determining Irrelevance and Requisite Information in Belief Networks and Influence Diagrams).” Proceedings of the Fourteenth Conference on Uncertainty in Artificial Intelligence (UAI), 480–87.