GATES: Performs GATES regression

View source: R/gates.R

GATESR Documentation

Performs GATES regression

Description

Performs the linear regression for the Group Average Treatments Effects (GATES) procedure.

Usage

GATES(
  Y,
  D,
  propensity_scores,
  proxy_BCA,
  proxy_CATE,
  membership,
  HT = FALSE,
  X1_control = setup_X1(),
  vcov_control = setup_vcov(),
  diff = setup_diff(),
  significance_level = 0.05
)

Arguments

Y

A numeric vector containing the response variable.

D

A binary vector of treatment assignment. Value one denotes assignment to the treatment group and value zero assignment to the control group.

propensity_scores

A numeric vector of propensity scores. We recommend to use the estimates of a "propensity_score" object.

proxy_BCA

A numeric vector of proxy baseline conditional average (BCA) estimates. We recommend to use the estimates of a "proxy_BCA" object.

proxy_CATE

A numeric vector of proxy conditional average treatment effect (CATE) estimates. We recommend to use the estimates of a "proxy_CATE" object.

membership

A logical matrix that indicates the group membership of each observation in Z_CLAN. Needs to be of type "quantile_group". Typically, the grouping is based on CATE estimates, which are for instance returned by proxy_CATE().

HT

Logical. If TRUE, a Horvitz-Thompson (HT) transformation is applied (GATES2 in the paper). Default is FALSE.

X1_control

Specifies the design matrix X_1 in the regression. Must be an object of class "setup_X1". See the documentation of setup_X1() for details.

vcov_control

Specifies the covariance matrix estimator. Must be an object of class "setup_vcov". See the documentation of setup_vcov() for details.

diff

Specifies the generic targets of CLAN. Must be an object of class "setup_diff". See the documentation of setup_diff() for details.

significance_level

Significance level. Default is 0.05.

Value

An object of class "GATES", consisting of the following components:

generic_targets

A matrix of the inferential results on the GATES generic targets.

coefficients

An object of class "coeftest", contains the coefficients of the GATES regression.

lm

An object of class "lm" used to fit the linear regression model.

References

Chernozhukov V., Demirer M., Duflo E., Fernández-Val I. (2020). “Generic Machine Learning Inference on Heterogenous Treatment Effects in Randomized Experiments.” arXiv preprint arXiv:1712.04802. URL: https://arxiv.org/abs/1712.04802.

See Also

setup_X1(), setup_diff(), setup_vcov(), propensity_score(), proxy_BCA(), proxy_CATE()

Examples

## generate data
set.seed(1)
n  <- 150                                # number of observations
p  <- 5                                  # number of covariates
D  <- rbinom(n, 1, 0.5)                  # random treatment assignment
Y  <- runif(n)                           # outcome variable
propensity_scores <- rep(0.5, n)         # propensity scores
proxy_BCA         <- runif(n)            # proxy BCA estimates
proxy_CATE        <- runif(n)            # proxy CATE estimates
membership <- quantile_group(proxy_CATE) # group membership

## perform GATES
GATES(Y, D, propensity_scores, proxy_BCA, proxy_CATE, membership)


GenericML documentation built on June 18, 2022, 9:09 a.m.

Related to GATES in GenericML...