R: Coarse line search for optimum step-size modification factor

optimStepSizeFactor {CoxBoost} | R Documentation

## Coarse line search for optimum step-size modification factor

### Description

This routine helps in finding an optimum step-size modification factor for `CoxBoost`, i.e., that results in an optimum in terms of cross-validated partial log-likelihood.

### Usage

    optimStepSizeFactor(time,status,x,
                        direction=c("down","up","both"),start.stepsize=0.1,
                        iter.max=10,constant.cv.res=NULL,
                        parallel=FALSE,trace=FALSE,...)

### Arguments

`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. If this vector contains elements not equal to `0` or `1`, these are taken to indicate events from a competing risk and a model for the subdistribution hazard with respect to event `1` is fitted (see e.g. Fine and Gray, 1999).
`x` | `n * p` matrix of covariates.
`direction` | direction of line search for an optimal step-size modification factor (starting from value 1).
`start.stepsize` | step size used for the line search. A final step is performed using half this size.
`iter.max` | maximum number of search iterations.
`constant.cv.res` | result of `cv.CoxBoost` for `stepsize.factor=1`, that can be provided for saving computing time, if it already is available.
`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 `snowfall` and the initialization function of of this package, `sfInit`, should be called before calling `cv.CoxBoost`.
`trace` | logical value indicating whether information on progress should be printed.
`...` | miscellaneous parameters for `cv.CoxBoost`.

### Details

A coarse line search is performed for finding the best parameter `stepsize.factor` for `CoxBoost`. If an `pendistmat` argument is provided (which is passed on to `CoxBoost`), a search for factors smaller than 1 is sensible (corresponding to `direction="down"`). If no connection information is provided, it is reasonable to employ `direction="both"`, for avoiding restrictions without subject matter knowledge.

### Value

List with the following components:

`factor.list` | array with the evaluated step-size modification factors.
`critmat` | matrix with the mean partial log-likelihood for each step-size modification factor in the course of the boosting steps.
`optimal.factor.index` | index of the optimal step-size modification factor.
`optimal.factor` | optimal step-size modification factor.
`optimal.step` | optimal boosting step number, i.e., with minimum mean partial log-likelihood, for step-size modification factor `optimal.factor`.

### Author(s)

Written by Harald Binder binderh@uni-mainz.de.

### References

Binder, H. and Schumacher, M. (2009). Incorporating pathway information into boosting estimation of high-dimensional risk prediction models. BMC Bioinformatics. 10:18.

### See Also

`CoxBoost`, `cv.CoxBoost`

### Examples

    ## 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 step-size modification factor. As there is no connection matrix,
    #  perform search into both directions

    optim.res <- optimStepSizeFactor(direction="both",
                                    time=obs.time,status=status,x=x,
                                    trace=TRUE)

    #   Fit with obtained step-size modification parameter and optimal number of boosting
    #   steps obtained by cross-validation

    cbfit <- CoxBoost(time=obs.time,status=status,x=x,
                      stepno=optim.res$optimal.step,
                      stepsize.factor=optim.res$optimal.factor)
    summary(cbfit)

    ## End(Not run)

[Package CoxBoost version 1.4 Index]