Estimates SE and confidence intervals for the ATT by re-estimating the fit on resampled units: a bootstrap of the treated and the control units, drawn separately, or a jackknife that drops one unit at a time. Works for both sharp and staggered GSC fits.
Arguments
- fit
A
coresynthobject fromscm_fit()withmethod = "gsc".- method
"bootstrap"(default),"jackknife", or"jackknife_global"(staggered fits only).- n_boot
Number of bootstrap replications (default 499L; ignored for jackknife).
- level
Confidence level (default 0.95).
- alternative
"two.sided"(default),"greater", or"less".- seed
RNG seed for reproducibility (default NULL).
Details
Xu (2017, S.3.2) notes that resampling units is valid when many units are
treated and proposes the parametric bootstrap of gsc_boot() for when few
are: the treated units' own noise varies across replicates only through
which treated units are drawn. With a single treated unit there is no such
variation, so this function stops and points to gsc_boot() and
conformal_inference().
On a staggered fit the bootstrap draws the treated units from all cohorts
together, so cohort sizes vary across replicates, and draws the controls
once per replicate for every cohort; cohorts are rebuilt from the draw and
combined with their N_treated * T_post weights. "jackknife" drops each
cohort's own donors and treated units and combines the per-cohort
variances by the delta method, which ignores the covariance that shared
donors induce between cohorts; "jackknife_global" drops every unit from
the whole panel in turn and keeps it. Both jackknives drop treated units,
so every cohort needs at least two (Clarke et al. 2024, Algorithm 3).
Note: gsc_boot() performs a parametric bootstrap under H0 (hypothesis
testing). gsc_inference() provides non-parametric SE and CIs suitable
for inference about the ATT magnitude.
