CoxBoost (version 1.4)

estimPVal: Estimate p-values for a model fitted by CoxBoost

Description

Performs permutation-based p-value estimation for the optional covariates in a fit from CoxBoost.

Usage

estimPVal(object,x,permute.n=10,per.covariate=FALSE,parallel=FALSE, multicore=FALSE,trace=FALSE,...)

Arguments

object
fit object obtained from CoxBoost.
x
n * p matrix of covariates. This has to be the same that was used in the call to CoxBoost.
permute.n
number of permutations employed for obtaining a null distribution.
per.covariate
logical value indicating whether a separate null distribution should be considered for each covariate. A larger number of permutations will be needed if this is wanted.
parallel
logical value indicating whether computations for obtaining a null distribution via permutation 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 estimPVal.
multicore
indicates whether computations in the permuted data sets should be performed in parallel, using package parallel. If TRUE, package parallel is employed using the default number of cores. A value larger than 1 is taken to be the number of cores that should be employed.
trace
logical value indicating whether progress in estimation should be indicated by printing the number of the permutation that is currently being evaluated.
...
miscellaneous parameters for the calls to CoxBoost

Value

Vector with p-value estimates, one value for each optional covariate specificed in the original call to CoxBoost.

Details

As p-value estimates are based on permutations, random numbers are drawn for determining permutation indices. Therfore, the results depend on the state of the random number generator. This can be used to explore the variability due to random variation and help to determine an adequate value for permute.n. A value of 100 should be sufficient, but this can be quite slow. If there is a considerable number of covariates, e.g., larger than 100, a much smaller number of permutations, e.g., 10, might already work well. The estimates might also be negatively affected, if only a small number of boosting steps (say

References

Binder, H., Porzelius, C. and Schumacher, M. (2009). Rank-based p-values for sparse high-dimensional risk prediction models fitted by componentwise boosting. FDM-Preprint Nr. 101, University of Freiburg, Germany.

See Also

CoxBoost

Examples

Run this code
## 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)
# 
# #   Fit a Cox proportional hazards model by CoxBoost
# 
# cbfit <- CoxBoost(time=obs.time,status=status,x=x,stepno=100,
#                   penalty=100) 
# 
# #   estimate p-values
# 
# p1 <- estimPVal(cbfit,x,permute.n=10)
# 
# #   get a second vector of estimates for checking how large
# #   random variation is
# 
# p2 <- estimPVal(cbfit,x,permute.n=10)
# 
# plot(p1,p2,xlim=c(0,1),ylim=c(0,1),xlab="permute 1",ylab="permute 2")
# ## End(Not run)

Run the code above in your browser using DataCamp Workspace