GenericML_single | R Documentation |
Performs generic ML inference for a single learning technique and a given split of the data. Can be seen as a single iteration of Algorithm 1 in the paper.
GenericML_single(
Z,
D,
Y,
learner,
propensity_scores,
M_set,
A_set = setdiff(1:length(Y), M_set),
Z_CLAN = NULL,
HT = FALSE,
quantile_cutoffs = c(0.25, 0.5, 0.75),
X1_BLP = setup_X1(),
X1_GATES = setup_X1(),
diff_GATES = setup_diff(),
diff_CLAN = setup_diff(),
vcov_BLP = setup_vcov(),
vcov_GATES = setup_vcov(),
monotonize = TRUE,
equal_variances_CLAN = FALSE,
external_weights = NULL,
significance_level = 0.05,
min_variation = 1e-05
)
Z |
A numeric design matrix that holds the covariates in its columns. |
D |
A binary vector of treatment assignment. Value one denotes assignment to the treatment group and value zero assignment to the control group. |
Y |
A numeric vector containing the response variable. |
learner |
A character specifying the machine learner to be used for estimating the baseline conditional average (BCA) and conditional average treatment effect (CATE). Either |
propensity_scores |
A numeric vector of propensity score estimates. |
M_set |
A numerical vector of indices of observations in the main sample. |
A_set |
A numerical vector of indices of observations in the auxiliary sample. Default is complementary set to |
Z_CLAN |
A numeric matrix holding variables on which classification analysis (CLAN) shall be performed. CLAN will be performed on each column of the matrix. If |
HT |
Logical. If |
quantile_cutoffs |
The cutoff points of the quantiles that shall be used for GATES grouping. Default is |
X1_BLP |
Specifies the design matrix |
X1_GATES |
Same as |
diff_GATES |
Specifies the generic targets of GATES. Must be an object of class |
diff_CLAN |
Same as |
vcov_BLP |
Specifies the covariance matrix estimator in the BLP regression. Must be an object of class |
vcov_GATES |
Same as |
monotonize |
Logical. Should GATES point estimates and confidence bounds be rearranged to be monotonically increasing following the monotonization method of Chernozhukov et al. (2009, Biometrika)? Default is |
equal_variances_CLAN |
(deprecated and will be removed in a future release) Logical. If |
external_weights |
Optional vector of external numeric weights for weighted means in CLAN and weighted regression in BLP and GATES (in addition to the standard weights used when |
significance_level |
Significance level for VEIN. Default is 0.05. |
min_variation |
Specifies a threshold for the minimum variation of the BCA/CATE predictions. If the variation of a BCA/CATE prediction falls below this threshold, random noise with distribution |
The specifications "lasso"
, "random_forest"
, and "tree"
in learner
correspond to the following mlr3
specifications (we omit the keywords classif.
and regr.
). "lasso"
is a cross-validated Lasso estimator, which corresponds to 'mlr3::lrn("cv_glmnet", s = "lambda.min", alpha = 1)'
. "random_forest"
is a random forest with 500 trees, which corresponds to 'mlr3::lrn("ranger", num.trees = 500)'
. "tree"
is a tree learner, which corresponds to 'mlr3::lrn("rpart")'
.
A list with the following components:
BLP
An object of class "BLP"
.
GATES
An object of class "GATES"
.
CLAN
An object of class "CLAN"
.
proxy_BCA
An object of class "proxy_BCA"
.
proxy_CATE
An object of class "proxy_CATE"
.
best
Estimates of the \Lambda
parameters for finding the best learner. Returned by lambda_parameters()
.
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.
Lang M., Binder M., Richter J., Schratz P., Pfisterer F., Coors S., Au Q., Casalicchio G., Kotthoff L., Bischl B. (2019). “mlr3: A Modern Object-Oriented Machine Learning Framework in R.” Journal of Open Source Software, 4(44), 1903. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.21105/joss.01903")}.
Chernozhukov V., Fernández-Val I., Galichon, A. (2009). “Improving Point and Interval Estimators of Monotone Functions by Rearrangement.” Biometrika, 96(3), 559–575. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1093/biomet/asp030")}.
GenericML()
if(require("ranger")){
## generate data
set.seed(1)
n <- 150 # number of observations
p <- 5 # number of covariates
Z <- matrix(runif(n*p), n, p) # design matrix
D <- rbinom(n, 1, 0.5) # random treatment assignment
Y <- runif(n) # outcome variable
propensity_scores <- rep(0.5, n) # propensity scores
M_set <- sample(1:n, size = n/2) # main set
## specify learner
learner <- "mlr3::lrn('ranger', num.trees = 10)"
## run single GenericML iteration
GenericML_single(Z, D, Y, learner, propensity_scores, M_set)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.