What a DAG Audit Can Establish
A longitudinal directed acyclic graph (DAG) is a set of variables represented by nodes and proposed direct causal relationships represented by arrows. An audit asks whether that representation is coherent with the study timeline and defensible as a causal model. It is not a procedure for discovering the true graph from the observed data alone: causal claims and omissions often require subject-matter knowledge.
For example, let \(L_t\) denote a covariate measured at time \(t\), \(A_t\) treatment assigned at time \(t\), and \(Y\) an outcome measured at the end of follow-up. An arrow \(L_t\to A_t\) asserts that \(L_t\) is a direct cause of treatment assignment in the model. It does not merely assert that the two variables are associated. A missing arrow likewise expresses a modeling judgment, not a conclusion automatically justified by a small observed association.
The earlier material on time-indexed nodes and drawing longitudinal DAGs from a study timeline provides the basic representation. Here the emphasis is on testing a completed proposal rather than constructing one from scratch. The assumptions behind an audit are modest but important: the study’s measurement and assignment times are recorded accurately, the node definitions are clear, and the graph is intended to represent causal rather than merely predictive relationships.
Audit Time Before Causal Interpretation
Start by listing when each node occurs, not just the nominal visit at which it was recorded. Distinguish, for example, a covariate measured before treatment assignment from one measured after assignment but before the next visit. If the study only records a variable at a visit, it may still be necessary to establish whether the value refers to the period before or after treatment.
Use a strict event-time precedence relation \(X\prec Z\) when event \(X\) must occur before event \(Z\). A proposed causal arrow \(X\to Z\) must respect that order. When several events share a coarse visit label, the label alone may not resolve their order: the study protocol may need to specify which event occurred first. A contemporaneous label is not permission to draw an arrow in either direction without justification.
Proof. If a directed cycle existed, its arrows would give nodes \(X_1,\ldots,X_k\) with \(X_1\prec X_2\), \(X_2\prec X_3\), and so on, ending with \(X_k\prec X_1\). Transitivity would imply \(X_1\prec X_1\), contradicting the irreflexivity of a strict ordering. Therefore no such cycle exists. This result is a necessary consistency check, not a guarantee that an acyclic graph is causally correct. \(\square\)
Worked Example: Finding a Backward Arrow
Suppose a study measures \(L_0\) at baseline, assigns \(A_0\) immediately afterward, measures \(L_1\) at the next visit, assigns \(A_1\) after that measurement, and records final outcome \(Y\). A proposed graph includes \(L_0\to A_0\), \(A_0\to L_1\), \(L_1\to A_1\), \(A_1\to Y\), and \(Y\to L_1\). Which arrows pass the timing audit?
The first four arrows follow the listed event sequence: baseline covariate precedes initial assignment, initial treatment precedes the later covariate, that covariate precedes the next assignment, and the later assignment precedes the final outcome. The proposed arrow \(Y\to L_1\) fails because \(L_1\) is measured before \(Y\). It would claim that a later outcome causes an already measured covariate.
The graph also contains the directed cycle \(L_1\to A_1\to Y\to L_1\). The cycle is a second way to detect the contradiction. Removing \(Y\to L_1\) resolves this particular timing failure, but does not establish that any remaining arrow is substantively justified or that all relevant causes are represented.
Review Arrows and Possible Omitted Causes
For every arrow, ask what causal mechanism and time ordering support it. A proposed arrow may be questionable if it is based only on a cross-sectional association, if the cause was measured after the alleged effect, or if the study’s design makes the proposed mechanism implausible. “Unsupported” means that the available scientific rationale is insufficient; it does not mean that the arrow has been disproved by a statistical test.
Next, consider plausible common causes of treatment and outcome, or of other pairs whose relationship matters to the causal question. A common cause is a variable that causally influences both nodes. If it is not measured, it can be represented as an unobserved node, often denoted \(U\), when that representation is useful. The audit should ask whether such a cause could exist and whether the graph accounts for it. It cannot establish from the graph alone that every relevant cause has been included.
Worked Example: A Shared Cause Hidden by an Apparently Direct Effect
Let \(U\) be a binary health-severity variable with \(P(U=1)=0.5\). Given \(U\), let treatment \(A\) and outcome \(Y\) be independent, with \(P(A=1\mid U=1)=P(Y=1\mid U=1)=0.8\) and \(P(A=1\mid U=0)=P(Y=1\mid U=0)=0.2\). Suppose the proposed graph contains \(A\to Y\) but omits \(U\). Calculate the observed association and the causal effect under this data-generating model.
First, \(P(A=1)=0.5(0.8)+0.5(0.2)=0.5\), and the same calculation gives \(P(Y=1)=0.5\). Conditional independence given \(U\) gives \(P(A=1,Y=1)=0.5(0.8\cdot0.8)+0.5(0.2\cdot0.2)=0.34\). Thus \(\operatorname{Cov}(A,Y)=0.34-(0.5)(0.5)=0.09\): the variables are positively associated.
In the stated model, however, \(Y\) is generated from \(U\), not from \(A\). Under either intervention \(do(A=a)\), the distribution of \(U\) remains unchanged and \(P(Y=1\mid do(A=a))=0.5(0.8)+0.5(0.2)=0.5\), for \(a=0\) and \(a=1\). The intervention contrast is therefore \(0.5-0.5=0\). This example shows how a plausible omitted common cause can produce an association that does not represent a causal effect. The graph audit raises the possibility; substantive knowledge or a design argument is needed to assess whether \(U\) is relevant in an actual study.
Conditioning, Colliders, and Selection
A collider is a node at which two arrowheads meet, as in \(A\to C\leftarrow B\). In the d-separation criterion, a path through a noncollider is blocked by conditioning on that node; a path through a collider is blocked unless the collider or an appropriate descendant of it is conditioned on. Consequently, conditioning on a collider, or on a descendant of that collider, can open a path that was otherwise blocked. Conditioning on an ancestor of a collider does not, in general, open that collider.
In longitudinal studies, conditioning can arise through adjustment, restriction to a subgroup, or inclusion only of people retained in follow-up. Mark the variables actually conditioned on and the nodes that determine selection into the analysis. Then inspect paths through colliders and their descendants. The collider’s presence alone does not imply bias in every analysis: the concern depends on whether the path connects variables relevant to the causal question and whether conditioning opens it.
Worked Example: Conditioning Creates Association at a Collider
Let \(A\) and \(B\) be independent Bernoulli variables with probability \(0.5\) of being 1. Define \(C=1\) exactly when \(A=B\), so the graph has \(A\to C\leftarrow B\). Calculate the association between \(A\) and \(B\) before and after restricting to \(C=1\).
Before restriction, independence gives \(P(A=1,B=1)=0.25\), \(E[A]=E[B]=0.5\), and \(\operatorname{Cov}(A,B)=0.25-(0.5)(0.5)=0\).
The event \(C=1\) consists of the two equally likely pairs \((A,B)=(0,0)\) and \((1,1)\). Hence \(P(A=1\mid C=1)=P(B=1\mid C=1)=0.5\), while \(P(A=1,B=1\mid C=1)=0.5\). Therefore \(\operatorname{Cov}(A,B\mid C=1)=0.5-(0.5)(0.5)=0.25\). Conditioning on the collider has created positive association between its otherwise independent causes.
This calculation illustrates a mechanism, not a universal direction or magnitude of collider bias. In applied work, selection may be represented by a node \(S\), and restricting analysis to \(S=1\) should prompt a check of whether \(S\) is a collider or a descendant of one on a relevant path.
A Practical Audit and Its Limits
Record measurement, treatment-assignment, outcome, censoring, and selection times precisely enough to distinguish before from after.
Confirm that it points forward in event time and ask what substantive mechanism supports the direct causal claim.
Consider plausible shared causes of treatment and outcome, including unmeasured causes, and state which are assumed absent or represented.
Mark adjusted-for variables and selection nodes. Check whether conditioning on a collider or an appropriate descendant of that collider opens a relevant path.
Record logical contradictions as failures, and label unresolved causal claims as assumptions requiring scientific judgment or additional evidence.
A DAG audit complements, but does not replace, other approaches. Statistical model fit and conditional-independence patterns can reveal some incompatibilities between a graph and data, but they generally cannot orient every causal arrow or rule out unmeasured common causes. Expert review can identify plausible mechanisms and omitted variables, but can be subjective. Sensitivity analysis can examine how conclusions change under specified alternatives, but does not identify which alternative graph is true. These approaches answer different questions and should not be treated as substitutes.
Common warning signs include an arrow from a later event to an earlier one, a cycle, an arrow justified only by correlation, and a restriction to observed follow-up without considering selection. The main limitation is fundamental: many distinct causal graphs can be compatible with the same observed distribution. Therefore, a clean audit means the graph is internally coherent and its assumptions have been examined; it does not mean the assumptions are empirically verified.
Check Your Understanding
Answer each question, then compare with the solutions below.
- A covariate is measured after \(A_0\) but before \(A_1\). Is an arrow from that covariate to \(A_0\) temporally coherent? Explain.
- What does a directed cycle imply when each arrow is required to follow a strict event-time ordering?
- In the structure \(A\to C\leftarrow B\), which conditioning could open the path through \(C\): conditioning on \(C\), on a descendant of \(C\), or on an ancestor of \(C\)?
- Why does an observed association between treatment and outcome not, by itself, justify a causal arrow between them?
Solutions. (1) No. The covariate occurs after \(A_0\), so it cannot be a cause of that earlier assignment under the stated event ordering. (2) The cycle would imply a strict sequence of precedence relations returning to its starting event, which contradicts irreflexivity and transitivity; the graph fails the temporal audit. (3) Conditioning on \(C\), or on an appropriate descendant of \(C\), can open the collider path. Conditioning on an ancestor of \(C\) does not generally do so. (4) Association can arise from a common cause, selection, or other structure without a causal effect of treatment on outcome. A causal arrow requires a substantive causal claim, not association alone.