Skip to contents

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.

Usage

dsc(
  data,
  id_col,
  time_col,
  y_col,
  treated,
  t0,
  controls = NULL,
  constraint = c("ridge", "simplex"),
  M = 1,
  L = NULL,
  weight = "identity",
  boot = TRUE,
  S = 500L,
  level = 0.95,
  band = c("pointwise", "uniform"),
  bias_aware = TRUE,
  n_grid = 500L
)

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.

Value

An object of class "qfmix_dsc".

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.

References

Gunsilius, F. F. (2023). Distributional synthetic controls. Econometrica 91, 1105–1117.