ROCnp {emplik}R Documentation

Test the ROC curve by Empirical Likelihood

Description

Use empirical likelihood ratio to test the hypothesis Ho: (1-b0)th quantile of sample 1 = (1-t0)th quantile of sample 2. This is the same as testing Ho: R(t0)= b0, where R(.) is the ROC curve.

The log empirical likelihood been maximized is

sum_{d1=1} log Delta F_1(t1_i) + sum_{d1=0} log [1-F_1(t1_i)] + sum_{d2=1} log Delta F_2(t2_j) + sum_{d2=0} log [1-F_2(t2_j)] .

This empirical likelihood ratio has a chi square limit under Ho.

Usage

ROCnp(t1, d1, t2, d2, b0, t0)

Arguments

t1 a vector of length n. Observed times, may be right censored.
d1 a vector of length n, censoring status. d=1 means t is uncensored; d=0 means t is right censored.
t2 a vector of length m. Observed times, may be right censored.
d2 a vector of length m, censoring status.
b0 a scalar between 0 and 1.
t0 a scalar, betwenn 0 and 1.

Details

Basically, we first test (1-b0)th quantile of sample 1 = c and also test (1-t0)th quantile of sample 2 = c. This way we obtain two log likelihood ratios.

Then we minimize the sum of the two log likelihood ratio over c.

See the tech report below for details on a similar setting.

Value

A list with the following components:

"-2LLR" the -2 loglikelihood ratio; have approximate chisq distribution under H_o.
cstar the estimated common quantile.

Author(s)

Mai Zhou.

References

Zhou, M. and Liang, H (2008). Empirical Likelihood for Hybrid Two Sample Problem with Censored Data. Tech. Report.

Examples

#### An example of testing the equality of two medians. No censoring.
ROCnp(t1=rexp(100), d1=rep(1,100), t2=rexp(120), d2=rep(1,120), b0=0.5, t0=0.5)
##########################################################################
#### Next, an example of finding 90
####  Note: We are finding confidence interval for R(0.5). So we are testing  R(0.5)= 0.35, 0.36, 0.37, 0.38, etc
####  try to find values so that testing R(0.5) = L , U  has p-value of 0.10,  then [L,  U] is the 90
###  for R(0.5)
#set.seed(123)
#t1 <- rexp(200)
#t2 <- rexp(200)
#ROCnp( t1=t1, d1=rep(1, 200), t2=t2, d2=rep(1, 200), b0=0.5, t0=0.5)$"-2LLR"
#### since the -2LLR value is less than  2.705543 = qchisq(0.9, df=1),  so the confidence interval
####  contains 0.5.
#gridpoints <- 350:650/1000
#ELvalues <- gridpoints
#for( i in 1:301 ) ELvalues[i] <- ROCnp( t1=t1, d1=rep(1, 200), t2=t2, d2=rep(1, 200), b0=gridpoints[i], t0=0.5)$"-2LLR"
#myfun1 <- approxfun(x=gridpoints, y=ELvalues)
#qchisq(0.9, df=1)
#uniroot( f= function(x){myfun1(x)-2.705543}, interval= c(0.35, 0.5) )
#uniroot( f= function(x){myfun1(x)-2.705543}, interval= c(0.5, 0.65) )
#### So, taking the two roots, we see the 90
#### this case is [0.4478605,   0.5883669]

[Package emplik version 0.9-5 Index]