Builds a counterfactual quantile function for a treated unit as a weighted mixture of control units' quantile functions, with weights fit on the pre-treatment period by sieve GMLM (ridge / simplex). Post-treatment counterfactuals and distributional treatment effects come with pointwise variance-component confidence bands from the numerical bootstrap; the effect bands also include the treated unit's own quantile sampling error.
Arguments
- data
Long data frame.
- id_col, time_col, y_col
Column names for unit id, time, and outcome.
- treated
The treated unit id.
- t0
Last pre-treatment period (the fitting period).
- controls
Control unit ids (default: all non-treated units).
- constraint
Weight set:
"ridge"(default,M) or"simplex".- M
Ridge radius. Default
1.- L
Number of L-moments. Default
length(controls) + 2.- weight
L-moment weighting (
"identity"/"optimal").- boot
Compute bootstrap bands. Default
TRUE.- S, level
Bootstrap draws and confidence level.
- band
"pointwise"(default) or"uniform"(simultaneous sup-t band over the quantile grid).- bias_aware
If
TRUE(default), widen the bands by the pre-treatment sieve-approximation residual – a conservative bias bound that fixes the tail under-coverage of variance-only bands where the control mixture cannot represent the treated distribution.- n_grid
Integration grid for the fit.
Inference scope (read this)
The bands carry (i) the weight-estimation variance (numerical bootstrap), (ii)
the treated-unit quantile sampling error, and – with bias_aware = TRUE –
(iii) a conservative sieve-approximation bias bound estimated from the
pre-treatment fit, which restores tail coverage where a finite control mixture
cannot represent the treated distribution. Use band = "uniform" for
simultaneous (sup-t) coverage over the quantile grid. Still not modelled:
the control-sampling (stochastic-basis) variance and the exact Euclidean-ball
anti-concentration constant for the ridge constraint (the uniform band is the
practical substitute). The sqrt(n) scaling uses the treated unit's pre-period
sample size, valid under a donor-pool dilution condition (Ferman 2021) that is
assumed, not checked.