GATES {GenericML} | R 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 |
proxy_BCA |
A numeric vector of proxy baseline conditional average (BCA) estimates. We recommend to use the estimates of a |
proxy_CATE |
A numeric vector of proxy conditional average treatment effect (CATE) estimates. We recommend to use the estimates of a |
membership |
A logical matrix that indicates the group membership of each observation in |
HT |
Logical. If |
X1_control |
Specifies the design matrix |
vcov_control |
Specifies the covariance matrix estimator. Must be an object of class |
diff |
Specifies the generic targets of CLAN. Must be an object of class |
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)