You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
synthetic-control: address CI codex R6 — exclude truncated inner solves from V argmin (P1)
Strengthen the prior fix: a non-converged inner Frank-Wolfe solve during the nested V
search is now EXCLUDED from V ranking (not merely warned above a 5% rate) — in an argmin
search even one truncated W*(V) could win and silently flip the selected V. The objective
returns a large FINITE penalty (10×(max single-donor vertex MSPE)+1, which dominates any
feasible objective value since the objective is convex in w → max at a simplex vertex) so
that candidate can never be chosen; a non-converged univariate-start solve gets inf MSPE
(→ zero heuristic weight). A finite penalty is used instead of np.inf because inf floods
scipy's Nelder-Mead/Powell simplex arithmetic with RuntimeWarnings (and makes it churn).
Warn on ANY non-zero non-convergence count (no rate threshold). Healthy fits unaffected
(Basque Tier-2 unchanged; warning count back to baseline).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments