std_ipw_did_panel function

Standardized inverse probability weighted DiD estimator, with panel data

Standardized inverse probability weighted DiD estimator, with panel data

std_ipw_did_panel is used to compute inverse probability weighted (IPW) estimators for the ATT in difference-in-differences (DiD) setups with panel data. IPW weights are normalized to sum up to one, that is, the estimator is of the Hajek type.

std_ipw_did_panel( y1, y0, D, covariates, i.weights = NULL, boot = FALSE, boot.type = "weighted", nboot = NULL, inffunc = FALSE )

Arguments

  • y1: An nn x 11 vector of outcomes from the post-treatment period.
  • y0: An nn x 11 vector of outcomes from the pre-treatment period.
  • D: An nn x 11 vector of Group indicators (=1 if observation is treated in the post-treatment, =0 otherwise).
  • covariates: An nn x kk matrix of covariates to be used in the propensity score estimation. Please add a column of ones if you want to include an intercept in the model. If covariates = NULL, this leads to an unconditional DiD estimator.
  • i.weights: An nn x 11 vector of weights to be used. If NULL, then every observation has the same weights. The weights are normalized and therefore enforced to have mean 1 across all observations.
  • boot: Logical argument to whether bootstrap should be used for inference. Default is FALSE.
  • boot.type: Type of bootstrap to be performed (not relevant if boot = FALSE). Options are "weighted" and "multiplier". If boot = TRUE, default is "weighted".
  • nboot: Number of bootstrap repetitions (not relevant if boot = FALSE). Default is 999.
  • inffunc: Logical argument to whether influence function should be returned. Default is FALSE.

Returns

A list containing the following components: - ATT: The IPW DiD point estimate.

  • se: The IPW DiD standard error

  • uci: Estimate of the upper bound of a 95% CI for the ATT

  • lci: Estimate of the lower bound of a 95% CI for the ATT

  • boots: All Bootstrap draws of the ATT, in case bootstrap was used to conduct inference. Default is NULL

  • att.inf.func: Estimate of the influence function. Default is NULL

  • call.param: The matched call.

  • argu: Some arguments used (explicitly or not) in the call (panel = TRUE, normalized = TRUE, boot, boot.type, nboot, type="ipw")

Examples

# Form the Lalonde sample with CPS comparison group eval_lalonde_cps <- subset(nsw, nsw$treated == 0 | nsw$sample == 2) # Further reduce sample to speed example set.seed(123) unit_random <- sample(1:nrow(eval_lalonde_cps), 5000) eval_lalonde_cps <- eval_lalonde_cps[unit_random,] # Select some covariates covX = as.matrix(cbind(1, eval_lalonde_cps$age, eval_lalonde_cps$educ, eval_lalonde_cps$black, eval_lalonde_cps$married, eval_lalonde_cps$nodegree, eval_lalonde_cps$hisp, eval_lalonde_cps$re74)) # Implement normalized IPW DiD with panel data std_ipw_did_panel(y1 = eval_lalonde_cps$re78, y0 = eval_lalonde_cps$re75, D = eval_lalonde_cps$experimental, covariates = covX)

References

Abadie, Alberto (2005), "Semiparametric Difference-in-DifferencesEstimators", Review of Economic Studies, vol. 72(1), p. 1-19,\Sexpr[results=rd]{tools:::Rd_expr_doi("10.1111/0034-6527.00321")}.

Sant'Anna, Pedro H. C. and Zhao, Jun. (2020), "Doubly RobustDifference-in-Differences Estimators." Journal of Econometrics, Vol.219 (1), pp. 101-122,\Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.jeconom.2020.06.003")}