04 — Deterioration Tracks Trucks Per Lane
Supplied working report; original verdicts not validated.
Review status: Needs review. This is an archival source note, not a passed proof.
README.md
# 04 — Deterioration Tracks Trucks Per Lane **Verdict: not supported as stated** (the coefficient is significant but has the opposite sign to the prediction). ## Summary 94,171 bridges from the FHWA National Bridge Inventory 2023 (CA 21,896; TX 35,210; MN 7,383; PA 19,396; FL 10,286), pooled OLS of deck condition rating (0–9) on log1p(trucks/day/lane) and age (2023 − year built). | Quantity | Trucks/day/lane (log) | Age (years) | |---|---|---| | Joint coefficient | **+0.0023** | −0.0147 | | Standardised coefficient | +0.006 | −0.399 | | Permutation p (2,000) | 0.0305 | 0.0005 | | Bootstrap 95% CI | 0.0003 to 0.0044 | — | | Partial R² (added second) | 0.000 | 0.159 | Headline number: at fixed age, each log-point of trucks per lane is associated with a *0.0023-point higher* deck rating (p = 0.030), the opposite of the predicted decline; the effect grows with state dummies (+0.0055, p = 0.001). Age dominates: deck rating falls 0.015 points per year of age (standardised −0.399, R² = 0.159 of the 0.16 total). Non-parametrically, mean deck rating falls with age quintile (7.34 → 5.94 for the zero-truck bin) while within every age quintile it rises slightly across trucks/lane bins (e.g. oldest quintile: 5.94 → 6.08 → 6.21 → 6.31 → 6.25). ## What this shows and what it cannot show It shows that in this cross-section the load mechanism is not visible as stated: heavier truck traffic does not predict worse decks at fixed age, and the raw trucks/lane–deck correlation (−0.07) is largely an age artefact — older bridges, which rate worse, also carry slightly more trucks per lane (corr(age, log trucks/lane) = +0.08). It does **not** show that truck loading does not damage decks: maintenance and replacement are allocated precisely to the heavily trafficked routes, so the cross-section mixes the damage effect with the repair response, and a longitudinal design would be needed to separate them. ## Limitations 1. **Cross-section only.** Each bridge is observed once, so the estimate conflates deterioration with repair and maintenance allocation; busier routes get more funding and attention, which can raise their ratings relative to lightly used bridges of the same age. This is also the main rival explanation for the sign reversal. 2. **Coarse exposure proxies.** ADT and percent trucks are point-in-time estimates, not the bridge's traffic history; year built records the last major construction, so reconstructed decks appear younger than their loading history. 3. **Ordinal rating.** Deck condition is a 0–9 engineering scale; OLS treats the steps as equal. Some 28.5% of raw records were excluded because the deck item is not coded (N/blank, mostly culverts and structures without decks). 4. **State heterogeneity.** State inspection and coding practices differ (mean deck ratings run 6.26 in CA to 6.84 in FL); the state-dummy model strengthens rather than reverses the positive trucks/lane coefficient. ## Reproducing `python3 run.py` re-derives `results.json`, `data/*.csv` and `figures/*.png` from the cached NBI downloads (see `SOURCE.md`). Seeds: permutation 20261030, bootstrap 20261031.
hypothesis.md
# 04 — Deterioration Tracks Trucks Per Lane **Source:** Incoprea Research library, Vol. XXIX, theory "Bridges" (entries published 30 October 2026). Round-V assignment sheet, test 04. The claim is quoted verbatim from the assignment. ## The posted claim (verbatim) > "Bridge deck deterioration tracks trucks-per-lane more than calendar age." **Prediction:** deck condition rating declines with ADTT per lane at fixed age. **Refutation:** age alone explaining condition would remove the load mechanism. ## What this test does FHWA National Bridge Inventory, 2023 delimited files for five states (CA, TX, MN, PA, FL; fallback to the 2022 files only if the 2023 endpoints do not exist — any substitution is recorded in `SOURCE.md`). The 2023 delimited files are comma-separated with a header row in which each field name carries its NBI item number (verified by inspection of the downloaded file; the fixed-width positions of the older NBI format do not apply to the 2023 files). Records are parsed by those named fields: `YEAR_BUILT_027` (item 27), `TRAFFIC_LANES_ON_028A` (item 28, lanes on the structure), `ADT_029` (item 29), `DECK_COND_058` (item 58), and `PERCENT_ADT_TRUCK_109` (item 109). Derived: trucks/day/lane = ADT × pct_truck/100 ÷ lanes; age = 2023 − year built. Records with deck rating outside 0–9 (including N/blank), lanes < 1, negative or blank ADT, percent truck outside 0–100 (blank treated as 0), or year built outside 1800–2023 are dropped (counts reported). The decisive model is a pooled OLS of deck rating on log1p(trucks/lane) and age (in years), with standardised coefficients, partial R² for each predictor, and a permutation p for the trucks/lane coefficient (2,000 seeded permutations) plus a percentile bootstrap 95% CI (2,000 seeded resamples). A robustness model adds state dummies. The non-parametric view: mean deck rating across a 5×5 grid — age quintiles cut on the pooled sample; for trucks/lane, bin 1 is exactly zero trucks/lane and bins 2–5 are the quartiles of the strictly positive values (the zero mass is too large for a pooled quantile split). ## Pre-specified criteria for this test Decisive model: deck_rating ~ log1p(trucks_per_lane) + age (pooled, no state dummies). - **supported** — the trucks/lane coefficient is negative with permutation p < 0.05, **and** its |standardised coefficient| ≥ the age |standardised coefficient|, **and** partial R²(trucks | age) ≥ partial R²(age | trucks). - **partly supported** — negative and significant (p < 0.05) but not meeting both size thresholds: at least one of |standardised trucks| or partial R²(trucks | age) falls below age's counterpart (i.e. the association is real but age clearly dominates). - **not supported as stated** — insignificant once age is controlled (p ≥ 0.05). ## Notes declared in advance - Deck condition is an ordinal 0–9 engineering rating; OLS on it is standard practice in the bridge-deterioration literature and is the pre-specified tool, not a claim about the latent scale. - Age and trucks/lane are both rough proxies: year built records the last major construction (reconstructed decks reset the clock), and ADT/pct-truck are point-in-time estimates. - Cross-section only: bridges are observed once in 2023, so this tests whether heavier-used decks are rated worse conditional on age, not deterioration rates over time. ## Post-run note (added after the analysis was run, before publication) The pre-specified rules enumerated the negative-significant, positive-but-below-age, and insignificant cases. The data produced a fourth case: a **positive and significant** trucks/lane coefficient. A positive coefficient contradicts the predicted direction, so it is treated as **not supported as stated**; the detail string in `results.json` states the sign explicitly rather than claiming the variable "adds nothing". This note is the only change to the criteria, and it is disclosed here rather than edited into the pre-specified section.