SPB Git

spb/wp29_uqo

Public
1.7 KB · 8 lines markdown
1# Contract — F3-conf-032**Question.** Over 60 monthly forecast origins (2021-09-01 … 2026-08-01), does a ridge regression with a fixed penalty (λ=50) on 8 standardised predictors forecast next-month US IP growth (100·Δln INDPRO) better than (a) the naive last value and (b) the expanding mean of ip_growth since 1992-04?3**Estimands.** Out-of-sample RMSE and MAE at h=1 for naive, mean, ridge; relative RMSE improvements 1−RMSE_ridge/RMSE_baseline. Meaningful as pseudo-out-of-sample accuracy on current-vintage (revised) data with publication lags ignored; not real-time accuracy. 60 errors per model → sizeable sampling uncertainty.4**Ridge spec.** Training rows s ∈ [1992-03, t−1], target ip_growth_{s+1}; features (ip_t, ip_{t−1}, ip_{t−2}, oil_chg, fedfunds, permit_chg, neworder_chg, tcu); standardise with training mean and ddof=1 sd; centre y with training mean; b=(Z'Z+50I)^{-1}Z'(y−ȳ); forecast ȳ+z̃_t·b.5**Outputs.** out/forecasts.csv (180 rows: origin_date,target_date,horizon,forecast,actual,model); out/results.json (task_id, n_origins, first_origin, last_origin, lambda, normalisation_window, n_features, rmse_/mae_ for naive/mean/ridge, rel_improvement_vs_naive/mean, feasibility, feasibility_reason, data_issues, n_input_rows, n_analysed, random_seed); out/report.md (6 sections); out/analysis.py; out/claims.json; plus exclusions.csv and state files.6**Information rules.** At origin t only values dated ≤ t are used; all scaling statistics recomputed on each origin's training window; training targets must be dated ≤ t.7**Invalidity.** Any use of data dated > t (e.g. full-sample standardisation, training row whose target is t+1), missing months, wrong origin set.8
Files · main
Menu

Theme