SPB Git

spb/wp29_uqo

Public

# Verification checks (P4)

# check outcome
1 Clean re-run (deleted results/figure/table/exclusions, ran analysis.py twice) gives identical results.json PASS
2 Exclusion ledger: 2349 − (0+396+1736+20) = 197 = n_analysed; each row n_before − n_removed = n_after PASS
3 n_countries_in_year (217) − n_excluded_missing (20) = n_analysed (197) PASS
4 effect_ci_low < effect_estimate < effect_ci_high; effect_se > 0 PASS
5 pearson_r² = r_squared (to 1e-12) PASS
6 r_squared = 1 − (model_metric/baseline_metric)² (OLS with intercept identity) PASS
7 model_metric ≤ baseline_metric PASS
8 table1 n_countries sums to n_analysed; 4 income-level rows PASS
9 Independent recomputation (scipy linregress, simple pandas filter) reproduces slope 5.2672, intercept 22.567, n=197 PASS
10 Manual HC3 sandwich formula reproduces effect_se 0.21068 PASS
11 n-weighted mean of table1 LE equals mean_life_expectancy (diff 2e-7, from 6-dp rounding in CSV) PASS
12 Magnitudes: slope ≈ 5.3 years/log-point, LE range in 2023 plausible; HC0–HC3 and classical SEs all 0.207–0.222 PASS
13 Information rules: aggregates excluded, year rule applied (2023: 197 ≥ 150), no imputation, only data/ files read PASS
Files · 46a1f53512bec3cd5d9c16e8fc9d9da4129c09cc
Menu

Theme