SPB Git

spb/wp29_uqo

Public

# Verification checks (P4)

  1. Clean re-run of out/analysis.py: results.json and forecasts.csv byte-identical (cmp) — PASS.
  2. forecasts.csv: 240 rows, 40 per (model, horizon), no NaN — PASS.
  3. target_date − origin_date = 3h months for every row — PASS.
  4. actual equals infl_annualised of target quarter — PASS.
  5. snaive forecast equals infl of target−4 quarters and that quarter ≤ origin — PASS.
  6. Model uses only quarters ≤ origin (code slices y[:i+1]; assert j-4<=i for snaive) — PASS (by construction).
  7. loss_diff_mean_h4 = rmse_snaive_h4² − rmse_model_h4² (identity) — PASS.
  8. dm_stat_h4 = mean/se; se > 0; hac_lags_h4 = 3 ≥ h−1 — PASS.
  9. RMSE ≥ MAE for every model/horizon — PASS.
  10. Exclusion ledger: 127 −1 −4 −4 = 118 = n_analysed — PASS.
  11. Magnitude vs baseline: model RMSEs 2.19–2.46 vs snaive 2.85–2.88, plausible relative to series sd 2.39 — PASS.
  12. Note (not a failure): DM SE is sensitive to the lag choice (Bartlett L=3: 2.08; L=6: 1.37) because the loss differential has negative higher-order autocorrelation; reported in the report.
Files · 46a1f53512bec3cd5d9c16e8fc9d9da4129c09cc
Menu

Theme