Skip to content

Extend the Byrne (reading-language-memory) suite: baseline→gain and level↔level associations across waves #409

Description

@frankbuckley

Note

Drafted by a LLM-based AI tool (Claude Code/Fable 5).

Extend the Byrne, MacDonald & Buckley (2002) reading-language-memory (study_id="rlm") suite along two associational axes that are currently thin: (1) baseline levels → gains across periods and (2) associations between levels at each timepoint. This operationalises the still-unbuilt parts of the phased Byrne plan (notes/202607131600-byrne-comparable-models-plan.md, tracked in #338) and is the observational-cohort counterpart to the RLI moderation/mechanism follow-ups (#404, #405). Nothing here is causal: readgrp is an observational cohort factor, so every model ships study_id="rlm", design="historical_cohort", causal_status="none", estimand_type ∈ {descriptive, association}, reported as adjusted associations with the residual-confounding caveat.

Where the suite stands today

Fitted and gate-passing: lrp-rlm-hg-001…009 (per-measure descriptive growth), lrp-rlm-jc-001 (3×3 between-child stable-level correlation matrix; headline basreadbpvs +0.69, 89% CrI +0.53 to +0.81), lrp-rlm-adj-001 + lrp-rlm-hs-001 (wave-1 predictors of the w1→w3 word-reading gain, pooled n = 69; headline age −8.3 items/SD, 89% CrI −12.6 to −4.0). Fitted but gate-failed: lrp-rlm-mm-001 (wave-3 domain-factor measurement model — 143 divergences, max R-hat 1.028). So axis 1 currently exists only as a single outcome (word reading), and axis 2 rests on jc-001 plus a broken measurement model.

Standing gates (decisions, not code — these set the order)

These block most of the work below and are the same gates the plan note enumerates. Please get explicit sign-off before fitting anything Beta-Binomial or group-contrastive:

  1. Instrument ceilings / likelihood per non-basread measure. The Beta-Binomial needs a confirmed denominator; only basread (87) is treated as confirmed. Observed maxima in the extract (basspel 18, woco 31, bpvs 29, trog 20, basdig 34, basnum 60, bassim 18, basmat 22) are not manual-verified. Confirm against the instrument manuals, or choose a Normal/Student-t likelihood on the raw score where a bounded count is inappropriate.
  2. Group scope — pooled three-group (w1–w4) vs Down-syndrome-only as the primary framing, per measure and per phase. Note w5 is DS-only regardless (DS 24→17; Average and reading-matched both drop to zero by w5).
  3. Reading-matched selectionbasread is a selection variable for group 3 (a collider); every between-group contrast or coupling edge touching group 3 must handle this explicitly.
  4. Lagged Byrne DAG green-light — Phase C (below) cannot start until the two-slice wave-unrolled companion to dag/dag-reading-language-memory.dagitty is drawn and the pre-specified vs exploratory reverse edges are agreed.
  5. Provenance — reconcile the 96-vs-97-row discrepancy flagged in data/reading-language-memory/README.md before anything from this cohort is published.

Work items

A. Descriptive exploratory pass — no gates, do first

A notebook/script pass mirroring the RLI descriptive work, committed under notebooks/ or scripts/ with figures under output/exploratory/:

  • Per-wave correlation matrices over the seven measures + age, with the between-child vs within-child decomposition (the RLI reading pair showed 0.82 between vs 0.48 within — the two answer different questions and must be reported separately).
  • RTM-corrected partials: baseline predictor → subsequent gain, given the outcome's own baseline, for every predictor–outcome pair, per group. Raw baseline→gain correlations in this design are regression-to-the-mean-confounded by construction; the partial is the honest descriptive analogue (this is the correction that flipped the taught-vocabulary conclusion in the RLI strand — see Build TR→L and TE→L mechanism models (does taught vocabulary predict letter-sound knowledge?) #405 correction comment).
  • A cheap within-group check on whether adj-001's age signal survives inside each readgrp.

Acceptance: reproducible script, figures as one-figure-per-file (PNG+SVG+CSV), British-English prose, ruff/format:check/spellcheck clean.

B. Rescue lrp-rlm-mm-001 — unblocks axis 2

Reparameterise and refit the wave-3 domain-factor measurement model to clear the gate (143 divergences, R-hat 1.028). Likely levers: non-centred factor parameterisation, tighter loading/scale priors, target_accept up. This is the cleanest summary of construct structure and several axis-2 items build on it, so it comes before them.

C. Axis 2 — associations between levels at each timepoint

  1. concurrent port (lrp-rlm-ca-001 basread-focal, lrp-rlm-ca-002 bpvs-focal): per-wave, mutually adjusted conditional associations over the measure set + age + readgrp (per the group-scope decision). The plan's addendum rates this the strongest un-built item — it is exactly "associations between levels at each timepoint" done adjusted rather than raw-pairwise, and it is the cross-check partner of mm-001. Report the adjusted-vs-bivariate gap per family convention. Adaptation notes: vocabulary collapses to bpvs only (no expressive measure); the conditioning meets the selection hazard head-on for group 3; power is thin (DS-only n = 24/wave, pooled n ≈ 97), so slopes stay strongly regularised.
  2. Deepen jc-001, in rising order of fragility: (i) more measures in the correlation matrix (ceiling-gated); (ii) a within-child companion correlating each wave's departures from the child's stable level (separates "reads well ⇒ remembers well" from "a good year for memory is a good year for reading"); (iii) wave- or group-indexed correlations to test whether coupling tightens/differentiates with development — strong pooling only.
  3. Measurement invariance: repeat the rescued measurement model at w1 and w4 before any longitudinal factor claim. The full long_corr_factor port stays deferred (fragile at RLI n ≈ 54; DS n = 24 is half that).

D. Axis 1 — baseline levels → gains across periods

  1. Widen the outcome set: replicate the adjusted + horseshoe pair (adj-001/hs-001 analogues) for gains in basspel, woco, bpvs, trog, basdig — giving the full "which baseline skills predict growth in which domain" matrix instead of a single word-reading column. Mechanically the existing adjusted port repeated; ceiling-gated.
  2. Use the later waves: adj-001 stops at w3, but the panel runs to w5. A stacked ANCOVA across the four annual transitions with pooled coefficients (the gain_factors machinery minus its causal group term, which collapses into adjusted here) tests whether the predictor profile is stable across development; per-transition coefficients as a sensitivity only, given n.
  3. Down-syndrome-only companion with a reduced, pre-specified 2–3 predictor set (e.g. basdig, bpvs, bassim) so it is informative rather than prior-dominated — the full seven-slope DS-only fit sits at the prior at n = 21 and stays deferred. This is the scientifically central group; the pooled age signal is partly cohort composition.
  4. Baseline ability → trajectory shape (growth-family port, the GC-069/070 analogue the README earmarks): does wave-1 verbal reasoning (bassim — the only w1 ability proxy; basmat starts w3) predict the shape of the reading trajectory, not just the next gain?

E. Phase C — the founding reciprocal question (gated on decision 4)

lrp-rlm-lcsm-001 (latent change-score) and, if the sample stretches, a reduced two-variable lrp-rlm-clpm-001 (cross-lagged): does prior-wave reading predict later language/memory change over and above the forward path — Byrne, MacDonald & Buckley's own founding hypothesis and reported null, put to a modern coupled model. Five annual waves favour it more than RLI's four; DS n = 24 forces pooled couplings with informative priors (a free RI-CLPM stays parked, exactly as RLI judged at n ≈ 54). Requires the lagged Byrne DAG (decision 4). This is the one analysis genuinely distinctive to this dataset — flagging it as the highest-value item conditional on the DAG green-light.

Cross-cohort replication (cheap, high narrative value)

Independently of the heavy cross-study bridge models (lrp-xs-*, explicitly out of scope here), produce side-by-side forests of matched estimands across RLI and Byrne: age → reading gain, verbal memory → reading gain, vocabulary–reading stable correlation. Age already replicates across cohorts; a systematic version is a strong, cheap piece of narrative.

Suggested order

A (now) → B (rescue mm-001) → C1 (ca port) in parallel with D1/D3 → decision 4 → E. B and the descriptive pass A are the immediate unblockers; E is the distinctive science but sits behind the DAG decision.

Acceptance criteria (per model, standard suite conventions)

  • New modules in src/language_reading_predictors/statistical_models/ (lrp_rlm_{family}_NNN.py), each SPEC = ModelSpec(...) + fit(), study_id="rlm", causal_status="none".
  • Registered via module auto-discovery; python scripts/check_statistical_documentation.py --write run and registry-counts.json regenerated; IDs confirmed next-free per family.
  • Thin report templates under docs/models/{model_id}/ reusing the matching _results_* partial; docs/models/README.md Byrne section updated.
  • --config reporting fits pass the convergence gate (R-hat ≤ 1.01, ESS ≥ 400, BFMI ≥ 0.3, 0 divergences); associations reported as median + 50%/89% CrI + P(>0), adjusted-association caveat, adjusted-vs-bivariate gap where the family computes it.
  • ruff check src/, npm run format:check, npm run spellcheck pass.

Related

Parent tracking issue #338; plan note notes/202607131600-byrne-comparable-models-plan.md; DAG proposal notes/202607131500-byrne-dag-proposal.md. RLI-side observational companions: #404 (letter-sound → word-reading moderation), #405 (taught vocabulary → letter-sound knowledge). Reference: Byrne, MacDonald & Buckley (2002), Reading, language and memory skills: a comparative longitudinal study of children with Down syndrome and their typically developing peers, British Journal of Educational Psychology 72(4): 513–529, https://doi.org/10.1348/000709902320634520.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions