performance_prc {pencal} | R Documentation |
Predictive performance of the PRC-LMM and PRC-MLPMM models
Description
This function computes the naive and optimism-corrected measures of performance (C index, time-dependent AUC and time-dependent Brier score) for the PRC models proposed in Signorelli et al. (2021). The optimism correction is computed based on a cluster bootstrap optimism correction procedure (CBOCP)
Usage
performance_prc(step2, step3, metric = c("tdauc", "c", "brier"),
times = c(2, 3), n.cores = 1, verbose = TRUE)
Arguments
step2 |
the output of either |
step3 |
the output of |
metric |
the desired performance measure(s). Options include: 'tdauc', 'c' and 'brier' |
times |
numeric vector with the time points at which to estimate the time-dependent AUC and time-dependent Brier score |
n.cores |
number of cores to use to parallelize part of
the computations. If |
verbose |
if |
Value
A list containing the following objects:
-
call
: the function call; -
concordance
: a data frame with the naive and optimism-corrected estimates of the concordance (C) index; -
tdAUC
: a data frame with the naive and optimism-corrected estimates of the time-dependent AUC at the desired time points; -
Brier
: a data frame with the naive and optimism-corrected estimates of the time-dependent Brier score at the desired time points;
Author(s)
Mirko Signorelli
References
Signorelli, M. (2024). pencal: an R Package for the Dynamic Prediction of Survival with Many Longitudinal Predictors. To appear in: The R Journal. Preprint: arXiv:2309.15600
Signorelli, M., Spitali, P., Al-Khalili Szigyarto, C, The MARK-MD Consortium, Tsonaka, R. (2021). Penalized regression calibration: a method for the prediction of survival outcomes using complex longitudinal and high-dimensional data. Statistics in Medicine, 40 (27), 6178-6196. DOI: 10.1002/sim.9178
See Also
for the PRC-LMM model: fit_lmms
(step 1),
summarize_lmms
(step 2) and fit_prclmm
(step 3);
for the PRC-MLPMM model: fit_mlpmms
(step 1),
summarize_mlpmms
(step 2) and fit_prcmlpmm
(step 3).
Examples
data(fitted_prclmm)
more.cores = FALSE
# IMPORTANT: set more.cores = TRUE to speed computations up!
if (!more.cores) n.cores = 2
if (more.cores) {
# identify number of available cores on your machine
n.cores = parallel::detectCores()
if (is.na(n.cores)) n.cores = 2
}
# compute the time-dependent AUC
perf = performance_prc(fitted_prclmm$step2, fitted_prclmm$step3,
metric = 'tdauc', times = c(3, 3.5, 4), n.cores = n.cores)
# use metric = 'brier' for the Brier score and metric = 'c' for the
# concordance index
# time-dependent AUC estimates:
ls(perf)
perf$tdAUC