Description Usage Arguments Details Value Author(s) References See Also Examples
This routine helps in finding a penalty value that leads to an “optimal” number of boosting steps for CoxBoost, determined by cross-validation, that is not too small/in a specified range.
1 2 3 4 |
time |
vector of length |
status |
censoring indicator, i.e., vector of length |
x |
|
minstepno, maxstepno |
range of boosting steps in which the “optimal” number of boosting steps is wanted to be. |
start.penalty |
start value for the search for the appropriate penalty. |
iter.max |
maximum number of search iterations. |
upper.margin |
specifies the fraction of |
parallel |
logical value indicating whether computations in the cross-validation folds should be performed in parallel on a compute cluster. Parallelization is performed via the package |
trace |
logical value indicating whether information on progress should be printed. |
... |
miscellaneous parameters for |
The penalty parameter for CoxBoost
has to be chosen only very coarsely. In Tutz and Binder (2006) it is suggested for likelihood based boosting just to make sure, that the optimal number of boosting steps, according to some criterion such as cross-validation, is larger or equal to 50. With a smaller number of steps, boosting may become too “greedy” and show sub-optimal performance. This procedure uses a very coarse line search and so one should specify a rather large range of boosting steps.
List with element penalty
containing the “optimal” penalty and cv.res
containing the corresponding result of cv.CoxBoost
.
Written by Harald Binder binderh@uni-mainz.de.
Tutz, G. and Binder, H. (2006) Generalized additive modelling with implicit variable selection by likelihood based boosting. Biometrics, 62:961-971.
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 | ## 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)
# determine penalty parameter
optim.res <- optimCoxBoostPenalty(time=obs.time,status=status,x=x,
trace=TRUE,start.penalty=500)
# Fit with obtained penalty parameter and optimal number of boosting
# steps obtained by cross-validation
cbfit <- CoxBoost(time=obs.time,status=status,x=x,
stepno=optim.res$cv.res$optimal.step,
penalty=optim.res$penalty)
summary(cbfit)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.