Song and Zhou's estimators of AUC for right-censored time-to-event data
sens.sh(Surv.rsp, lp, lpnew, times, type = "incident")
spec.sh(Surv.rsp, lp, lpnew, times)
AUC.sh(
Surv.rsp,
Surv.rsp.new = NULL,
lp,
lpnew,
times,
type = "incident",
savesensspec = FALSE
)A Surv(.,.) object containing to the outcome of the
training data.
The vector of predictors estimated from the training data.
The vector of predictors obtained from the test data.
A vector of time points at which to evaluate AUC.
A string defining the type of true positive rate (TPR):
"incident" refers to incident TPR , "cumulative" refers to
cumulative TPR.
A Surv(.,.) object containing the outcome of the
test data.
A logical specifying whether sensitivities and specificities should be saved.
AUC.sh returns an object of class survAUC.
Specifically, AUC.sh returns a list with the following components:
The cumulative/dynamic or incident/dynamic AUC estimates
(evaluated at times).
The vector of time points at which AUC is evaluated.
The summary measure of AUC.
sens.sh and spec.sh return matrices of dimensions times
x lpnew + 1. The elements of these matrices are the sensitivity and
specificity estimates for each threshold of lpnew and for each time
point specified in times.
The sens.sh and spec.sh functions implement the estimators of
time-dependent true and false positive rates proposed by Song and Zhou
(2008).
The AUC.sh function implements the estimators of cumulative/dynamic
and incident/dynamic AUC proposed by Song and Zhou (2008). These estimators
are given by the areas under the time-dependent ROC curves estimated by
sens.sh and spec.sh. In case of cumulative/dynamic AUC, the
iauc summary measure is given by the integral of AUC on [0,
max(times)] (weighted by the estimated probability density of the
time-to-event outcome). In case of incident/dynamic AUC, iauc is
given by the integral of AUC on [0, max(times)] (weighted by 2 times
the product of the estimated probability density and the estimated survival
function of the time-to-event outcome).
The results obtained from spec.sh, spec.sh and AUC.sh
are valid as long as lp and lpnew are the predictors of a
correctly specified Cox proportional hazards model. In this case, the
estimators remain valid even if the censoring times depend on the values of
the predictors.
Song, X. and X.-H. Zhou (2008).
A semiparametric approach for the
covariate specific ROC curve with survival outcome.
Statistica
Sinica 18, 947–965.
data(cancer,package="survival")
TR <- ovarian[1:16,]
TE <- ovarian[17:26,]
train.fit <- survival::coxph(survival::Surv(futime, fustat) ~ age,
x=TRUE, y=TRUE, method="breslow", data=TR)
lp <- predict(train.fit)
lpnew <- predict(train.fit, newdata=TE)
Surv.rsp <- survival::Surv(TR$futime, TR$fustat)
Surv.rsp.new <- survival::Surv(TE$futime, TE$fustat)
times <- seq(10, 1000, 10)
AUC_sh <- AUC.sh(Surv.rsp, Surv.rsp.new, lp, lpnew, times)
names(AUC_sh)
#> [1] "auc" "times" "iauc"
AUC_sh$iauc
#> [1] 0.8430845