# Verification checks (P4) | check | outcome | |---|---| | Clean re-run of out/analysis.py (results.json and exclusions.csv deleted first) reproduces results.json byte-identically | PASS (cmp identical) | | OLS slope via demeaned formula equals np.linalg.lstsq with intercept (replication 1, tol 1e-10) | PASS (assert in script) | | bias_mc == rho_hat_mean - rho | PASS (|diff|<1e-12) | | bias_mc_se == rho_hat_sd_mc / sqrt(R) | PASS | | bias_mc_se, rho_hat_sd_mc, se_asymptotic > 0 | PASS | | bias_analytical == -(1+3*0.8)/30 = -0.11333 | PASS | | discrepancy_se_units recomputed = -9.855 | PASS | | Exclusion ledger: 20000 raw - 0 removed = 20000 = n_analysed | PASS | | Magnitude vs baseline: bias_mc (-0.1237) same sign/order as bias_analytical (-0.1133); rho_hat_sd_mc (0.149) vs se_asymptotic (0.110) plausible (small-n inflation) | PASS | | Design followed: n=30, rho=0.8, sigma=1, c=0, intercept, stationary y_1, R=20000, seed=20261029 | PASS |