# NOT RUN {
# Find the optimal tuning parameters.
n <- 500
p <- 10
X <- matrix(rnorm(n * p), n, p)
W <- rbinom(n, 1, 0.5)
Y <- pmax(X[, 1], 0) * W + X[, 2] + pmin(X[, 3], 0) + rnorm(n)
Y.hat <- predict(regression_forest(X, Y))$predictions
W.hat <- rep(0.5, n)
params <- tune_causal_forest(X, Y, W, Y.hat, W.hat)$params
# Use these parameters to train a regression forest.
tuned.forest <- causal_forest(X, Y, W,
Y.hat = Y.hat, W.hat = W.hat, num.trees = 1000,
min.node.size = as.numeric(params["min.node.size"]),
sample.fraction = as.numeric(params["sample.fraction"]),
mtry = as.numeric(params["mtry"]),
alpha = as.numeric(params["alpha"]),
imbalance.penalty = as.numeric(params["imbalance.penalty"])
)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab