ATTMatchEstimate: Inference on the CATT and the PATT using the matching...

Description Usage Arguments Value References Examples

View source: R/att_match.R

Description

Computes the matching estimator and confidence intervals (CIs) for the conditional average treatment effect for the treated (CATT) and population average treatment effect for the treated (PATT). If ATTMatchPath used a single M, the estimator and CIs are based on a matching estimator with this number of matches. Otherwise, optimize the number of matches according to opt.criterion.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
ATTMatchEstimate(
  path,
  C = 1,
  opt.criterion = "RMSE",
  sigma2init,
  sigma2,
  mvar,
  DM,
  alpha = 0.05,
  beta = 0.8,
  J = 3
)

Arguments

path

output of ATTMatchPath

C

Lipschitz smoothness constant

opt.criterion

criterion to optimize. One of "RMSE" (root mean squared error), "OCI" (one-sided confidence intervals), "FLCI" (fixed-length two-sided confidence intervals)

sigma2init

estimate of the conditional variance of the outcome, used to optimize the number of matches. If not supplied, use homoskedastic variance estimate based on a nearest neighbor variance estimator.

sigma2

vector of variance estimates with length n for determining the conditional standard error of the optimal estimator. In contrast, sigma2init is used only for determining the optimal tuning parameter. If not supplied, use the nearest neighbor variance estimator.

mvar

Marginal variance estimate (variance of the CATT) used to construct CIs for the PATT. If not supplied use the matching estimator of Abadie and Imbens (2006).

DM

distance matrix with dimension n by n to determine nearest neighbors when when estimating sigma2init and sigma2.

alpha

determines confidence level, 1-alpha.

beta

quantile beta of excess length for determining performance of one-sided CIs.

J

number of nearest neighbors to use when estimating sigma2init and sigma2.

Value

Returns an object of class "ATTEstimate". An object of class "ATTEstimate" is a list containing the following components:

e

Vector with elements "att" (value of ATT estimate), "maxbias" (worst-case bias), "M" (number of matches), "lindw" (maximal Lindeberg weight Lind(k)), "sd", "hl", "lower", "upper", "maxel", "rmse" (standard deviation, half-length of two-sided CI, lower and upper endpoint of one-sided CIs, worst-case excess length of one-sided CI at quantile beta and RMSE of estimator, assuming conditional variance equals sigma2inint) "rsd", "rlower", "rupper", "rhl", "rrmse", "rmaxel" (same quantities, but calculated using sigma2), "usd", "ulower", "uupper", "uhl" (standard deviation, endpoints for one-sided CIs and half-length of two-sided CI for PATE), and "C" (Value of Lipschitz constant C)

k

Vector of matching weights k(x_i, d_i)

References

Abadie, A. and G. W. Imbens (2006): "Large sample properties of matching estimators for average treatment effects," Econometrica, 74, 235–267.

Armstrong, T. B., and M. Kolesár (2020): Finite-Sample Optimal Estimation and Inference on Average Treatment Effects Under Unconfoundedness, https://arxiv.org/abs/1712.04594

Examples

1
2
3
4
5
6
7
Ahalf <- diag(c(0.15, 0.6, 2.5, 2.5, 2.5, 0.5, 0.5, 0.1, 0.1))
D0 <- distMat(NSWexper[, 2:10], Ahalf, method="manhattan", NSWexper$treated)
mp <- ATTMatchPath(NSWexper$re78, NSWexper$treated, D0, M=c(1, 2), tol=1e-12)
## Distance matrix for variance estimation
DM <- distMat(NSWexper[, 2:10], Ahalf, method="manhattan")
## Estimator based on a single match is better than with 2 matches for RMSE
ATTMatchEstimate(path=mp, C=1, DM=DM)

kolesarm/ATEHonest documentation built on Nov. 14, 2020, 4:50 a.m.