CSCM – Vision Zero (Bonander 2021)

CSCM – Vision Zero (Bonander 2021)#

This page documents the cross-validation of Flexible Count Synthetic Control (CSCM) against the authors’ own R implementation.

What is reproduced#

Bonander [CSCM] evaluates Sweden’s 1997 Vision Zero road-safety policy with the flexible count synthetic control: the treated unit is Sweden, the outcome is the road-death rate, and nine European countries serve as donors (the United Kingdom, Norway and the Netherlands are excluded for adopting similar policies, and others for data issues). The panel is basedata/viszero.csv; treatment is indexed from 1996 (pre-period 1970-1995, twenty post-period years).

Reference#

The ground truth is a live captured run of the authors’ R package (CSCM_helper_functions.R from OSF osf.io/uvt5p). Two packages were unavailable in the replication sandbox and were replaced by exact equivalents: osqp (the simplex quadratic program) by quadprog::solve.QP, which returns the identical optimum, and Synth::dataprep by a hand-built matrix constructor. Every substantive numerical routine – the glmnet Poisson-ridge importance matrix and the optimx penalised solve – is the authors’ own.

What matched#

The port was validated cell by cell. Given identical inputs, the classic simplex warm-start reproduces the R weights to machine precision, and the penalised relaxation reproduces them to about \(10^{-11}\); the Poisson-ridge importance matrix matches glmnet to correlation about 0.98. On this panel glmnet’s importance matrix collapses to nearly uniform, so the fast, deterministic v_method="uniform" is the faithful reproduction.

End to end, mlsynth reproduces the reference:

Quantity

R (glmnet)

mlsynth (uniform V)

classic SCM weights

100% Finland

100% Finland

sum of relaxed weights

0.486

0.500

full-sample rate ratio

1.037

1.051

cross-fitted rate ratio (K=2)

1.065, 95% CI [0.644, 1.760]

1.056, 95% CI [0.671, 1.663]

The classic warm-start concentrates entirely on Finland; the relaxation drops the adding-up constraint, so the weights sum below one (they extrapolate below the simplex) while remaining non-negative. The headline cross-fitted rate ratio agrees with the reference to about one percent. The residual differences trace to the Poisson-ridge importance matrix (glmnet versus a uniform default) and to the penalty-path grid point selected by cross-validation; both are small.

Honest reading#

The substantive finding is a rate ratio near one with a wide interval that spans it: no effect of Vision Zero on Sweden’s road-death rate is detectable by this method. The interval is wide because K=2 leaves a single degree of freedom; this is a property of the cross-fitted inference, not of the reproduction.

Durable benchmark: benchmarks/cases/cscm_viszero.py.