Learn R Programming

SIS (version 0.4)

getfinalSCADcoefCOX: SCAD regularized loglikelihood for Cox proportional hazards regression models

Description

This function gets the final regression coefficients for the SCAD regularized loglikelihood for Cox proportional hazards regression models after applying (I)SIS

Usage

getfinalSCADcoefCOX(x, time, status, method = "efron", pickind, 
folds = NULL, eps0 = 1e-5, tune.method = "AIC", inittype = "NoPen",
detailed = FALSE)

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.
pickind
predictor indice selected by (I)SIS.
folds
fold information for cross validation.
eps0
an effecitve zero.
tune.method
method for tuning regularization parameter.
inittype
inittype specifies the type of initial solution for the one-step SCAD. It can be either NoPen or L1.
detailed
indicates whether detailed information will be provided. Default is FALSE.

Value

  • An initial solution vector wt.initsoln and final solution (p) vector SCADcoef.

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

scadcox, fullscadcox

Examples

Run this code
set.seed(0)
n=150
p=200
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)

SIScoef <- getfinalSCADcoefCOX(x = x, time = time, status = status, 
            pickind = 1:5)

Run the code above in your browser using DataLab