SPB Git

spb/wp29_uqo

Public

# Verification checks (P4)

  1. Clean rerun (deleted results.json/forecasts.csv/exclusions.csv, re-ran analysis.py): results.json byte-identical to previous run — PASS.
  2. forecasts.csv has 32 rows, 8 per (model, horizon) — PASS.
  3. Chronology: train_last_date < origin_date and target_date > train_last_date for all rows — PASS.
  4. Every actual's first_release_vintage_date is strictly after its origin (actuals unknown at forecast time) — PASS (also asserted in analysis.py).
  5. Exclusion ledger: 314 − (152+3) = 159 = n_analysed = n_train of AR model at last origin — PASS.
  6. RMSE ≥ MAE for all 4 model/horizon pairs; all RMSE > 0 — PASS.
  7. rel_improvement = 1 − rmse_model/rmse_naive recomputed independently — PASS.
  8. Revision statistic recomputed independently from current_vintage.csv: per-quarter |cur−first| = .2,.8,.4,.1,.4,1.0,.4,1.2 → mean 0.5625 — PASS.
  9. Each vintage's last value equals the first-release value for that quarter (no data_issue raised by the script) — PASS.
  10. current_vintage.csv used only in revision statistic (code inspection) — PASS.
  11. Magnitudes: model RMSE (1.48/1.40) below naive (2.01/2.27); AR(1) last-origin phi=0.33, intercept 1.77 → unconditional mean ≈2.66%, plausible for post-1985 US growth — PASS.
Files · 76f9a44a3a85fb2bc2b0b370a4ae4eed9b95e579
Menu

Theme