Hung and Chiang's estimator of cumulative/dynamic AUC for right-censored time-to-event data
AUC.hc(Surv.rsp, Surv.rsp.new, lpnew, times)AUC.hc returns an object of class survAUC.
Specifically, AUC.hc returns a list with the following components:
The cumulative/dynamic AUC estimates (evaluated at
times).
The vector of time points at which AUC is evaluated.
The summary measure of AUC.
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).
Hung, H. and C.-T. Chiang (2010).
Estimation methods for time-dependent
AUC models with survival data.
Canadian Journal of Statistics
38, 8–26.
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"