This function calculates the Cumulative/Dynamic AUC metric for a survival model. It is done using the estimator proposed proposed by Uno et al. [1], and Hung and Chang [2].
cd_auc(y_true =NULL, risk =NULL, surv =NULL, times =NULL)
Arguments
y_true: a survival::Surv object containing the times and statuses of observations for which the metric will be evaluated
risk: ignored, left for compatibility with other metrics
surv: a matrix containing the predicted survival functions for the considered observations, each row represents a single observation, whereas each column one time point
times: a vector of time points at which the survival function was evaluated
Returns
a numeric vector of length equal to the length of the times vector, each value (from the range from 0 to 1) represents the AUC metric at a specific time point, with higher values indicating better performance.
Details
C/D AUC is an extension of the AUC metric known from classification models. Its values represent the model's performance at specific time points. It can be integrated over the considered time range.
References
[1] Uno, Hajime, et al. "Evaluating prediction rules for t-year survivors with censored regression models." Journal of the American Statistical Association 102.478 (2007): 527-537.
[2] Hung, Hung, and Chin‐Tsang Chiang. "Optimal composite markers for time dependent receiver operating characteristic curves with censored survival data." Scandinavian Journal of Statistics 37.4 (2010): 664-679.
Examples
library(survival)library(survex)cph <- coxph(Surv(time, status)~ ., data = veteran, model =TRUE, x =TRUE, y =TRUE)cph_exp <- explain(cph)y <- cph_exp$y
times <- cph_exp$times
surv <- cph_exp$predict_survival_function(cph, cph_exp$data, times)cd_auc(y, surv = surv, times = times)