| lou_qtt | R Documentation |
Estimates the Quantile Treatment Effect on the Treated (QTT)
and Average Treatment Effect on the Treated (ATT) under a lagged-outcome
unconfoundedness assumption with staggered treatment adoption. The key
identifying assumption is
Y_{g,t}(0) \perp D \mid X, Y_{\text{pre}}, i.e., conditional on
observed covariates and the pre-treatment outcome, treatment is as good
as randomly assigned within each cohort-period cell.
Estimation operates at the (g,t) level: for each cohort g and
post-treatment period t, a cross-sectional comparison is made
between the treated group and a not-yet-treated (or never-treated)
comparison group, adjusting for covariates and (optionally) the
pre-treatment outcome. Group-time estimates are then aggregated to
overall, dynamic, and group-specific summaries.
Three estimation methods are available:
"ipw"Propensity-score reweighting. Control units are
reweighted by \hat p(X,Y_{\text{pre}})/(1-\hat p(X,Y_{\text{pre}}))
to approximate the covariate distribution of the treated group.
"or"Outcome regression. A quantile regression model is
fit on control units' post-period outcomes as a function of
(X, Y_{\text{pre}}), then predicted at treated units to
construct the counterfactual distribution (Melly 2006;
Chernozhukov, Fernandez-Val, and Melly 2013).
"aipw"Doubly-robust augmented IPW. Combines the propensity score and outcome models. Consistent if either model is correctly specified.
When lagged_outcome_cov = FALSE and xformula = ~1, all
three methods reduce to a simple distribution comparison within each
(g,t) cell, which is consistent under unconditional unconfoundedness.
The ATT analogue (without the QTT) for staggered adoption under lagged-outcome unconfoundedness is developed in Callaway (2023).
lou_qtt(
yname,
gname,
tname,
idname = NULL,
data,
xformula = ~1,
lagged_outcome_cov = TRUE,
est_method = c("ipw", "or", "aipw"),
panel = TRUE,
weightsname = NULL,
control_group = "notyettreated",
anticipation = 0,
alp = 0.05,
cband = TRUE,
biters = 100,
cl = 1,
gt_type = c("att", "qtt"),
probs = NULL
)
yname |
Name of the outcome variable in |
gname |
Name of the treatment group variable (first treatment period; 0 for never-treated units). |
tname |
Name of the time period variable. |
idname |
Name of the unit id variable. Required when
|
data |
A data frame. |
xformula |
One-sided formula for additional covariates used in the
propensity score and/or outcome model. Default |
lagged_outcome_cov |
Logical; if |
est_method |
Estimation method: |
panel |
Logical; |
weightsname |
Name of the column in |
control_group |
Which units to use as the comparison group:
|
anticipation |
Number of periods of anticipation. Default |
alp |
Significance level for confidence intervals. Default |
cband |
Logical; if |
biters |
Number of bootstrap iterations. Default |
cl |
Number of clusters for parallel bootstrap. Default |
gt_type |
Type of group-time effect to compute. |
probs |
For |
For gt_type = "att", a pte_emp_boot object. For
gt_type = "qtt", a pte_qtt object with overall,
group-specific, and dynamic QTT curves, bootstrap standard errors,
and pointwise and uniform confidence bands.
Callaway, Brantly. “Policy Evaluation during a Pandemic.” Journal of Econometrics 236(2), 2023.
Melly, Blaise. “Estimation of Counterfactual Distributions Using Quantile Regression.” Working paper, University of St. Gallen, 2006.
Chernozhukov, Victor, Ivan Fernandez-Val, and Blaise Melly. “Inference on Counterfactual Distributions.” Econometrica 81(6), pp. 2205–2268, 2013.
unc_qte for the cross-sectional (non-staggered)
version. cic, qdid, mdid for
alternative identification strategies with staggered adoption.
data(mpdta, package = "did")
## ATT under lagged-outcome unconfoundedness (IPW with pre-period outcome)
res_att <- lou_qtt(
yname = "lemp", gname = "first.treat", tname = "year",
idname = "countyreal", data = mpdta,
lagged_outcome_cov = TRUE, est_method = "ipw",
gt_type = "att", biters = 20
)
summary(res_att)
## QTT with doubly-robust estimation
res_qtt <- lou_qtt(
yname = "lemp", gname = "first.treat", tname = "year",
idname = "countyreal", data = mpdta,
lagged_outcome_cov = TRUE, est_method = "aipw",
gt_type = "qtt", probs = seq(0.1, 0.9, 0.1), biters = 20
)
summary(res_qtt)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.