Verification checks (P4)
- Determinism: deleted results.json/figure1.png/exclusions.csv, re-ran analysis.py;
cmpwith previous results.json → byte-identical. PASS - Independent recomputation (numpy, hand-coded Bartlett NW with L=4, no df correction): beta, se_hac, se_iid, mean_growth agree with results.json to ~1e-15. PASS
- n_analysed = 240 = 319 − 5 − 73 − 1 (exclusions.csv sums). PASS
- first_quarter = 1960Q1, last_quarter = 2019Q4; no data beyond 2019Q4 or before 1959Q4 enters. PASS
- se_iid > 0, se_hac > 0; CI contains beta_hat; CI half-width / se_hac = 1.95996. PASS
- okun_negative_5pct consistent: beta_hat < 0 and |t_hac| = 7.14 > 1.96. PASS
- Magnitude vs baseline: se_hac/se_iid ≈ 1.80, consistent with residual lag-1 autocorrelation 0.39; beta ≈ −0.26 per 1% q/q growth is in the conventional Okun range (≈ −0.3 to −0.5 per 1pp of annual growth ⇔ ≈ −0.07 to −0.13 per annualised point; q/q not annualised scaling ×4 → ≈ −0.26). PASS
- Units: g is q/q not annualised (mean 0.75%/quarter ≈ 3.0%/yr). PASS
- Bandwidth sensitivity: se_hac ranges 0.0324–0.0371 for L in 1..12; conclusion unchanged. PASS