Skip to contents

Hung and Chiang's estimator of cumulative/dynamic AUC for right-censored time-to-event data

Usage

AUC.hc(Surv.rsp, Surv.rsp.new, lpnew, times)

Arguments

Surv.rsp

A Surv(.,.) object containing to the outcome of the training data.

Surv.rsp.new

A Surv(.,.) object containing the outcome of the test data.

lpnew

The vector of predictors obtained from the test data.

times

A vector of time points at which to evaluate AUC.

Value

AUC.hc returns an object of class survAUC. Specifically, AUC.hc returns a list with the following components:

auc

The cumulative/dynamic AUC estimates (evaluated at times).

times

The vector of time points at which AUC is evaluated.

iauc

The summary measure of AUC.

Details

This function implements the estimator of cumulative/dynamic AUC proposed by Hung and Chiang (2010). The estimator is based on inverse-probability-of-censoring weights and does not assume a specific working model for deriving the predictor lpnew. It is assumed, however, that there is a one-to-one relationship between the predictor and the expected survival times conditional on the predictor. 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).

Note that the estimator implemented in AUC.hc is restricted to situations where the random censoring assumption holds (formula (4) in Hung and Chiang 2010).

References

Hung, H. and C.-T. Chiang (2010).
Estimation methods for time-dependent AUC models with survival data.
Canadian Journal of Statistics 38, 8–26.

See also

Examples


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)

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_hc <- AUC.hc(Surv.rsp, Surv.rsp.new, lpnew, times)
AUC_hc
#> $auc
#>   [1] 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
#>   [8] 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
#>  [15] 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
#>  [22] 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6564103 0.6564103
#>  [29] 0.6564103 0.6564103 0.6564103 0.6564103 0.6564103 0.6564103 0.6564103
#>  [36] 1.0210826 1.3857550 1.1669516 1.1669516 1.1669516 1.1669516 1.1669516
#>  [43] 1.2641975 1.0132344 1.1145578 1.1145578 0.9586332 1.0054001 1.0054001
#>  [50] 1.0054001 1.0054001 1.0054001 1.0054001 1.0054001 1.0054001 1.0054001
#>  [57] 0.9689105 0.9689105 0.9689105 0.9689105 0.9689105 0.9689105 0.9689105
#>  [64] 0.9903972 0.9903972 0.9903972 0.9903972 0.9903972 0.9903972 0.9903972
#>  [71] 0.9903972 0.9903972 0.9903972 0.9903972 1.2379965 1.2379965 2.4759931
#>  [78] 2.4759931 2.4759931 2.4759931 4.9519862 4.9519862 4.9519862 4.9519862
#>  [85] 4.9519862 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
#>  [92] 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
#>  [99] 0.0000000 0.0000000
#> 
#> $times
#>   [1]   10   20   30   40   50   60   70   80   90  100  110  120  130  140  150
#>  [16]  160  170  180  190  200  210  220  230  240  250  260  270  280  290  300
#>  [31]  310  320  330  340  350  360  370  380  390  400  410  420  430  440  450
#>  [46]  460  470  480  490  500  510  520  530  540  550  560  570  580  590  600
#>  [61]  610  620  630  640  650  660  670  680  690  700  710  720  730  740  750
#>  [76]  760  770  780  790  800  810  820  830  840  850  860  870  880  890  900
#>  [91]  910  920  930  940  950  960  970  980  990 1000
#> 
#> $iauc
#> [1] 0.9299145
#> 
#> attr(,"class")
#> [1] "survAUC"