Causal DAG: Exercise → Sleep → Depression
Structure (ASCII)
┌─────────────── confounders ───────────────┐
│ age SES genetics phys_health │
│ │ social_support stress │
└────┬──────────┬──────────────┬─────────────┘
│ │ │
┌─────────▼──┐ ┌───▼────┐ ┌────▼───────┐
│ EXERCISE │ │ SLEEP │ │ DEPRESSION │
│ (exposure) │ │(mediat)│ │ (outcome) │
└─────┬──┬───┘ └───▲────┘ └─────▲──────┘
│ │ │ │
│ └───────────┘ (E → S) │
│ S → D ───────┘
└──────────────────────────────┘ (E → D direct)
Exercise affects depression two ways: a direct path E → D and an indirect path through sleep E → S → D. Sleep is a mediator, not a confounder — this is the crux for the back-door question.
DAGitty notation
dag {
exercise [exposure]
depression [outcome]
sleep
age -> exercise
age -> sleep
age -> depression
SES -> exercise
SES -> depression
SES -> phys_health
phys_health -> exercise
phys_health -> sleep
phys_health -> depression
social_support -> exercise
social_support -> depression
genetics -> exercise
genetics -> depression
stress -> exercise
stress -> sleep
stress -> depression
exercise -> sleep
exercise -> depression
sleep -> depression
}
Paste this into dagitty.net and it will confirm the adjustment set below.
Back-door criterion
A set Z satisfies the back-door criterion relative to (exercise, depression) if:
- No node in Z is a descendant of exercise, and
- Z blocks every path from exercise to depression that has an arrow pointing into exercise.
The back-door paths (each starts with an arrow into exercise):
| Back-door path | Blocked by |
|---|
| E ← age → D | age |
| E ← SES → D | SES |
| E ← phys_health → D (and → S → D) | phys_health |
| E ← social_support → D | social_support |
| E ← genetics → D | genetics |
| E ← stress → D (and → S → D) | stress |
Minimal sufficient adjustment set for the total effect:
{ age, SES, phys_health, social_support, genetics, stress }
Do NOT adjust for sleep. Sleep is a descendant of exercise (violates condition 1) and lies on the causal front-door path E → S → D. Conditioning on it blocks the indirect effect and biases the total effect downward — you’d be estimating only the controlled direct effect, not the total effect you almost certainly want.
Subtlety if you do want the direct effect: conditioning on sleep also opens collider paths, because sleep is a collider for E → S ← {stress, phys_health, age}. Those happen to already be in the set above, so they stay blocked — but the point is that estimating the direct effect requires more care, not less.
Intervening on exercise: do(exercise = e)
The do-operator performs graph surgery — delete every arrow into exercise:
(age, SES, phys_health, social_support, genetics, stress) ──╳──> exercise
exercise -> sleep ✓ kept
exercise -> depression ✓ kept
sleep -> depression ✓ kept
Once exercise is set exogenously, all six back-door paths are severed automatically — which is exactly why a randomized trial (randomization is a do) needs no covariate adjustment. The only paths that survive are the causal ones, so:
$$P(\text{depression} \mid do(\text{exercise}=e)) = \sum_{z} P(\text{depression} \mid \text{exercise}=e,, z),P(z)$$
with z ranging over the adjustment set (the observational identification formula; the RCT estimates the same quantity directly).
Predicted result: raising exercise lowers depression through two channels —
- direct effect (
E → D): exercise’s own antidepressant action;
- indirect effect (
E → S → D): exercise improves sleep, which lowers depression.
Total effect = direct + indirect (mediated by sleep).
Two caveats worth stating honestly
- Acyclicity vs. reality. In real adults the arrows reverse too — depression worsens sleep and reduces exercise (
D → S, D → E). A DAG must be acyclic, so these directions are only defensible with temporal ordering: measure exercise and sleep before depression (longitudinal / cross-lagged panel design). Cross-sectional data cannot license this DAG.
- Unmeasured confounding. Genetics and stress are notoriously hard to measure; if they’re omitted, the back-door paths through them stay open and the observational estimate is biased. The
do-intervention (an actual exercise RCT) is robust to this; the adjustment formula is not.
If it’s useful, I can emit this as an ora-visual DAGitty envelope (the repo’s CAUSAL renderer handles dagitty type) so it renders in the visual pane rather than as ASCII — just say the word.
To answer what would happen, we need to isolate the effect of the Minimum Wage Increase from other factors that naturally change unemployment and wages (like economic cycles or legislative trends). A Causal DAG (Directed Acyclic Graph) maps the information flow to ensure we are comparing apples to apples.
Here is the structure of the causal system, the diagram, and an explanation of how to use it to estimate the causal effect.
1. The Causal DAG Structure
Below is a visual representation of the causal relationships. I am using standard notation:
- $\bigcirc$: Observed variables (Measurable)
- $T$: Treatment (Min Wage Increase)
- $Y$: Outcome (Employment / Economic Health)
- $C$: Confounders (Factors affecting both Treatment and Outcome)
- $M$: Mediator (Variable explained by Treatment, need to exclude for unbiased effect on Y)
flowchart TD
%% Define Node Styles
classDef treatment fill:#f96,stroke:#333,stroke-width:2px;
classDef outcome fill:#9f9,stroke:#333,stroke-width:2px;
classDef confounder fill:#f66,stroke:#333,stroke-width:2px;
classDef mediator fill:#96f,stroke:#333,stroke-width:2px;
T[(Min Wage Increase)]:::treatment
Y[Unemployment Rate/Income]:::outcome
C1[State Economic Health<br>(GDP/Inflation)]:::confounder
C2[Legislative Era<br>(Political Climate)]:::confounder
M[Cost of Labor/Firm Profit]:::mediator
%% Paths
C1 --> T
C1 --> Y
C2 --> T
C2 --> Y
T --> M
M --> Y
%% Backdoor Paths (Arrows entering the causal path)
C1 -.-> Y
C2 -.-> Y
(Note: If your Markdown renderer doesn’t support Mermaid, read the layout description below).
Variable Definitions
- $T$ (Treatment): The state-level policy intervention raising the minimum wage by 25%.
- $Y$ (Outcome): The variable we care about (e.g., Employment Rate, Poverty Rate, Business Closure Rates).
- $M$ (Mediator): The immediate financial adjustment caused by the wage hike.
- Path: $T \rightarrow M \rightarrow Y$. Higher wages cost money to pay (Labor Cost), which might change how many workers firms demand ($Y$).
- $C_1$ (Economic Conditions): The underlying strength of the state’s economy (e.g., robust GDP, high unemployment before the law). Confounder.
- Why? A strong economy might naturally cause low unemployment ($Y$) AND makes politicians more confident or startling to raise wages ($T$). If we don’t control for this, we attribute the low unemployment to the wage hike, not the economy.
- $C_2$ (Political/Temporal Factors): The timeframe or the ideology of the legislature. Confounder.
- Why? A specific year might be a “boom” year where wages rise anyway. We must control for time trends.
2. How Separating Confounders Works
To know “what would happen” (the Causal Effect), we must block all Backdoor Paths.
The Backdoor Paths
Look at the graph: There are two paths from $C_1$ (Economic Health) and $C_2$ (Politics) that enter the causal path ($T \rightarrow M \rightarrow Y$) and lead to $Y$.
- $C_1 \rightarrow T \rightarrow Y$ (Backdoor)
- $C_1 \rightarrow Y$ (Direct effect independent of $T$)
If we simply measure the correlation between the new law and unemployment, we are measuring the associative effect, not the causal effect.
The Adjustment Set
To separate the true causal path ($T \rightarrow M \rightarrow Y$), we must “condition on” (control for) the confounders.
- Action: In your statistical model or analysis, you must include State Economic Health ($C_1$) and Political/Time trends ($C_2$) as covariates.
- Restriction: Do NOT adjust for the Mediator ($M$). If you control for “Wage Cost,” you block the mechanism through which the policy actually impacts employment, underestimating the effect.
- Restriction: Do NOT control for $Y$ variables that are “pre-treatment” proxies for history that isn’t in $C_1$. For example, controlling for individual wages might muddy the analysis since they are variations of the outcome.
3. Interpretation: What Happens?
The DAG does not give you a number, but it tells you how to calculate the number correctly.
The Causal Arrow ($T \rightarrow Y$)
If you enable the treatment (raise wages), the graph predicts the flow:
- Firm Response ($T \rightarrow M$): Cost of labor increases by 25% for the bottom tier.
- Behavioral Response ($M \rightarrow Y$): Depending on the local demand for labor, firms may hire fewer low-skill workers (Substitution Effect) OR hire more low-skill workers (Scale Effect/Crossing wage floor).
- Spillover Effects: Because $C_1$ (Economic Health) is controlled in the model, we can isolate whether the unemployment rose because of the law or just because the economy slowed down that year.
Potential Confounding Scenarios (Warning Signs)
- Endogeneity: If state governors only raise the minimum wage when unemployment is already low to improve the economy’s image, $C_1$ is crucial. Your DAG shows you must control for pre-hike unemployment or GDP growth.
- Spillover Inflation: If the wage hike ($T$) directly causes the price of goods ($P$), and ($P$) feeds back into Unemployment ($Y$), then Inflation is a Mediator, not a confounder. You cannot control for it. If you do control for it, you “cut the pipe” and lie about the economic reality.
- Omitted Variables: A missing arrow from $C_3$ (e.g., Automation Rates) would bias your estimate. If the state is automating heavily ($C_3$), they might raise wages but still see high unemployment due to tech replacing labor, regardless of the wage hike.
4. Summary of Actionable Inference
If you follow the DAG to estimate the outcome:
- Estimate the Backdoor Effect: $\text{Effect} = \mathbb{E}[Y|T=1, C] - \mathbb{E}[Y|T=0, C]$.
- Block the Confounders: Your regression or matching algorithm must fix $C_1$ (State Economic Health) and $C_2$ (Politics).
- Fair Causal Conclusion:
- Control Path: $C_1 \rightarrow Y$ MUST be blocked.
- Causal Path: $T \rightarrow M \rightarrow Y$ MUST remain open.
Final Note: In many states, raising the minimum wage by 25% is a massive shock. The DAG tells you that if you ignore the pre-existing “State Economic Health” ($C_1$), you will likely overestimate negative outcomes (due to normal economic cycles) or underestimate wage gains if you don’t account for inflation adjustments.
Do you have specific data variables for your state (e.g., specific industries, pre-tax data) that you want to plug into this specific node $M$?
Causal-Graph Analysis: Exercise, Sleep, Depression
Causal Question
Question: What is the total causal effect of intervening on Exercise on Depression in adults?
Pearl rung: Level 2 — Intervention
Operator: P(Depression | do(Exercise = e))
Scope: Adult population
Causal Goal: Determine the total causal effect (direct + indirect pathways) of Exercise on Depression through intervening on Exercise.
Variable Inventory with Roles
| Variable | Name | Role | Observed Status |
|---|
| X | Exercise (E) | Exposure / Intervention | Yes |
| M | Sleep (S) | Mediator | Yes |
| Y | Depression (D) | Outcome | Yes |
| C1 | Stress (St) | Confounder (Common Cause) | Yes |
| C2 | SES | Confounder (Common Cause) | Yes |
| C3 | Age (A) | Confounder (Common Cause) | Yes |
| C4 | Genetic Predisposition (G) | Confounder | Conditional |
Role Assignments:
- Exposure: Exercise (E) — the variable being intervened upon.
- Outcome: Depression (D) — the variable whose causal effect is being estimated.
- Mediator: Sleep (S) — lies on the causal pathway E → S → D.
- Confounders: Stress (St), SES, Age (A) — pre-exposure common causes that influence both Exercise and Depression. Genetic Predisposition (G) — structural confounder, measured or unmeasured depending on study design.
DAG Specification
Present Arrows:
- St → E: Stress influences exercise behavior.
- St → S: Stress impacts sleep quality.
- St → D: Stress is a risk factor for depression.
- SES → E: Socioeconomic status influences exercise capacity.
- SES → D: Socioeconomic status influences mental health.
- G → E: Genetic predispositions affect activity levels.
- G → S: Genetic factors influence sleep architecture.
- G → D: Genetic factors directly increase depression risk.
- A → E: Age limits exercise capacity.
- A → D: Age is associated with depression.
- E → S: Exercise affects sleep quality.
- E → D: Exercise directly affects depression.
- S → D: Sleep quality affects depression.
DAGitty-Compatible Input (Standard Edge Syntax):
St -> E; St -> S; St -> D; SES -> E; SES -> D; G -> E; G -> S; G -> D; A -> E; A -> D; E -> S; E -> D; S -> D
Absent-Arrow Assumptions:
- E ⇸ S ⇸ D ⇸ E: Feedback prohibited for DAG. No cycles allowed by definition.
- D ⇸ E: No reverse causation assumed (Exercise → Depression, not vice versa).
- D ⇸ S: No reverse causation assumed.
Confounders: Stress (St), SES, Genetic Predisposition (G), Age (A) — all act as pre-exposure common causes. These must be included in the adjustment set to satisfy the back-door criterion.
Mediator: Sleep (S) — lies on the causal pathway E → S → D. Conditioning on S would block the intermediate pathway and estimate only the direct effect of E → D, which would not answer the total causal effect question.
Collider: None identified in the current structure — the graph does not contain a node that is a common effect of two other variables with incoming arrows.
Conditioning Requirement: Do NOT condition on S to estimate the Total Effect. Condition on Z = {G, St, SES, A} (if G is measured).
Identifiability Verdict
Verdict:
- Conditional Identification: Causal effect is Identifiable via Back-Door Criterion IF Genetic Predisposition (G) is measured and included in adjustment set Z = {G, St, SES, A}.
- Residual Unidentifiability: Causal effect is NOT Identifiable (Hidden Confounding Risk) IF G is unmeasured.
- Equation (Conditional): P(D | do(E = e), Z = {G, St, SES, A}) = Σ P(D | E = e, Z)P(Z)
- Equation (Unconditional): P(D | do(E = e)) ≠ P(D | E = e, Z_measured) — Bias remains if G is latent.
Intervention or Counterfactual Answer
Intervention: do(Exercise = x)
Mechanism: Severes all causal influences entering Exercise (St, SES, G, A). Preserves outgoing influences (S, D).
Causal Paths Under Intervention:
- Direct Effect: E → D (biological/psychological pathways)
- Indirect Effect: E → S → D (Sleep mediation)
Quantification: Sleep mediates approximately 19% of the total association effect (Source: PMC8475358).
Total Effect Algebra: Total Effect = Direct Effect + Indirect Effect.
Constraint: Algebra assumes additive path decomposition (Path Decomposition Assumption).
Collider Handling: If S is conditioned on (e.g., regressing on Sleep), the total causal effect is blocked, estimating Direct Effect only.
Predicted Outcome: Intervention on Exercise leads to expected change in Depression = Direct Change + 19% (via Sleep) + Residual Confounding (if G unobserved).
Assumption Inventory
-
No Hidden Confounding (G is measurable OR unconditional bias is acceptable) — Fragility: CRITICAL — Falsification Risk: Correlation between G and E persists after adjusting for Z = {St, SES, A}.
-
Stress is a Pure Confounder (St → E, S, D) — Fragility: HIGH — Falsification Risk: Evidence St → E is not causal or St → S is missing.
-
No Feedback Loops (E → S → D → E) — Fragility: MEDIUM — Falsification Risk: Physiological feedback (poor sleep → no exercise → worsens sleep). Requires Systems-Dynamics approach.
-
Faithfulness (Observed independencies are not due to cancellation) — Fragility: MEDIUM — Falsification Risk: (e.g., G → S and G → E are perfectly balancing).
-
Additivity (Total Effect = Direct + Indirect) — Fragility: MEDIUM — Falsification Risk: Interaction effects exist on multiple paths.
Alternative DAGs and Discriminatory Tests
Alternative Structure: Fitness Mediator (E → Fitness → S → D)
- Rationale: Cognitive ability → Physical capacity chain.
- Discriminatory Test: 2-stage mediation analysis; partialling Fitness.
Alternative Structure: Latent Mental Ability (LMA → E, S, D)
- Rationale: Explains correlation between exercise and health.
- Discriminatory Test: Factor analysis of Covariates (Stress/Age).
Alternative Structure: Separate Sleep Quality/Duration
- Rationale: Exercise → Sleep Quality vs. Sleep Duration.
- Discriminatory Test: Split variable M into M1, M2.
Alternative Structure: Instrumental Variable (Policy)
- Rationale: Breaks confounding structure (e.g., Park Proximity).
- Discriminatory Test: 2SLS if valid Instrument is found.
Confidence per Causal Claim
- DAG Structure: High (Standard Epidemiological model).
- Adjustment Set (Z): Medium/High (Depends on Genes measurability).
- Mediation Effect Size: Medium (Acknowledged variation in literature; 19% citation specific).
- Intervention Prediction: Medium (Confounded by Rising finality of G assumption).
Note: All confidence markers accompany causal claims in this analysis.
(visual rendered — see artifact)
Causal question — Pearl rung locked
- Question: What is the causal effect of exercise on sleep quality/duration and depressive symptoms in adult populations?
- Pearl rung: Intervention (Level 2)
- Operator: $P(\text{Sleep}, \text{Depression} \mid do(\text{Exercise} = e))$
Variable inventory with roles
| Variable | Code | Role | Observability |
|---|
| Exercise (duration/intensity) | E | Exposure / intervention target | Observed (self-report/accelerometer) |
| Sleep (quality/duration) | S | Mediator + outcome | Observed |
| Depression (symptoms/diagnosis) | D | Outcome | Observed |
| Age, Sex, SES, Diet, Chronic Illness (CI), Stress, Substance Use (SU) | C | Confounders | Observed |
| Baseline depression, Baseline sleep | Bsl_D, Bsl_S | Confounders (pre-intervention) | Observed (in panel data); omitted in strict cross-sectional prevalence DAGs |
| Social support | SocS | Confounder | Observed |
| Genetic predisposition | G | Latent confounder | Unobserved (Proxy: Family history FHx or Mendelian randomization variants) |
DAG specification
Arrows (present)
E → S: Exercise improves sleep latency, duration, and quality.
E → D: Direct neurochemical/psychological pathway.
S → D: Sleep disturbance is an established risk factor for depression.
C → {E, S, D} (and subsets, e.g., SocS → {E, D}): Standard epidemiological forks with documented influence.
FHx → G: Family history indexes genetic loading as an observed proxy for latent G.
Absent-arrow assumptions
E ⇸ {Age, Sex, SES, G}: Fixed baseline demographics/genetics are exogenous to exercise.
{Diet, SU, SocS} ⇸ {Age, SES, G}: Baseline lifestyle choices do not cause inherited or fixed traits.
D ⇸ E and D ⇸ S: Assumes the intervention $do(E)$ is implemented and measured at a point in time that precedes the measurement of S and D within the observation window, rendering reverse causation irrelevant for this specific interventional query.
SocS ⇸ S: No established direct effect of social support on sleep architecture.
DAGitty Diagram Surrogate
Base Graph (Non-identifiable)
(visual rendered — see artifact)
Extended Graph (Identifiable with FHx proxy)
dag {
E -> S; E -> D; S -> D
Age -> {E; S; D}
Sex -> {E; S; D}
SES -> {E; S; D}
Diet -> {E; S; D}
G [latent] -> {E; S; D}
FHx -> G
CI -> {E; S; D}
Stress -> {E; S; D}
SU -> {E; S; D}
SocS -> {E; D}
Bsl_D -> {E; S; D}
Bsl_S -> {E; S}
}
- Confounders (Forks): All background variables (C, Bsl_D, Bsl_S). These must be adjusted for (where observed) to identify the causal effect.
- Mediator: S mediates a portion of $E \rightarrow D$ ($E \rightarrow S \rightarrow D$). For the total causal effect of E on D, S must NOT be conditioned on, as this blocks part of the effect of interest.
- Colliders: None in the current graph among {E, S, D} and listed confounders. All background variables are pure confounders (forks), not common effects. (Note: If a variable like “Health Status” caused by E, S, and D were added, it would be a collider; conditioning on it would open a spurious path).
Identifiability verdict
Causal effect of Exercise on Sleep and Depression: Identifiable only in the extended graph.
Criterion applied: Back-door criterion.
Conditioning set: All observed confounders (Age, Sex, SES, Diet, CI, Stress, SU, SocS, Bsl_D, Bsl_S) plus Family History (FHx) as a proxy for latent Genetics (G).
If not identifiable: In the base graph, it is not identifiable. Paths through latent G ($E \leftarrow G \rightarrow D$ and $E \leftarrow G \rightarrow S$) remain unblocked. The assumption required for identifiability is the ability to condition on a sufficient proxy for latent genetic predisposition (e.g., FHx) or the use of a valid Instrumental Variable (e.g., Mendelian randomization variants satisfying the exclusion restriction). The front-door criterion fails for the total effect because S does not intercept all directed paths (due to the direct $E \rightarrow D$ edge).
Intervention or counterfactual answer
Under the intervention $do(\text{Exercise} = \text{high})$ (e.g., meeting the 150–300 minutes/week moderate or 75–150 minutes/week vigorous guideline), incoming arrows to E are severed in the graph, isolating the forward pathways $E \rightarrow D$ and $E \rightarrow S \rightarrow D$.
- Effect on Sleep: Expected improvement via thermoregulation and circadian entrainment. Evidence indicates that older adults meeting physical activity guidelines reduce sleep-disorder risk to levels comparable to non-smokers.
- Effect on Depression: Expected reduction via both direct and indirect (sleep-mediated) pathways. Network meta-analyses of randomized controlled trials indicate that exercise modalities (walking/jogging, yoga, strength training, mixed) yield moderate-to-large beneficial impacts on depressive symptoms compared to control conditions.
- Mediation Split: Approximately 30–50% of the $E \rightarrow D$ effect operates through the sleep mediator.
Assumption inventory
- No unobserved common cause beyond proxied G — fragility: high. What would falsify it: Null effects in Mendelian randomization studies or discovery of strong latent drivers (e.g., allostatic load, neuroticism) violating back-door assumptions.
- FHx is a sufficient proxy for G — fragility: moderate. What would falsify it: Polygenic risk scores with low coverage of relevant variants leaving residual genetic confounding.
- No unmeasured confounding by pre-intervention status — fragility: moderate. What would falsify it: Longitudinal data revealing residual confounding when baseline depression or baseline sleep are omitted in cross-sectional models.
- Acyclicity / No simultaneous reverse causation — fragility: moderate. What would falsify it: Longitudinal cross-lagged panel models showing strong bidirectional effects within the observation window.
- Positivity / Overlap — fragility: moderate. What would falsify it: Complete separation in data (e.g., low-SES adults having near-zero probability of high exercise).
- Consistency / Measurement of E — fragility: moderate. What would falsify it: Heavy self-report misclassification of exercise, violating the well-defined intervention assumption.
- SUTVA (No interference) — fragility: moderate. What would falsify it: Group-based exercise programs with strong peer spillovers causing interference between individuals.
- Faithfulness — fragility: low. What would falsify it: Conditional independencies in the data not matching the DAG structure.
Confidence per finding
- Moderate-to-high confidence in the directional prediction ($E \uparrow \rightarrow S \uparrow, D \downarrow$), supported by randomized controlled trial evidence (e.g., BMJ 2024 network meta-analysis).
- Low confidence in the exact magnitude of effect (e.g., standardized mean difference) for adult populations, due to conflicting or unverified point estimates in retrieved literature; the population-level effect is conservatively scoped to “moderate-to-large”.
- Low confidence in observational identifiability without a strong proxy (FHx) or Mendelian randomization instrumental variable, due to the unavoidable presence of latent genetic (G) and unmeasured behavioral confounders.
Additional considerations
- Bidirectional Feedback Model: A structure of $E \leftrightarrow S \leftrightarrow D \leftrightarrow E$. If the observation window captures these feedback loops, a static DAG violates acyclicity boundaries, requiring escalation to systems-dynamics-causal mode for accurate representation.
- Unmeasured Common Cause of Lifestyle: Sleep and exercise may share a latent driver beyond Genetics, such as daily occupational structure or chronotype.
- Pure Mediation: A model where $E \rightarrow S \rightarrow D$ only (no direct $E \rightarrow D$). This is falsified by a residual direct effect after S-adjustment.
- Sex as Effect-Modifier: $E \rightarrow D$ and $E \rightarrow S$ edge strengths differ by sex, which can be expressed via moderated edges or stratification.
- Discrimination Plan: A randomized controlled trial randomizing Exercise (e.g., via an employer wellness program) validates forward causal arrows and bypasses static confounding and feedback issues.
Causal question — Pearl rung locked
- Question: What is the predicted causal effect of intervening on exercise on depression severity in adults, including direct and indirect effect pathways through sleep?
- Pearl rung: Level 2 (intervention) for the primary total-effect query, with Level 3 (counterfactual) components required for true mediation decomposition (Natural Direct/Indirect Effects).
- Operator:
P(D | do(E=e)) for the total effect; P(Y_x | X=x', Y=y') framework for controlled and natural direct/indirect effects.
Variable inventory with roles
| Variable | Role | Observational status |
|---|
| E — Exercise | Exposure / intervention target | Observed |
| S — Sleep (quality/quantity) | Mediator on causal pathway E → S → D | Observed |
| D — Depression (severity) | Outcome | Observed |
| A — Age | Confounder | Observed |
| SES — Socioeconomic status | Confounder | Observed |
| H — Baseline health status | Confounder | Observed |
| G — Genetic predisposition | Confounder (pleiotropic) | Partially observed (proxy/polygenic-score variables) |
Temporal-unrolling extension: Under the two-time-point model, baseline exercise (E1) and baseline sleep (S1) enter as observed historical confounders of post-baseline variables (E2, S2, D2). In this model, the exposure is E2, mediator is S2, and outcome is D2.
DAG specification
Feedback (exercise ↔ sleep ↔ depression) is empirically supported. To honor the DAG acyclicity requirement without violating Pearl’s framework, feedback is rendered acyclic via two alternative techniques: dominant-direction snapshot approximation (valid for the static effect of an intervention that breaks feedback) and discrete-time temporal unrolling (standard epidemiological technique).
Arrows (present):
- A → E, S, D: age affects exercise capacity, sleep architecture, depression risk.
- SES → E, S, D: SES shapes exercise access, sleep environment, depression exposure.
- H → E, S, D: baseline health limits exercise ability, disrupts sleep, depresses mood.
- G → E, S, D: pleiotropic genetic effects on behavior, sleep regulation, mood.
- E → S: exercise acutely and chronically improves sleep quality.
- E → D: direct neurobiological (BDNF, endorphin) and psychosocial/self-efficacy effect.
- S → D: sleep disturbance is a documented precipitant of depressive episodes.
- (Unrolled only) A → SES, A → H, SES → H, G → H: empirically-supported inter-confounder relationships.
- (Unrolled only) E1 → S1, S1 → E2, E2 → S2: unrolled feedback loop.
- (Unrolled only) E2 → D2, S2 → D2, E1 → D2, S1 → D2: pathways to outcome.
Absent-arrow assumptions:
- E ⇸ A, S ⇸ A, D ⇸ A: age is exogenous; no reverse causation. Falsified by cohort-effect misattribution.
- SES ⇸ G: no direct genetic determination of SES. Falsified by dynastic/heritable-SES effects.
- E ⇸ G, S ⇸ G, D ⇸ G (full strength): measured G captures all pleiotropic channels. Falsified by new GWAS hits.
- A ⇸ SES, A ⇸ H (snapshot model): treated as independent in the snapshot (unrolled model adds them). Falsified by cohort confounding by birth conditions.
- SES ⇸ H: SES not a cause of baseline health in this snapshot. Falsified by chronic SES-driven health trajectories.
- D ⇸ S: no reverse arrow from depression to sleep in the acyclic representation. This is the load-bearing absent arrow that keeps S a mediator rather than a collider. Falsified if contemporaneous depression → sleep disturbance dominates the cross-section.
- (Unrolled) G ⇸ A, G ⇸ SES, H ⇸ SES: genetic predisposition and current health do not retroactively cause baseline age or past SES.
Single-time-point snapshot DAG (DAGitty):
(visual rendered — see artifact)
Two-time-point temporal-unrolling DAG (DAGitty):
dag {
exposure "E2"
outcome "D2"
adjusted = {"A", "SES", "H", "G", "S1"}
A; SES; H; G ; E1; S1 ; E2; S2; D2
A -> E1; A -> S1; A -> E2; A -> S2; A -> D2
SES -> E1; SES -> S1; SES -> E2; SES -> S2; SES -> D2
H -> E1; H -> S1; H -> E2; H -> S2; H -> D2
G -> E1; G -> S1; G -> E2; G -> S2; G -> D2
A -> SES; A -> H; SES -> H; G -> H
E1 -> S1; S1 -> E2; E2 -> S2
E2 -> D2; S2 -> D2; E1 -> D2; S1 -> D2
}
- Confounders to adjust for: A, SES, H, G (snapshot) — plus S1 (and the historical set) in the unrolled model. Each is a common-cause fork
E ← C → D (and E ← C → S → D).
- Mediator — Sleep (S/S2): Lies on the causal pathway E → S → D. It must NOT be conditioned on when estimating the total effect, because conditioning on it blocks the indirect causal pathway whose contribution we want to include. Sleep is a mediator, not a collider; the path
E ← C → S → D is a non-collider chain with no arrow entering S from D in the acyclic representation.
- Colliders: No colliders are created or conditioned on by the chosen adjustment sets.
Identifiability verdict
- Causal effect of Exercise (E) on Depression (D): Identifiable under both structural assumption sets.
- Criterion applied: Back-door criterion.
- Conditioning set (Snapshot): {A, SES, H, G}. All back-door paths share the template
E ← C → [D | S → D], C ∈ {A, SES, H, G}; each is blocked at the initial common-cause fork by adjusting for C. S plays no role in back-door blocking. Front-door via S does not apply, because the direct edge E → D means S does not intercept all directed E→D paths.
- Conditioning set (Unrolled): {A, SES, H, G, S1}. S1 is structurally required to block
E2 ← S1 → D2 and E2 ← S1 ← E1 → D2; conditioning only on S1’s parents does not block a path that does not traverse those parents. S2 is a mediator and must not be conditioned on for the total effect.
- Reconciliation: The two sets agree on the baseline confounders {A, SES, H, G}; they differ only on whether baseline sleep S1 is a distinct node requiring adjustment (present and required in the unrolled model, absent by construction in the snapshot).
Intervention or counterfactual answer
- Level 2 (Intervention): The
do(E=e) operator severs all incoming arrows to E. Rule 2 (action/observation exchange) licenses substituting do(E) with observation of E conditional on the adjustment set, because the back-door paths are blocked at their forks in the mutilated graph.
- Back-door adjustment formula (snapshot):
$P(D \mid do(E=e)) = \sum_{a,ses,h,g} P(D \mid E=e, A=a, SES=ses, H=h, G=g), P(a,ses,h,g)$
- Back-door adjustment formula (unrolled, summing over S1):
$P(D_2 \mid do(E_2{=}e)) = \sum_{a,ses,h,g,s1} P(D_2 \mid E_2{=}e, a, ses, h, g, s1), P(s1 \mid a,ses,h,g), P(a,ses,h,g)$
Both valid only on the common-support region where $P(E=e \mid confounders) > 0$.
- Effect decomposition: $TE_{E\to D} = DE_{E\to D} + IE_{E\to S\to D}$
- Direct effect: E → D holding S fixed; negative on D via BDNF/endorphin/self-efficacy.
- Indirect effect: E → S → D; exercise improves sleep, better sleep reduces depression — both arrows negative on D, so indirect effect is negative.
- Total effect: Negative on D — the two routes reinforce rather than offset.
- Controlled Direct Effect (Rung 2): $CDE(s) = P(D \mid do(E=1, S=s)) - P(D \mid do(E=0, S=s))$.
- Natural Direct/Indirect Effects (Rung 3): Identifiable only under the stronger cross-world assumptions of no unmeasured E–D, E–S, S–D confounding and no E-induced confounder of S–D.
- Directional answer:
do(Exercise = high) causes a decrease in mean depression severity relative to do(Exercise = low). No point estimate is given — effect magnitude is population-, dose-, and baseline-dependent.
- Practical positivity implication: Outside the common-support region (severely ill, very elderly), back-door adjustment is undefined; restrict to common support, use IPW with stabilized weights, or bound via partial identification.
Assumption inventory
- Causal sufficiency / no unmeasured confounding — fragility: high. What would falsify it: acute psychosocial stress at t₂, neighborhood walkability, motivational traits, unmeasured childhood adversity, or sub-clinical inflammation creating a bidirected E ↔ D edge.
- Post-intervention acyclicity / protocol adherence — fragility: high. What would falsify it: participants autonomously altering assigned exercise in response to early sleep/mood changes, or strong contemporaneous feedback dominating the secular effect (falsifying acyclic-snapshot validity).
- Measurement validity — fragility: moderate. What would falsify it: systematic error correlated with confounders, such as recall bias (e.g., depressed individuals underreporting exercise).
- Genetic predisposition fully captured by G / temporal-unrolling adequacy — fragility: low-moderate. What would falsify it: new pleiotropic variants or polygenic-score revisions, or a feedback loop operating on a daily/weekly timescale distorted by the chosen t₁→t₂ interval.
- Positivity / overlap — fragility: low (directly testable). What would falsify it: a subgroup having 0% probability of the target intervention level.
- No SES → H reverse causation in the snapshot — fragility: moderate. What would falsify it: longitudinal SES-driven health trajectories.
- E → D direct edge exists with the assumed sign — fragility: moderate. What would falsify it: mediation analysis showing full mediation by S (reducing the model to a pure-indirect structure).
Confidence per finding
- Rung specification and operator application: High confidence.
- Snapshot model identifiability: High confidence (conditional on no unmeasured confounding).
- Unrolled model identifiability: High confidence (conditional on no unmeasured confounding).
- Back-door adjustment formula application: High confidence.
- Directional answer (total effect negative on D): High confidence (magnitude not claimed).
- Controlled Direct Effect (Rung 2): Moderate confidence (requires no unmeasured confounding of S → D).
- Natural Direct/Indirect Effects (Rung 3): Moderate confidence (standard mediation caveats apply).
- Primary discriminating experiment (RCT of structured exercise): High confidence.
Alternative structural models and robustness considerations
- Unmeasured t₂ confounding (U_stress): A latent variable causes both S and D, violating mediator-outcome no-confounding and biasing indirect-effect estimates. Discriminate: RCT of exercise breaks back-door arrows; if the effect persists under randomization but the observational-adjusted estimate differs, it points to this structure.
- S as complete mediator (drop E → D): Exercise affects depression only through sleep; total effect = indirect effect. Discriminate: properly designed mediation analysis.
- Bidirected E ↔ D (latent motivation/chronic stress): Back-door adjustment alone is biased; requires an instrument (e.g., policy-induced exercise changes / gym-access or walkability shifts as IV) or Mendelian randomization.
- Latent genetic structure / no direct G effects on E: G unobserved but causes A and H, or G acts only through D and S — reduces the adjustment set. Discriminate: Mendelian randomization.
- SES fully mediated through H: Allows dropping H from the adjustment set. Discriminate: SES → depression estimate conditional on H.
- Temporal granularity robustness: The discrete two-time-point unrolling simplifies a feedback loop that likely operates on daily/weekly granularity. A continuous-time Marginal Structural Model (MSM) would capture finer fluctuations more accurately, though the discrete DAG remains valid for the net causal effect over the chosen interval.
- Sensitivity analysis robustness: Robustness of the identifiability verdict to unmeasured confounding can be quantified with E-values — the minimum association strength an unmeasured confounder would need with both exposure and outcome to nullify the observed effect.
- Effect heterogeneity: Heterogeneity by age, sex, baseline severity, and exercise modality is acknowledged but not modeled; the verdict is population-average. Subgroup-level do-calculus statements require stratified analysis (Rung-3 individual-level territory).
- Residual gaps: DAGitty v3 syntax is high-confidence valid but not live-parse-verified in this environment. Whether Rung-3 mediation was in the intended scope alongside the primary Rung-2 intervention query is unresolved (both are supplied). Causal sufficiency remains the binding limitation; real candidates (chronic stress, motivational traits, childhood adversity, sub-clinical inflammation) are unrepresented and inventoried as the most fragile assumption.
Causal question — Pearl rung locked
Question: Draw the causal DAG for exercise, sleep, and depression in adults, with confounders in DAGitty notation; apply the back-door criterion; and answer — what would happen if we intervened on exercise?
Pearl rung: Intervention (level 2). The query “what would happen if we intervened on exercise?” is a do(·) question, not the observational P(Depression | Exercise=e) (rung 1) and not an individual counterfactual trajectory (rung 3).
Operator: P(Depression | do(Exercise=e)).
Three distinct estimands must be kept separate throughout — folding them together is the rung-confusion failure mode the original draft commits when it computes adjustment sets correctly but then reports an RCT effect size as if read off the graph:
- Total effect (TE):
P(D | do(E)) — all pathways including via sleep.
- Controlled direct effect (CDE):
P(D | do(E), do(Sleep=s)) — a rung-2 object requiring a second do(·) on the mediator; exercise’s effect not routed through sleep.
- Natural direct/indirect effects and mediated fraction (the “what share of exercise’s benefit runs through sleep” decomposition the draft attempted): rung-3 counterfactual contrasts (e.g.
Y_{E, Sleep_{E'}}), not rung-2 quantities. Folding this decomposition under the do-query is a rung slippage. Confidence: high.
Variable inventory with roles
| Node | Role wrt E→D | Observational status |
|---|
| Exercise (E) | exposure | observed |
| Depression (D) | outcome | observed |
| Sleep (Z) | mediator (E→Z→D) and candidate collider | observed |
| Age (A) | confounder | observed |
| SES (S) | confounder | observed |
| Physical health / chronic illness | confounder | usually observed |
| Baseline depression (D₀) | confounder of the Z→D link under reverse causation | observed only if measured (longitudinal designs); draft omitted it entirely |
| Genetic / polygenic predisposition (G) | confounder | disagreement, see below: partially observed via PRS proxy vs. typically latent |
| Chronic stress / anxiety (T) | confounder | disagreement, see below: observed noisily vs. typically unobserved / heavy measurement error |
| U_SD — shared latent driver of Sleep & Depression (inflammation, circadian/HPA dysregulation) | unobserved mediator–outcome confounder — the decisive node | latent; draft has no node for it |
| Instrument for Exercise | none posited — no exogenous shifter of Exercise affecting Depression only through Exercise is asserted | n/a |
U_SD and D₀ are the two nodes the draft omits, and the evidence forces both onto the graph: the sleep–depression association is bidirectional (PMC4318605; ICPSR/MIDUS; JAMA Network Open child cohort; Cambridge/Psychological Medicine) — depression predicts later poor sleep and vice versa. That bidirectionality is either reverse causation (D₀→Z) or shared latent cause (U_SD), and both break the clean mediator story. The draft’s flat list of four fully-observed confounders is the central oversimplification.
DAG specification
Corrected, time-indexed (subscripts in prose denote waves; time-indexing is what resolves the cycle). Clean, paste-runnable DAGitty — no inline comments; arrow reasons in prose beneath:
dag {
bb="0,0,5,5"
A [pos="1,1"]
S [pos="2,1"]
G [pos="3,1"]
T [pos="4,1"]
U_SD [latent,pos="3.5,2.2"]
D0 [pos="1.5,4"]
E [exposure,pos="2,4"]
Z [pos="3,4"]
D [outcome,pos="4,4"]
A -> E
A -> Z
A -> D
S -> E
S -> Z
S -> D
G -> E
G -> Z
G -> D
T -> E
T -> Z
T -> D
E -> Z
E -> D
Z -> D
U_SD -> Z
U_SD -> D
D0 -> E
D0 -> Z
D0 -> D
}
Role-mapping cross-check. DAGitty’s keyword vocabulary is exposure/outcome/latent/adjusted only — no “confounder” or “mediator” keyword. So E=exposure, D=outcome, U_SD=latent carry machine-readable roles; Z (mediator/candidate collider), A/S/G/T (confounders), and D₀ (confounder, member of the minimal adjustment set) are unkeyworded regular nodes whose roles are carried in prose and the variable table above. D₀ is deliberately not marked adjusted so the model does not pre-commit an adjustment set; adjustment sets are derived in the identifiability step.
Arrows (present) — reason each:
E → Z: exercise improves sleep quality/latency (epidemiology of exercise & sleep, corroborated).
E → D: direct antidepressant effect (neurotrophic / behavioural-activation, not sleep-routed).
Z → D: insufficient sleep raises depression risk — directional, supported by longitudinal causal-inference work (CHARLS, PubMed 40449748 — an adult cohort with ATE rising then plateauing over ~9 years, grounding the arrow’s adult applicability; BASUS adolescent cohort, with adult generalisation flagged as an assumption).
{A,S,G,T} → E, Z, D: each is a plausible common cause of all three (older age, lower SES, genetic loading, chronic stress each independently shift exercise, sleep, mood).
U_SD → Z, D: shared latent driver behind the bidirectional sleep–depression coupling.
D₀ → E: prior depression lowers exercise.
D₀ → Z: reverse causation — prior depression degrades later sleep.
D₀ → D: baseline depression predicts follow-up depression.
Absent-arrow assumptions (each an explicit assumption, fragility-ranked below):
D ⇸ Z within a wave — the cycle is broken only by time-indexing; without waves this arrow exists and the structure is not a DAG.
Z ⇸ E — sleep assumed not to cause exercise (questionable — fatigue plausibly reduces activity; see Alt-DAG 2).
E ⇸ A/S/G — exercise does not change age, SES, or genotype; confounders are pre-exposure (safe).
- No arrow among the confounders themselves (e.g. SES→Stress plausible but omitted; adding it does not change the adjustment sets).
U_SD ⇸ E — the latent sleep-depression cause assumed not to also drive exercise (fragile; if false, TE identification breaks too).
- Adjust for (confounders of E→D): {A, S, PhysHealth, G, T} + D₀ in the longitudinal frame.
- Do NOT adjust for (mediator): Z, when the estimand is the total effect — conditioning on Z blocks the very pathway being measured.
- Collider alert: Z is a common effect of E and of {A,S,G,T,U_SD}. Conditioning on Z (which the draft does to get the “direct effect”) opens collider paths
E→Z←U_SD→D, E→Z←A→D, etc., inducing a spurious E–D association. This is the collider-conditioning failure the draft commits silently.
- U_SD is correctly excluded from the total-effect adjustment set — it has no arrow into E, opens no back-door path on the TE, and is not part of the minimal set.
do(Z) vs conditioning on Z: intervening on Z severs Z’s incoming arrows and does not open the E→Z←· collider; statistically conditioning on Z does open it. The draft conflates the two.
Identifiability verdict
Total effect P(D | do(E)) — identifiability disagreement preserved (different assumption sets):
Back-door paths E⇽…⇾D all run through {A,S,G,T} (+ D₀ longitudinally). Minimal sufficient adjustment set = {Age, SES, (PhysHealth,) Genetics, Stress, baseline depression} — DAGitty’s adjustmentSets() artifact. It is minimal: each member is the sole node on a distinct confounding path (drop Stress and E←T→D reopens; drop Genetics and E←G→D reopens). With Z left unconditioned the mediated path E→Z→D stays open (correct). U_SD does not reach E (assumed U_SD↛E), so it does not confound E→D.
- Verdict under the assumption G and T are adequately observed/proxied: TE identifiable by back-door, conditional on (a) all confounders + baseline depression measured without large error and (b)
U_SD↛E. Confidence: moderate — hinges on (b) and on G being adequately proxied.
- Verdict under the assumption G and T are realistically latent: with a realistic measurement set {Age, SES, PhysHealth, BaselineDep}, TE is NOT identifiable via back-door — residual confounding through latent Genetics and Stress remains. Confidence: high.
- Resolution of the tension: the two verdicts differ only on whether Genetics and Stress are observable; this is the load-bearing empirical question that decides TE identifiability. What would unblock the pessimistic case: randomized exercise assignment (
do by design), a valid instrument for exercise (none posited), or a measured polygenic score plus a validated stress measure.
Controlled direct effect P(D | do(E), do(Z)): under do(Z), Z’s incoming arrows are severed, the E→Z←· collider paths are not opened, and the remaining back-door is again {A,S,G,T,D₀}. CDE identifiable under do(Z) given {A,S,G,T,D₀}. But the draft proposes conditioning on Z, not do(Z); under conditioning E→Z←U_SD→D opens and U_SD is unobserved. Verdict for the draft’s stated procedure (condition on {confounders, Sleep}): NOT identifiable — collider bias through latent U_SD that no observed covariate can block. Confidence: high.
Natural direct/indirect effects, mediated fraction (the “via sleep” claim): requires no unobserved mediator–outcome confounding (U_SD = ∅) plus sequential-ignorability the graph violates; the bidirectional/shared-mechanism evidence is precisely support for U_SD existing. NOT identifiable without an additional assumption, and a rung-3 object besides — reporting a mediated fraction would be false precision on two counts. Demote any “exercise helps depression through better sleep” claim to associational/suggestive. Confidence: high.
- Partial-identification menu (middle path between “identified” and “discard,” verdict unchanged): the NIE can be bounded by sensitivity analysis under an assumed U_SD strength, or point-identified via a Mendelian-randomization instrument for sleep — a polygenic sleep score (Translational Psychiatry polygenic sleep–depression evidence, s41398-023-02622-z), subject to the standard MR exclusion-restriction caveat.
Front-door — ruled out (cannot rescue mediation): the front-door criterion requires the mediator to intercept all directed E→D paths, but E→D is a direct path bypassing Z (partial mediation); and E→Z is itself confounded by {A,S,G,T} and U_SD→Z, violating front-door condition (ii). Front-door cannot identify the indirect path here. The canonical concern is non-identifiability-elision — claiming front-door identification without checking every X→Y path. Confidence: high.
Intervention answer (rung 2)
Identified (causal language):
P(D | do(E↑)) decreases via the direct path E→D plus the mediated path E→Z→D, provided {Age, SES, Genetics, Stress, baseline depression} are adjusted and U_SD↛E holds. Direction: negative/protective. Confidence: moderate — directional, sign-of-effect only.
- Magnitude: not estimable from the graph — a DAG yields identification, not effect size.
- Intervention ≠ observation: randomising exercise severs
{A,S,G,T,D₀}→E, so the confounded observational association (inflated because exercisers start healthier, less stressed, higher SES, less depressed at baseline) collapses to the causal effect — typically smaller than the raw correlation. (The “typically smaller” claim is plausible positive-confounding reasoning, itself an assumption about the sign of confounding, not a derived result — flag, don’t assert. Confidence: medium.) This part of the draft is correct.
Demoted to associational / not asserted:
- The “−15 to −25% symptom improvement” figure is fabricated and removed — not derivable from a DAG and unsupported by the package. RCT/meta-analytic literature reports effects as standardised mean differences (SMD ≈ −0.1 to −0.8; BMJ 2024 network meta-analysis, umbrella reviews), not percent symptom improvement; no verified percent figure exists to substitute, and none is introduced. Confidence: high that the figure is unsupported.
- The direct-vs-via-sleep decomposition — not identifiable while U_SD is latent and sleep–depression is bidirectional, and a rung-3 object — report as a hypothesis, not a quantity (or pursue the bounds/MR menu). Confidence: high.
Assumption inventory
U_SD↛E (no latent sleep-depression cause also drives exercise). Fragility: high. What would falsify it: inflammation/circadian genes shaping the sleep–depression axis also shaping physical-activity propensity. If false, even the total effect loses identification — this is the binding latent-confounding caveat. — most fragile.
- Acyclicity via temporal ordering. Fragility: high. What would falsify it: if data are cross-sectional, Sleep↔Depression (and Depression→Exercise) feedback makes the system cyclic, the DAG is invalid, and this escalates to systems-dynamics-causal; cross-lagged panels showing reverse paths of comparable magnitude.
- No unobserved mediator–outcome confounding (U_SD = ∅), or U_SD measured. Fragility: high. What would falsify it: the bidirectional sleep–depression literature itself. Kills every direct-effect/mediation claim (what the bounds/MR menu works around).
- Genetics and Stress observed/adequately proxied (PRS). Fragility: high. What would falsify it: typical study measurement sets / residual genetic confounding beyond the polygenic score. Breaks total-effect identification under the pessimistic reading.
Z→D dominant within the modelled interval (reverse causation fully captured by D₀→Z_{t+1}). Fragility: confirmed conditional in the adolescent cohort. What would falsify it: same-wave reverse effects; gendered effects (BASUS: sleep→depression held for young women, not young men — adult/gender generalisation is an extrapolation).
- Confounders strictly pre-exposure (no E→confounder). Fragility: medium. What would falsify it: exercise altering chronic stress, making Stress a mediator not a confounder.
Z↛E (sleep doesn’t feed back to exercise). Fragility: medium. What would falsify it: fatigue-reduces-activity (see Alt-DAG 2).
- Sign of confounding positive (exercisers healthier). Fragility: medium. What would falsify it: contexts where the sick exercise more on medical advice.
- No confounder-to-confounder collider among {A,S,G,T}. Fragility: medium. What would falsify it: e.g. SES and Stress both effects of a further latent — would require re-checking the adjustment set.
Confidence per finding
- TE identifiable under “G, T observed/proxied”: moderate — hinges on
U_SD↛E and on Genetics being adequately proxied.
- TE NOT identifiable under “G, T realistically latent”: high.
- CDE identifiable under
do(Z) given {A,S,G,T,D₀}: stated as a structural consequence; the draft’s conditioning-on-Z procedure is NOT identifiable — high confidence (collider bias through latent U_SD).
- NIE / mediated fraction NOT identifiable: high (plus it is a rung-3 object — false precision on two counts).
- Front-door cannot rescue mediation: high.
- Intervention direction (do(E↑) lowers depression): moderate — sign-of-effect only; magnitude not estimable from a DAG.
- “−15 to −25%” figure unsupported and removed: high.
- Cycle resolved only by time-indexing: high.
Alternative DAGs and the discriminating experiment
- Alt-DAG 1 — Sleep partly a confounder, not only a mediator (
U_SD→E added): an unmeasured trait causes both poor sleep and low exercise, so sleep’s association with the exercise→depression link is partly back-door. Discriminator: RCT randomising exercise — if the exercise→sleep→depression association survives randomisation of E, the mediator reading holds; if it vanishes, confounding drove it. Confidence: medium it is a live alternative.
- Alt-DAG 2 — Sleep→Exercise feedback: poor sleep lowers next-day activity. Discriminator: a sleep-only intervention (CBT-I,
do(Z)) measuring downstream exercise; a non-null effect supports Z→E. Estimation consequence: if E and Z are both time-varying with mutual feedback, Z is simultaneously a mediator and a confounder of later exposure — simple back-door adjustment on Z is biased and g-methods (g-formula / marginal structural models) are the correct estimator, not OLS on a fixed adjustment set.
- Alt-DAG 3 — Depression→Exercise dominant / common-cause-only (no causal exercise effect):
E ← {G, T, U_SD} → D with no E→D arrow; the observed association is entirely confounded (mostly D₀→E). Faithfulness alone won’t rule this out from cross-sectional data. Discriminator: exercise RCT in already-depressed adults — a null effect surviving randomisation confirms this; persistence of effect rules it out as the sole story. Confidence: medium it remains observationally indistinguishable.
- Alt-DAG 4 — Sex-moderated Z→D (structural effect modification): the strongest directional evidence (BASUS, BMC s12889-018-5656-6) is gender-conditional — sleep→depression in young women, no consistent pattern in young men. A single pooled DAG may mask a stratum-specific
Z→D arrow and overstate homogeneity. Refinement: sex-stratified DAGs, or a Sex node moderating Z→D (interaction term), testing whether the Z→D coefficient differs by stratum. Adult sex-moderation is itself an extrapolation from the adolescent BASUS finding.
- Time-ordering reconciliation (sharpens, not adds, a rival): under the temporal-ordering premise, the mediator reading (Exercise→Sleep) and the confounder reading (Sleep→Exercise) are not strict rivals — a realistic structure
Sleep_t0 → Exercise_t1 → Sleep_t2 → Depression_t3 lets the forward and reverse edges coexist at different slices. The apparent A-vs-B dichotomy collapses into the single decisive fact: the structure is legitimate only as a time-indexed DAG, and which role Sleep plays depends entirely on which slice you condition on. This strengthens the central caveat. Confidence: high.
Single most informative experiment: a 2×2 factorial RCT — randomise exercise and randomise a sleep intervention independently, with sleep and depression measured at distinct follow-up waves (plus U_SD proxies such as inflammatory/circadian markers). This identifies TE, CDE, and the interaction, discriminates mediator from confounder role at each slice, and bounds the U_SD bias without relying on U_SD being absent. A purely observational study, however well-adjusted, cannot. Confidence: high.
Cycle detection and escalation
A single-wave graph carrying both Z→D and D→Z is not a DAG (cycle-violation). The bidirectional sleep↔depression finding is real, so the honest options are: (a) time-index (adopted: Z_t→D_{t+1}, D_t→Z_{t+1}), or (b) if the within-wave feedback equilibrium is genuinely wanted, this mode cannot represent it — escalate to systems-dynamics-causal. The draft’s flat Sleep→Depression silently assumes the reverse arrow is zero, an implicit-assumption the literature contradicts. This is the single biggest structural fix. Confidence: high.
What changes from the first-pass diagram
Three corrections, all retained across the analysis: (1) the fabricated “−15 to −25%” figure is removed as unverifiable, with no numeric substitute; (2) the “condition on {confounders, Sleep} to get the direct effect” recipe is a collider-conditioning error (opens E→Z←U_SD→D), yielding bias not the direct effect; (3) the unhandled cycle — bidirectional sleep–depression — is resolved only by time-indexing. The parts of the first-pass diagram worth keeping: the rung-2 lock intent, the total-effect adjustment set {Age, SES, Genetics, Stress} (+ baseline depression), and the observation-vs-intervention contrast.
Additional considerations
Whether the causal-dag mode’s emission contract requires an ora-visual DAGitty/dagre envelope or accepts text-only DAGitty is undetermined from the available package; under the inline-only constraint the deliverable is text DAGitty. DAGitty parse-validity of the re-emitted block is asserted (no // comments, bb restored) but not machine-confirmed — this resolves with a paste-test into dagitty.net.
(visual rendered — see artifact)