SPB Git

spb/wp29_uqo

Public
1.7 KB · 20 lines markdown
1# Verification checks (P4)23| # | check | outcome |4|---|---|---|5| 1 | Delete outputs, re-run analysis.py; byte-compare results.json and forecasts.csv with previous run | PASS (identical) |6| 2 | forecasts.csv has 240 rows, 40 per (model, horizon) | PASS |7| 3 | target_date = origin_date + h quarters for every row | PASS |8| 4 | snaive forecast equals infl_annualised of quarter t+h−4, and that quarter ≤ origin | PASS |9| 5 | actual equals infl_annualised of target quarter | PASS |10| 6 | Look-ahead test: model forecasts recomputed with the series physically truncated at the origin (9 origins × 3 horizons) equal the full-data-run forecasts | PASS (0 mismatches) |11| 7 | RMSE/MAE recomputed from forecasts.csv match results.json | PASS (max diff 6e-8, due to 6-dp CSV rounding) |12| 8 | rel_improvement = 1 − rmse_model/rmse_snaive; dm_stat = mean/se | PASS |13| 9 | HAC SE cross-checked against statsmodels OLS-on-constant HAC (Bartlett, maxlags=4, no small-sample correction) | PASS (1.920034 vs 1.920034) |14| 10 | SEs and RMSEs positive; first_origin < last_origin; hac_lags_h4=4 ≥ 3 | PASS |15| 11 | n_analysed = 118 = pairs s∈[1996Q1, 2025Q2] for h=1 at last origin (first ybar4 available 1996Q1) | PASS |16| 12 | Magnitudes vs baseline: model RMSEs (2.30–2.44) below snaive (2.85–2.88), same order of magnitude; sd of target 2.39 | PASS (plausible) |17| 13 | Exclusion ledger: 127 − 1 = 126 usable quarters | PASS |1819Note: sample autocorrelation of d_t at h=4: lag1 0.22, lag3 −0.28, lag4 −0.41. Because of negative higher-order autocorrelation the HAC SE is sensitive to the lag choice (Bartlett lag 3: 2.16, lag 4: 1.92, lag 6: 1.43); reported in sensitivity_dm_h4. None of these variants gives p < 0.05.20
Files · main
Menu

Theme