Determines the optimal number of boosting steps by crossvalidation
Description
Performs a Kfold crossvalidation for CoxBoost
in search for the optimal number of boosting steps.
Usage
1 2 3 4 
Arguments
time 
vector of length 
status 
censoring indicator, i.e., vector of length 
x 

subset 
a vector specifying a subset of observations to be used in the fitting process. 
maxstepno 
maximum number of boosting steps to evaluate, i.e, the returned “optimal” number of boosting steps will be in the range 
K 
number of folds to be used for crossvalidation. If 
type 
way of calculating the partial likelihood contribution of the observation in the holdout folds: 
parallel 
logical value indicating whether computations in the crossvalidation folds should be performed in parallel on a compute cluster, using package 
multicore 
indicates whether computations in the crossvalidation folds should be performed in parallel, using package 
upload.x 
logical value indicating whether 
folds 
if not 
trace 
logical value indicating whether progress in estimation should be indicated by printing the number of the crossvalidation fold and the index of the covariate updated. 
... 
miscellaneous parameters for the calls to 
Value
List with the following components:
mean.logplik 
vector of length 
se.logplik 
vector with standard error estimates for the mean partial loglikelihood criterion for each boosting step. 
optimal.step 
optimal boosting step number, i.e., with minimum mean partial loglikelihood. 
folds 
list of length 
Author(s)
Harald Binder binderh@unimainz.de
References
Verweij, P. J. M. and van Houwelingen, H. C. (1993). Crossvalidation in survival analysis. Statistics in Medicine, 12(24):23052314.
See Also
CoxBoost
, optimCoxBoostPenalty
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27  ## Not run:
# Generate some survival data with 10 informative covariates
n < 200; p < 100
beta < c(rep(1,10),rep(0,p10))
x < matrix(rnorm(n*p),n,p)
real.time < (log(runif(n)))/(10*exp(drop(x %*% beta)))
cens.time < rexp(n,rate=1/10)
status < ifelse(real.time <= cens.time,1,0)
obs.time < ifelse(real.time <= cens.time,real.time,cens.time)
# 10fold crossvalidation
cv.res < cv.CoxBoost(time=obs.time,status=status,x=x,maxstepno=500,
K=10,type="verweij",penalty=100)
# examine mean partial loglikelihood in the course of the boosting steps
plot(cv.res$mean.logplik)
# Fit with optimal number of boosting steps
cbfit < CoxBoost(time=obs.time,status=status,x=x,stepno=cv.res$optimal.step,
penalty=100)
summary(cbfit)
## End(Not run)
