scadcox {SIS}R Documentation

SCAD regularized loglikelihood for Cox proportional hazards regression models

Description

These functions solve SCAD regularized loglikelihood for Cox proportional hazards regression models; scadcox does the one-step SCAD while fullscadcox solves the SCAD in a fully iterative method.

Usage

scadcox(x, time, status,  method="efron", wt.initsoln=NULL, lambda, 
    initsoln=NULL, weight = NULL, function.precision=1e-8, 
    nopenalty.subset=NULL)
    
fullscadcox(x, time, status,  method="efron", lambda, 
    initsoln=NULL, weight = NULL, function.precision=1e-8, 
    nopenalty.subset=NULL, eps0=1e-6)

Arguments

x an (n * p) matrix of features.
time an (n) vector of the follow up time for right censored data.
status an (n) vector of the status indicator, normally 0=alive, 1=dead.
method indicates how to handle observations that have tied (i.e., identical) survival times. The default "efron" method is generally preferred to the once-popular "breslow" method.
wt.initsoln a (p) vector of initial solution for one-step SCAD.
lambda the regularization parameter.
initsoln a (p) vector of initial solution.
weight an optional (n) vector of weights to be used in the fitting process.
function.precision function.precision parameter used in the internal solver. Default is 1e-8.
nopenalty.subset a set of indices for the predictors that are not subject to the L1 penalty.
eps0 an effecitve zero.

Value

They return a (p) vector of estimated coefficients.

Author(s)

Jianqing Fan, Yang Feng, Richard Samworth, and Yichao Wu

References

Jianqing Fan and Runze Li (2002) Variable Selection for Cox's Proportional Hazards Model and Frailty Model. The Annals of Statistics, 30, 74-99.

Hui Zou and Runze Li (2008) One-step Sparse Estimates in Nonconcave Penalized Likelihood Models (with discussion). The Annals of Statistics, 36, 1509-1533

See Also

wtlassocox

Examples

set.seed(0)
n=400
p=1000
truerho=0.5
beta <- c(4,4,4,-6*sqrt(2),4/3, rep(0,p-5))

corrmat=diag(rep(1-truerho, p))+matrix(truerho, p, p)
corrmat[,4]=sqrt(truerho)
corrmat[4, ]=sqrt(truerho)
corrmat[4,4]=1
corrmat[,5]=0
corrmat[5,]=0
corrmat[5,5]=1
cholmat=chol(corrmat)

x=matrix(rnorm(p*n, mean=0, sd=1), n, p)
x=x%*%cholmat

myrates <- exp(x%*%beta)

ytrue <- rexp(n, rate = myrates) 
cen <- rexp(n, rate = 0.1 )
time <- pmin(ytrue, cen)
status <- as.numeric(ytrue <= cen)

w1 <- scadcox(x[,1:100],time,status,lambda=0.003)
w2 <- coxph(Surv(time,status)~x[,1:100])$coef


[Package SIS version 0.2 Index]