Estimating conditional average treatment effects (CATEs) for survival outcomes using M-learner with penalized regression models Lasso (implemented via the glmnet package). The CATE is defined as tau(X) = p(Y(1) > t0 | X = x) - p(Y(0) > t0 | X = x), where Y(1) and Y(0) are counterfactual survival times under the treated and controlled arms, respectively.

surv_fl_lasso(
  X,
  Y,
  W,
  D,
  t0,
  W.hat = NULL,
  cen.fit = "Kaplan-Meier",
  k.folds = 10,
  args.grf.nuisance = list()
)

Arguments

X

The baseline covariates

Y

The follow-up time

W

The treatment variable (0 or 1)

D

The event indicator

t0

The prediction time of interest

W.hat

The propensity score

cen.fit

The choice of model fitting for censoring

k.folds

The number of folds for estimating nuisance parameters via cross-fitting

args.grf.nuisance

Input arguments for a grf model that estimates nuisance parameters

Value

A surv_fl_lasso object

Examples

# \donttest{
n <- 1000; p <- 25
t0 <- 0.2
Y.max <- 2
X <- matrix(rnorm(n * p), n, p)
W <- rbinom(n, 1, 0.5)
numeratorT <- -log(runif(n))
T <- (numeratorT / exp(1 * X[ ,1, drop = FALSE] + (-0.5 - 1 * X[ ,2, drop = FALSE]) * W)) ^ 2
failure.time <- pmin(T, Y.max)
numeratorC <- -log(runif(n))
censor.time <- (numeratorC / (4 ^ 2)) ^ (1 / 2)
Y <- pmin(failure.time, censor.time)
D <- as.integer(failure.time <= censor.time)
n.test <- 500
X.test <- matrix(rnorm(n.test * p), n.test, p)

surv.fl.lasso.fit <- surv_fl_lasso(X, Y, W, D, t0, W.hat = 0.5)
cate <- predict(surv.fl.lasso.fit)
cate.test <- predict(surv.fl.lasso.fit, X.test)
# }