Description Usage Arguments Details Value Examples
Fit a causal boosting model
1 2 3 4 |
x |
matrix of covariates |
tx |
vector of treatment indicators (0 or 1) |
y |
vector of response values |
num.trees |
number of shallow causal trees to build |
maxleaves |
maximum number of leaves per causal tree |
eps |
learning rate |
splitSpread |
how far apart should the candidate splits be for the
causal trees? (e.g. |
x.est |
optional matrix of estimation-set covariates used for honest
re-estimation (ignored if |
tx.est |
optional vector of estimation-set treatment indicators
(ignored if |
y.est |
optional vector of estimation-set response values
(ignored if |
propensity |
logical: should propensity score stratification be used? |
stratum |
optional vector giving propensity score stratum for each
observation (only used if |
stratum.est |
optional vector giving propensity score stratum for each
estimation-set observation (ignored if |
isConstVar |
logical: for the causal tree splitting criterion (T-statistc), should it be assumed that the noise variance is the same in treatment and control arms? |
This function exists primarily to be called by cv.causalBoosting because the num.trees parameter generally needs to be tuned via cross-validation.
an object of class causalBoosting
with attributes:
CBM: a list storing the intercept, the causal trees and eps
tauhat: matrix of treatment effects for each patient for each step
G1: estimated-treatment conditional mean for each patient
G0: estimated-control conditional mean for each patient
err.y: training error at each step, in predicting response
num.trees: number of trees specified by function call
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # Randomized experiment example
n = 100 # number of training-set patients to simulate
p = 10 # number of features for each training-set patient
# Simulate data
x = matrix(rnorm(n * p), nrow = n, ncol = p) # simulate covariate matrix
tx_effect = x[, 1] + (x[, 2] > 0) # simple heterogeneous treatment effect
tx = rbinom(n, size = 1, p = 0.5) # random treatment assignment
y = rowMeans(x) + tx * tx_effect + rnorm(n, sd = 0.001) # simulate response
# Estimate causal boosting model
fit_cb = causalBoosting(x, tx, y, num.trees = 500)
pred_cb = predict(fit_cb, newx = x, num.trees = 500)
# Visualize results
plot(tx_effect, pred_cb, main = 'Causal boosting',
xlab = 'True treatment effect', ylab = 'Estimated treatment effect')
abline(0, 1, lty = 2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.