## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) library(poissonsuperlearner) library(riskRegression) ## ----------------------------------------------------------------------------- set.seed(42) d <- simulateStenoT1( n = 150, scenario = "alpha", competing_risks = TRUE ) head(d[, .(id, time, event, age, diabetes_duration, value_LDL, sex)]) ## ----------------------------------------------------------------------------- lglmnet0 <- Learner_glmnet( covariates = c("sex", "diabetes_duration"), cross_validation = FALSE, lambda = 0, intercept = TRUE ) lglmnet1 <- Learner_glmnet( covariates = c("value_Smoking", "value_LDL"), cross_validation = TRUE, alpha = 1, intercept = TRUE ) learners_list <- list( glm = lglmnet0, lasso = lglmnet1 ) ## ----eval = FALSE------------------------------------------------------------- # l_glmnet <- Learner_glmnet( # covariates = c("sex", "diabetes_duration", "value_LDL"), # add_nodes = TRUE, # cross_validation = TRUE, # alpha = 1 # ) # # l_gam <- Learner_gam( # covariates = c("s(age)", "s(value_LDL)", "sex"), # add_nodes = TRUE, # method = "fREML", # discrete = TRUE # ) # # l_hal <- Learner_hal( # covariates = c("age", "diabetes_duration", "value_LDL"), # add_nodes = TRUE, # cross_validation = TRUE, # num_knots = c(10L, 5L), # max_degree = 2L # ) ## ----------------------------------------------------------------------------- sl_model <- Superlearner( d, id = "id", status = "event", event_time = "time", learners = learners_list, number_of_nodes = 5, nfold = 3 ) l0_model <- fit_learner( d, id = "id", learner = lglmnet0, status = "event", event_time = "time", number_of_nodes = 5 ) l1_model <- fit_learner( d, id = "id", learner = lglmnet1, status = "event", event_time = "time", number_of_nodes = 5 ) ## ----------------------------------------------------------------------------- print(sl_model, cause = 1) print(sl_model, cause = 1, model = "glm") print(l0_model, cause = 1) ## ----------------------------------------------------------------------------- summary(sl_model) ## ----------------------------------------------------------------------------- summary(sl_model, cause = 1, model = "glm") summary(l0_model, cause = 1) ## ----------------------------------------------------------------------------- coef(sl_model, cause = 1) coef(sl_model, cause = 1, model = "glm") coef(l0_model, cause = 1) ## ----------------------------------------------------------------------------- pred_sl <- predict( sl_model, newdata = d[1:2], times = c(2, 5), cause = 1 ) pred_sl ## ----------------------------------------------------------------------------- cbind( glm_direct = predictRisk(l0_model, newdata = d[1, ], times = 5, cause = 1), lasso_direct = predictRisk(l1_model, newdata = d[1, ], times = 5, cause = 1) ) ## ----------------------------------------------------------------------------- cbind( sl = predictRisk(sl_model, newdata = d[1, ], times = 5, cause = 1, model = "sl"), glm_from_ensemble = predictRisk(sl_model, newdata = d[1, ], times = 5, cause = 1, model = "glm"), lasso_from_ensemble = predictRisk(sl_model, newdata = d[1, ], times = 5, cause = 1, model = "lasso") )