T-Learner | R Documentation |
T_RF
is an implementation of the T-learner combined with Random
Forest (Breiman 2001) for both response functions.
T_BART
is an implementation of the T-learner with Bayesian
Additive Regression Trees (Chipman et al. 2010) for both response
functions.
T_RF( feat, tr, yobs, nthread = 0, verbose = TRUE, mu0.forestry = list(relevant.Variable = 1:ncol(feat), ntree = 1000, replace = TRUE, sample.fraction = 0.9, mtry = ncol(feat), nodesizeSpl = 1, nodesizeAvg = 3, nodesizeStrictSpl = 1, nodesizeStrictAvg = 1, splitratio = 1, middleSplit = FALSE, OOBhonest = TRUE), mu1.forestry = list(relevant.Variable = 1:ncol(feat), ntree = 1000, replace = TRUE, sample.fraction = 0.9, mtry = ncol(feat), nodesizeSpl = 1, nodesizeAvg = 3, nodesizeStrictSpl = 1, nodesizeStrictAvg = 1, splitratio = 1, middleSplit = FALSE, OOBhonest = TRUE) ) T_BART( feat, tr, yobs, ndpost = 1200, ntree = 200, nthread = 1, verbose = FALSE, mu0.BART = list(sparse = FALSE, theta = 0, omega = 1, a = 0.5, b = 1, augment = FALSE, rho = NULL, usequants = FALSE, cont = FALSE, sigest = NA, sigdf = 3, sigquant = 0.9, k = 2, power = 2, base = 0.95, sigmaf = NA, lambda = NA, numcut = 100L, nskip = 100L), mu1.BART = list(sparse = FALSE, theta = 0, omega = 1, a = 0.5, b = 1, augment = FALSE, rho = NULL, usequants = FALSE, cont = FALSE, sigest = NA, sigdf = 3, sigquant = 0.9, k = 2, power = 2, base = 0.95, sigmaf = NA, lambda = NA, numcut = 100L, nskip = 100L) )
feat |
A data frame containing the features. |
tr |
A numeric vector with 0 for control and 1 for treated variables. |
yobs |
A numeric vector containing the observed outcomes. |
nthread |
Number of threads which should be used to work in parallel. |
verbose |
TRUE for detailed output, FALSE for no output. |
mu0.forestry, mu1.forestry |
Lists containing the hyperparameters for the
|
ndpost |
Number of posterior draws. |
ntree |
Number of trees. |
mu0.BART, mu1.BART |
Hyperparameters of the BART functions for the
control and treated group. (Use |
The CATE is estimated using two estimators:
Estimate the response functions
μ_0(x) = E[Y(0) | X = x]
μ_1(x) = E[Y(1) | X = x]
using the base leaner and denote the estimates as \hat μ_0 and \hat μ_1.
Define the CATE estimate as
τ(x) = \hat μ_1 - \hat μ_0.
Object of class T_RF
. It should be used with one of the
following functions EstimateCATE
, CateCI
, and
CateBIAS
. The object has the following slots:
|
A copy of feat. |
|
A copy of tr. |
|
A copy of yobs. |
|
An object of class forestry that is fitted with the observed outcomes of the control group as the dependent variable. |
|
An object of class forestry that is fitted with the observed outcomes of the treated group as the dependent variable. |
|
List containing the hyperparameters of the three random forest algorithms used. |
|
Function call of T_RF. This is used for different bootstrap procedures. |
Soeren R. Kuenzel
Sören Künzel, Jasjeet Sekhon, Peter Bickel, and Bin Yu (2017). MetaLearners for Estimating Heterogeneous Treatment Effects using Machine Learning. https://www.pnas.org/content/116/10/4156
Sören Künzel, Simon Walter, and Jasjeet Sekhon (2018). Causaltoolbox—Estimator Stability for Heterogeneous Treatment Effects. https://arxiv.org/pdf/1811.02833.pdf
Sören Künzel, Bradly Stadie, Nikita Vemuri, Varsha Ramakrishnan, Jasjeet Sekhon, and Pieter Abbeel (2018). Transfer Learning for Estimating Causal Effects using Neural Networks. https://arxiv.org/pdf/1808.07804.pdf
Other metalearners:
DR-Learner
,
M-Learner
,
S-Learner
,
X-Learner
require(causalToolbox) # create example data set simulated_experiment <- simulate_causal_experiment( ntrain = 1000, ntest = 1000, dim = 10 ) feat <- simulated_experiment$feat_tr tr <- simulated_experiment$W_tr yobs <- simulated_experiment$Yobs_tr feature_test <- simulated_experiment$feat_te # create the CATE estimator using Random Forests (RF) xl_rf <- X_RF(feat = feat, tr = tr, yobs = yobs) tl_rf <- T_RF(feat = feat, tr = tr, yobs = yobs) sl_rf <- S_RF(feat = feat, tr = tr, yobs = yobs) ml_rf <- M_RF(feat = feat, tr = tr, yobs = yobs) xl_bt <- X_BART(feat = feat, tr = tr, yobs = yobs) tl_bt <- T_BART(feat = feat, tr = tr, yobs = yobs) sl_bt <- S_BART(feat = feat, tr = tr, yobs = yobs) ml_bt <- M_BART(feat = feat, tr = tr, yobs = yobs) cate_esti_xrf <- EstimateCate(xl_rf, feature_test) # evaluate the performance. cate_true <- simulated_experiment$tau_te mean((cate_esti_xrf - cate_true) ^ 2) ## Not run: # create confidence intervals via bootstrapping. xl_ci_rf <- CateCI(xl_rf, feature_test, B = 500) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.