Skip to contents

The Abadie-Imbens (2006) standard error of the matching ATT (sample ATT), as Matching::Match(estimand = "ATT", sample = TRUE): \(V = N_1^{-2} \sum_i (W_i + (1 - W_i) K_M(i) / M)^2 \sigma^2(X_i, W_i)\), with \(\sigma^2(X_i, W_i) = (Y_i - Y_{l(i)})^2 / 2\) and \(l(i)\) the nearest unit of the same treatment arm on the covariates scaled by their inverse variances. Without covariates the conditional variance is approximated by half the squared outcome difference of each matched pair.

Usage

morie_matching_abadie_imbens_se(
  data,
  outcome,
  treatment,
  match_pairs,
  n_matches = 1L,
  covariates = NULL
)

Arguments

data

Data frame.

outcome, treatment

Column names.

match_pairs

Data frame of matched indices.

n_matches

Number of matches per treated unit, M in the Abadie-Imbens variance (the control reuse count enters as K_M / M).

covariates

Optional matching covariates, for the within-arm variance estimate.

Value

Scalar numeric Abadie-Imbens SE.

References

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

Examples

if (requireNamespace("sensitivitymv", quietly = TRUE)) {
  # \donttest{
  set.seed(1)
  df <- data.frame(y = rnorm(200), d = rbinom(200, 1, 0.4),
                   x1 = rnorm(200), x2 = rnorm(200))
  res <- morie_matching_nearest_neighbor(df, "d", c("x1", "x2"))
  morie_matching_abadie_imbens_se(df, "y", "d", res$match_pairs)
  # }
}
#> [1] 0.1313231