R: Predict method for iCoxBoost fits

predict.iCoxBoost {CoxBoost} | R Documentation

## Predict method for iCoxBoost fits

### Description

Obtains predictions at specified boosting steps from a iCoxBoost object fitted by `iCoxBoost`.

### Usage

    ## S3 method for class 'iCoxBoost'
    predict(object,newdata=NULL,
            subset=NULL,at.step=NULL,times=NULL,
            type=c("lp","logplik","risk","CIF"),...)

### Arguments

`object` | fitted CoxBoost object from a `CoxBoost` call.
`newdata` | data frame with new covariate values (for `n.new` observations). If just prediction for the training data is wanted, it can be omitted. If the predictive partial log-likelihood is wanted (`type=logplik`), this frame also has to contain the response information.
`subset` | an optional vector specifying a subset of observations to be used for evaluation.
`at.step` | scalar or vector of boosting step(s) at which prediction is wanted. If `type="risk"` is used, only one step is admissible. If no step is given, the final boosting step is used.
`times` | vector with `T` time points where prediction is wanted. Only needed for `type="risk"`
`type` | type of prediction to be returned: `"lp"` gives the linear predictor, `"logplik"` the partial log-likelihood, `"risk"` the predicted probability of not yet having had the event at the time points given in `times`, and `"CIF"` the predicted cumulative incidence function, i.e., the predicted probability of having had the event of interest.
`...` | miscellaneous arguments, none of which is used at the moment.

### Value

For `type="lp"` and `type="logplik"` a vector of length `n.new` (`at.step` being a scalar) or a `n.new * length(at.step)` matrix (`at.step` being a vector) with predictions is returned. For `type="risk"` or `type="CIF"` a `n.new * T` matrix with predicted probabilities at the specific time points is returned.

### Author(s)

Harald Binder binderh@uni-mainz.de

### Examples

    n <- 200; p <- 100
    beta <- c(rep(1,2),rep(0,p-2))
    x <- matrix(rnorm(n*p),n,p)
    actual.data <- as.data.frame(x)
    real.time <- -(log(runif(n)))/(10*exp(drop(x %*% beta)))
    cens.time <- rexp(n,rate=1/10)
    actual.data$status <- ifelse(real.time <= cens.time,1,0)
    actual.data$time <- ifelse(real.time <= cens.time,real.time,cens.time)

    #   define training and test set

    train.index <- 1:100
    test.index <- 101:200

    #   Fit a Cox proportional hazards model by iCoxBoost

    cbfit <- iCoxBoost(Surv(time,status) ~ .,data=actual.data[train.index,],
    				   stepno=300,cv=FALSE)

    #   mean partial log-likelihood for test set in every boosting step

    step.logplik <- predict(cbfit,newdata=actual.data[test.index,],
                            at.step=0:300,type="logplik")

    plot(step.logplik)

    #   names of covariates with non-zero coefficients at boosting step
    #   with maximal test set partial log-likelihood

    print(coef(cbfit,at.step=which.max(step.logplik)-1))

[Package CoxBoost version 1.4 Index]