SPB Git

spb/wp29_uqo

Public

# Verification checks (P4)

check outcome
Clean re-run (deleted results.json, forecasts.csv, exclusions.csv) regenerates byte-identical results.json and forecasts.csv PASS
forecasts.csv has 240 rows, 40 per (model, horizon) PASS
target_date − origin_date = 3h months for every row PASS
actual equals infl_annualised of target quarter PASS
snaive forecast equals infl of target−4 quarters, and that quarter ≤ origin PASS
Model fit uses only rows ≤ origin (assert in analysis.py) PASS
Exclusions: 127 − 1 = 126 quarters with inflation; last estimation sample 2025Q3 window has 122 obs, 118 after 4-lag hold-out = n_analysed PASS
RMSE ≥ MAE > 0 for all six series; SE > 0 PASS (e.g. rmse_snaive_h4 2.88 ≥ mae 2.18)
rel_improvement = 1 − rmse_model/rmse_snaive; dm_stat = mean/se PASS (computed in code)
HAC lag 4 ≥ h−1 = 3 PASS
Magnitudes: model RMSE 2.19–2.46 vs snaive 2.85–2.88, plausible given series sd 2.39 PASS
Sensitivity: DM stat depends on HAC lag (Bartlett L=3:1.36, 4:1.53, 6:2.06, 8:2.37; rectangular L=3:1.67) NOTED — reported as limitation
Files · main
Menu

Theme