n 0/1 vector. The status indicator. 1=failure and 0=alive.
K.cv
K.cv-fold cross validation
num.replicate
number of independent replications of K-fold cross validations.
nsteps
the maximum number of binary rules to be included in the index
backfit
T/F. Whether the existing split points are adjusted after including a new binary rule
mincut
the minimum cutting proportion for the binary rule at either end. It typically is between 0 and 0.2.
maxnumcut
the maximum number of binary splits per predictor
dirp
p vector. The given direction of the binary split for each of the p predictors. 0 represents "no pre-given direction"; 1 represents "(x>cut)"; -1 represents "(x<cut)". Alternatively, "dirp=0" represents that there is no pre-given direction for any of the predictor.
Details
cv.cox.interaction implements K-fold cross-validation for the interaction Cox AIM. It estimates the partial likelihood score test statistics for testing the treatment*index interaction in the test set. It also provides pre-validated fits for each observation and pre-validated partial likelihood score test statistics. The output can be used to select the optimal number of binary rules.
Value
cv.cox.interaction returns
kmax
the optimal number of binary rules based the cross-validation
meanscore
nsteps-vector. The cross-validated partial likelihood score test statistics (significant at 0.05, if greater than 1.96) for the treatment*index interaction.
pvfit.score
nsteps-vector. The pre-validated partial likelihood score test statistics (significant at 0.05, if greater than 1.96) for the treatment*index interaction.
preval
nsteps by n matrix. Pre-validated fits for individual observation
References
L Tian and R Tibshirani
Adaptive index models for marker-based risk stratification,
Tech Report, available at http://www-stat.stanford.edu/~tibs/AIM.
R Tibshirani and B Efron, Pre-validation and inference in microarrays,
Statist. Appl. Genet. Mol. Biol., 1:1-18, 2002.
Author(s)
Lu Tian and Robert Tibshirani
Examples
## generate data
set.seed(1)
n=400
p=10
x=matrix(rnorm(n*p), n, p)
z=(x[,1]<0.2)+(x[,5]>0.2)
beta=1
trt=rbinom(n,1,0.5)
fail.time=rexp(n)*exp(-beta*z*trt)
cen.time=rexp(n)*1.25
y=pmin(fail.time, cen.time)
y=round(y*10)/10
delta=1*(fail.time<cen.time)
## cross-validate the interaction Cox AIM model
a=cv.cox.interaction(x, trt, y, delta, nsteps=10, K.cv=4, num.replicate=5)
## examine the score test statistics for the interaction in the test set
par(mfrow=c(1,2))
plot(a$meanscore, type="l")
plot(a$pvfit.score, type="l")
## construct the index with the optimal number of binary rules
k.opt=a$kmax
a=cox.interaction(x, trt, y, delta, nsteps=k.opt)
print(a)
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(AIM)
Loading required package: survival
> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/AIM/cv.cox.interaction.Rd_%03d_medium.png", width=480, height=480)
> ### Name: cv.cox.interaction
> ### Title: Cross-validation in the interaction Cox AIM
> ### Aliases: cv.cox.interaction
>
> ### ** Examples
>
> ## generate data
> set.seed(1)
>
> n=400
> p=10
> x=matrix(rnorm(n*p), n, p)
> z=(x[,1]<0.2)+(x[,5]>0.2)
> beta=1
> trt=rbinom(n,1,0.5)
> fail.time=rexp(n)*exp(-beta*z*trt)
> cen.time=rexp(n)*1.25
> y=pmin(fail.time, cen.time)
> y=round(y*10)/10
> delta=1*(fail.time<cen.time)
>
>
>
> ## cross-validate the interaction Cox AIM model
> a=cv.cox.interaction(x, trt, y, delta, nsteps=10, K.cv=4, num.replicate=5)
>
> ## examine the score test statistics for the interaction in the test set
> par(mfrow=c(1,2))
> plot(a$meanscore, type="l")
> plot(a$pvfit.score, type="l")
>
> ## construct the index with the optimal number of binary rules
> k.opt=a$kmax
> a=cox.interaction(x, trt, y, delta, nsteps=k.opt)
> print(a)
$res
$res[[1]]
jmax cutp maxdir maxsc
[1,] 1 0.3411197 -1 6.346391
$res[[2]]
jmax cutp maxdir maxsc
[1,] 1 0.3411197 -1 6.346391
[2,] 5 0.1777924 1 7.799308
$maxsc
[1] 6.346391 7.799308
>
>
>
>
>
> dev.off()
null device
1
>