Why Repeated Variables Need Repeated Nodes
In longitudinal studies, the same kind of quantity may be recorded at several times. Disease severity measured before each treatment decision is still called disease severity, but severity at one visit and severity at the next are not the same variable in a causal graph. They occur at different times and can have different causes. A useful longitudinal DAG makes that distinction explicit by giving each measurement its own node.
This matters especially when earlier treatment can change a later covariate. That later covariate may then help determine subsequent treatment and may also predict the outcome. If the graph collapses repeated measurements into one undated “severity” node, it can hide this sequence and make the assumed causal story difficult to inspect.
For example, let \(A_t\) denote treatment at time \(t\), \(L_t\) a time-varying covariate measured at that time, and \(Y\) a later outcome. These labels are not claims that the variables are binary; they can be categorical or continuous. A simple two-decision timeline might be \(L_0, A_0, L_1, A_1, Y\), where each measurement is placed according to when it occurs relative to treatment decisions and outcome assessment.
Constructing a Time-Indexed Graph
Begin with the study protocol, not with a list of correlations. Record when each covariate is measured, when each treatment decision is made, and when the outcome is assessed. Then create a separate node for every relevant measurement. A subscript is a compact reminder that two nodes with the same letter refer to different times.
Next, draw an arrow when the study’s causal assumptions say that one node can directly influence another, subject to the other modeled causes. For instance, prior treatment may affect later disease severity, while current severity may affect the next treatment choice. If severity also affects the outcome, represent that influence as well. These arrows state a substantive causal model; data showing that two variables are associated do not, by themselves, determine which arrow to draw.
For a two-decision example, a possible graph has arrows \(L_0 \to A_0\), \(L_0 \to L_1\), \(A_0 \to L_1\), \(L_1 \to A_1\), \(L_1 \to Y\), \(A_0 \to Y\), and \(A_1 \to Y\). The arrow \(A_0 \to L_1\) represents an effect of earlier treatment on later covariate status. The arrows from \(L_1\) represent a later covariate that helps determine subsequent treatment and can influence the outcome.
This displayed chain is only the backbone: it leaves out other arrows, including \(L_0 \to L_1\), \(L_1 \to Y\), and \(A_0 \to Y\), that may be part of the full graph. Do not infer that an arrow is absent simply because it is omitted from a simplified picture. A useful graph shows the arrows relevant to the causal question and makes any omitted-cause assumptions clear.
If a common cause is not measured, it can still be represented as a node. For example, an underlying health characteristic \(U\) might influence both treatment and a later outcome. A graph that includes \(U\) communicates that such a cause is part of the assumed causal structure, even if the study does not observe it. Omitting a variable from the data table does not make its causal role disappear.
Worked Example: Two Decisions About Disease Severity
Hypothetical setting. Suppose a study records severity before an initial treatment decision, gives or withholds treatment, records severity again, makes a second treatment decision, and then measures an outcome. Use \(L_0\) and \(L_1\) for the two severity measurements, \(A_0\) and \(A_1\) for the treatments, and \(Y\) for the outcome. Assume the clinical model proposes that baseline severity affects the first treatment and subsequent severity; the first treatment can affect subsequent severity; subsequent severity affects the second treatment and outcome; and either treatment may affect the outcome.
The resulting arrows are \(L_0 \to A_0\), \(L_0 \to L_1\), \(A_0 \to L_1\), \(L_1 \to A_1\), \(L_1 \to Y\), \(A_0 \to Y\), and \(A_1 \to Y\). Each node has a time-specific meaning: \(L_0\) is not interchangeable with \(L_1\).
Suppose, purely to illustrate the graph’s joint probability factorization, that \(P(A_0=1)=0.40\), \(P(L_1=1\mid A_0=1)=0.60\), and \(P(A_1=1\mid A_0=1,L_1=1)=0.70\). For this calculation, the assumed probability model gives the relevant conditional factors; it is not evidence that the proposed arrows are true.
Under those illustrative probabilities, the joint probability of this treatment-and-covariate sequence is \(0.168\), or 16.8%. The factorization shows the chronological conditioning involved in this sequence. It does not estimate a treatment effect or establish that treatment caused the later severity measurement.
Tracing Paths Through Repeated Measurements
A path is a sequence of connected nodes and edges in a graph. In a longitudinal DAG, write down the nodes in order when tracing a directed causal route: every arrow along that route must point in the direction of travel. For example, \(A_0 \to L_1 \to A_1 \to Y\) is a directed path from earlier treatment to the outcome through later covariate status and subsequent treatment. The route \(A_0 \to L_1 \to Y\) is another directed path if the graph includes \(L_1 \to Y\).
The key feature is the time sequence. \(A_0\) occurs before \(L_1\), and \(L_1\) occurs before \(A_1\). Thus, a covariate at time 1 can be affected by treatment at time 0 and can help determine treatment at time 1. This is the graphical structure behind treatment-confounder feedback: treatment history changes later covariate history, which is relevant to a later treatment decision. Drawing the same covariate only once would not show that order.
A path in a DAG is a way to describe a route in the hypothesized causal structure; its presence does not tell us the size of any effect. Nor does it prove that the route is active in a particular statistical analysis. At this stage, the practical task is to represent the timing and proposed causal influences faithfully, then trace the routes that the graph contains.
Worked Example: Tracing a Route From Earlier Treatment to Outcome
Hypothetical setting. Imagine that patients’ symptoms are measured before two medication decisions. Let \(A_0\) and \(A_1\) denote the first and second medication decisions, \(L_1\) the symptom measurement between them, and \(Y\) a later health outcome. Suppose the scientific assumptions include \(A_0 \to L_1\), \(L_1 \to A_1\), \(L_1 \to Y\), and \(A_1 \to Y\).
One directed path is \(A_0 \to L_1 \to A_1 \to Y\). To verify it, check each consecutive pair: the graph contains an arrow from \(A_0\) to \(L_1\), from \(L_1\) to \(A_1\), and from \(A_1\) to \(Y\), all pointing forward along the route. A second directed path is \(A_0 \to L_1 \to Y\), if the assumed arrow \(L_1 \to Y\) is included.
For a numerical illustration, suppose an assumed model gives \(P(L_1=1\mid A_0=1)=0.50\), \(P(A_1=1\mid L_1=1,A_0=1)=0.80\), and \(P(Y=1\mid A_1=1,L_1=1,A_0=1)=0.30\). The probability of the specified sequence, under that model, is
The calculated 0.12 is the probability of this particular sequence under the stated hypothetical conditional probabilities. It is not the total probability of \(Y=1\) under treatment, and it is not a causal effect estimate. The graph identifies the hypothesized route; the numerical factors merely illustrate how a joint probability for one sequence can be written.
Checking the Graph Against Time
A longitudinal DAG should agree with the actual measurement and decision schedule. If \(L_1\) is measured after \(A_0\), it can be a consequence of \(A_0\); it cannot be a cause of that already-made treatment decision. Likewise, if \(Y\) is assessed after \(A_1\), drawing \(Y \to A_1\) would contradict the stated timeline unless the variable called \(Y\) actually refers to an earlier measurement.
A simple way to check acyclicity is to arrange nodes in a topological order: a sequence in which every arrow points from an earlier node to a later one. For the two-decision structure, a possible order is \(L_0, A_0, L_1, A_1, Y\). Arrows may skip times, as with \(A_0 \to Y\), but should not point backward in this ordering. A directed loop such as \(A_0 \to L_1 \to A_0\) cannot be part of a DAG.
This does not mean the real world has no feedback over time. It means that a graph representing change over time must distinguish the time-specific variables. For example, a treatment can affect severity at the next visit, and that later severity can influence a later treatment. The sequence \(A_0 \to L_1 \to A_1\) is acyclic even though treatment and severity influence one another across successive times.
Worked Example: Extending the Graph to Three Decisions
Hypothetical setting. Suppose a monitoring value is measured at three successive times, \(L_0,L_1,L_2\), and a treatment decision follows each measurement, \(A_0,A_1,A_2\). A later outcome is \(Y\). Assume each treatment may influence the next monitoring value, each monitoring value may influence the next treatment, and the final treatment and monitoring value may influence \(Y\). One possible set of arrows includes \(L_0 \to A_0\), \(A_0 \to L_1\), \(L_1 \to A_1\), \(A_1 \to L_2\), \(L_2 \to A_2\), \(L_2 \to Y\), and \(A_2 \to Y\). Other arrows, such as \(L_0 \to L_1\), should be added if the assumed causal model includes them.
The route from the first treatment to the outcome through later monitoring and treatment is \(A_0 \to L_1 \to A_1 \to L_2 \to A_2 \to Y\). Each node is distinct, and each arrow advances in the stated sequence. This avoids the invalid shortcut of drawing one undated \(L\) node that would have to represent measurements both before and after treatment.
For a numerical check of one sequence, suppose the hypothetical conditional probabilities are \(P(L_1=1\mid A_0=1)=0.40\), \(P(A_1=1\mid L_1=1,A_0=1)=0.50\), and \(P(L_2=1\mid A_1=1,L_1=1,A_0=1)=0.60\). Then
This is the probability of the stated intermediate sequence under the illustrative model. The multiplication follows the conditional probability chain for that sequence; it does not imply that the listed probabilities are universal or that the arrows can be inferred from this calculation.
Common Mistakes and Why the Graph Matters
- Using one node for a repeated measurement. Calling both measurements “severity” without time indices hides whether treatment came before or after the measurement. Use \(L_0\) and \(L_1\), or another explicit time-indexing scheme.
- Drawing arrows from association alone. An observed relationship does not determine its causal direction. Use the study timeline and substantive assumptions to propose arrows.
- Putting a later measurement before an earlier decision. If a covariate was measured after treatment, it cannot be the cause of that prior decision in the stated timeline. Recheck the protocol when the ordering seems ambiguous.
- Assuming feedback creates a directed cycle. Treatment at one time can affect a covariate at a later time, which can affect treatment at a still later time. Distinct time indices keep this sequence acyclic.
- Treating a drawn path as a numerical effect. A path records a proposed causal route, not its magnitude. The graph alone supplies no effect estimate.
Drawing these structures matters because the diagram makes the assumed timing and causal routes inspectable. It can reveal that a covariate measured after one treatment decision is not simply a baseline attribute: it may have been affected by earlier treatment and may inform later treatment. That observation is important for planning and interpreting longitudinal analyses, but the graph itself does not select an adjustment strategy or establish that any causal effect is identified.
Check Your Understanding
Answer these questions by referring to time-specific nodes and arrows.
- A covariate \(L_1\) is measured after treatment \(A_0\) and before treatment \(A_1\). Why should it generally be represented separately from baseline \(L_0\)?
- In the graph \(A_0 \to L_1 \to A_1 \to Y\), list the nodes on the directed path from \(A_0\) to \(Y\).
- Suppose a study measures \(Y\) only after \(A_1\). What does an arrow \(Y \to A_1\) imply about the proposed temporal ordering?
- Why can the sequence \(A_0 \to L_1 \to A_1\) represent feedback across time without creating a cycle?
- Does observing an association between \(A_0\) and \(L_1\) establish the arrow \(A_0 \to L_1\)? Explain.