cv.CoxBoost {CoxBoost} | R Documentation |
Performs a K-fold cross-validation for CoxBoost
in search for the optimal number of boosting steps.
cv.CoxBoost(time,status,x,maxstepno=100,K=10,type=c("verweij","naive"), trace=FALSE,...)
time |
vector of length n specifying the observed times. |
status |
censoring indicator, i.e., vector of length n with entries 0 for censored observations and 1 for uncensored observations. |
x |
n * p matrix of covariates. |
maxstepno |
maximum number of boosting steps to evaluate, i.e, the returned ``optimal'' number of boosting steps will be in the range [1,maxstepno] . |
K |
number of folds to be used for cross-validation. If K is larger or equal to the number of non-zero elements in status , leave-one-out cross-validation is performed. |
type |
way of calculating the partial likelihood contribution of the observation in the hold-out folds: "verweij" uses the more appropriate method described in Verweij and van Houwelingen (1996), "naive" uses the approach where the observations that are not in the hold-out folds are ignored (often found in other R packages). |
trace |
logical value indicating whether progress in estimation should be indicated by printing the number of the cross-validation fold and the index of the covariate updated. |
... |
miscellaneous parameters for the calls to CoxBoost |
List with the following components:
mean.logplik |
vector of length maxstepno with the mean partial log-likelihood for each boosting step |
se.logplik |
vector with standard error estimates for the mean partial log-likelihood criterion for each boosting step. |
optimal.step |
optimal boosting step number, i.e., with minimum mean partial log-likelihood. |
Harald Binder binderh@fdm.uni-freiburg.de
Verweij, P. J. M. and van Houwelingen, H. C. (1996). Cross-validation in survival analysis. Statistics in Medicine, 12(24):2305-2314.
CoxBoost
, optimCoxBoostPenalty
## Not run: # Generate some survival data with 10 informative covariates n <- 200; p <- 100 beta <- c(rep(1,10),rep(0,p-10)) 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) # 10-fold cross-validation cv.res <- cv.CoxBoost(time=obs.time,status=status,x=x,maxstepno=500, K=10,type="verweij",penalty=100) # examine mean partial log-likelihood 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)