This class defines the EP-learner of van der Laan et al. (2023) for estimation of the conditional average treatment effect.
Format
An R6 class with public methods to initialize the learner, create a regression task, and access the base learner.
Details
The EP-learner is a robust and doubly-robust meta-learner that inherits desirable properties of both T-learner and DR-learner.
The current implementation exposes two CATE EP variants through
targeting_style: "dr" is the plug-in analogue of the
DR-learner and "r" is the plug-in analogue of the R-learner.
The "r" variant uses an overlap-weighted targeting objective that can
be more stable under severe overlap violations, but it generally targets an
overlap-weighted projection in reduced-modifier settings.
Super classes
sl3::Lrnr_base -> hte3::Lrnr_hte -> Lrnr_cate_EP
Methods
Inherited methods
sl3::Lrnr_base$assert_trained()sl3::Lrnr_base$base_chain()sl3::Lrnr_base$base_predict()sl3::Lrnr_base$base_train()sl3::Lrnr_base$chain()sl3::Lrnr_base$custom_chain()sl3::Lrnr_base$get_outcome_range()sl3::Lrnr_base$get_outcome_type()sl3::Lrnr_base$predict()sl3::Lrnr_base$predict_fold()sl3::Lrnr_base$print()sl3::Lrnr_base$process_formula()sl3::Lrnr_base$reparameterize()sl3::Lrnr_base$retrain()sl3::Lrnr_base$sample()sl3::Lrnr_base$set_train()sl3::Lrnr_base$subset_covariates()sl3::Lrnr_base$train()sl3::Lrnr_base$train_sublearners()hte3::Lrnr_hte$check_treatment_type()hte3::Lrnr_hte$get_modifiers()hte3::Lrnr_hte$make_metalearner_task()
Method new()
Usage
Lrnr_cate_EP$new(
base_learner,
sieve_num_basis = NULL,
sieve_interaction_order = 3,
screen_basis_with_lasso = FALSE,
targeting_style = c("dr", "r"),
r_targeting_basis = c("v_plus_propensity", "full_w"),
treatment_level = NULL,
control_level = NULL,
...
)Arguments
base_learnerA
sl3learner object inheriting fromLrnr_basethat specifies the base supervised learning algorithm used by the meta-learner.sieve_num_basisThe number of trigonometric basis functions to construct the EP-learner sieve space. This argument is passed as the argument
basisNto the functionsieve_preprocess. By default,sieve_num_basis = ceiling((n^(1/3)*d)wherendenotes the sample size anddis the dimension of the first-stage EP sieve covariates. For wrapper-level EP cross-validation, usesieve_basis_gridinfit_cate()orfit_crr()to compare multiple basis sizes.sieve_interaction_orderThe maximum interaction degree of tensor-product basis functions in the EP-learner sieve basis. Default is 3.
sieve_interaction_order = 1corresponds to an additive sieve model andsieve_interaction_order = 2corresponds to a bi-additive sieve model. This argument is passed as the argumentinteraction_orderto the functionsieve_preprocess.screen_basis_with_lassoEXPERIMENTAL. Whether to use a lasso-based DR-learner algorithm to screen sieve basis functions for EP-learner. There are no theoretical guarantees for EP-learner with
screen_basis_with_lasso = TRUE. However, this argument may be useful in high dimensional settings. It also reduces the computational complexity of EP-learner, as the argumentsieve_num_basisdoes not need to be externally cross-validated.targeting_styleOne of
"dr"or"r". The default"dr"path keeps the current EP debiasing update. The"r"path uses an R-learner-style overlap-weighted targeting update and currently supports binary-treatment CATE tasks only. High-level wrappers such asfit_cate()compare both variants by expanding multipleLrnr_cate_EPfits rather than by passing a vector here.r_targeting_basisFirst-stage basis construction for
targeting_style = "r". The default"v_plus_propensity"builds the first-stage sieve on the modifier setVplus the treated-arm propensity scoree(W);"full_w"builds the first-stage EP-R sieve on the full confounder setW....Additional arguments to pass to the initialization function.