| SIS {SIS} | R Documentation |
This function first implements the iterative sure independence screening with functions GLMvanISISscad, GLMvanISISscad, COXvanISISscad, COXvarISISscad
for different variants of (I)SIS, then gets the final regression coefficients with functions getfinalSCADcoef, INDEPgetfinalSCADcoef,
getfinalSCADcoefCOX for the SCAD regularized loglikelihood for the variables picked by (I)SIS.
SIS(data=NULL, model='glm', family=NULL, method='efron', vartype=0, nsis=NULL, rank.method='obj', eps0=1e-3, inittype='NoPen', tune.method='BIC', folds=NULL, post.tune.method='CV',post.tune.folds=NULL, DOISIS=TRUE, ISIStypeCumulative=FALSE, maxloop=5, xtune=NULL, ytune=NULL, detail=FALSE)
data |
a list that contains the data. |
model |
the model used, the implemented ones are 'glm' and 'cox'. |
family |
a description of the error distribution and link function to be used in the generalized linear model. |
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. |
vartype |
vartype specifies variant (I)SIS of first type or second type.
|
nsis |
number of pedictors recuited by (I)SIS. |
rank.method |
the criterion for ranking predictor variables in (I)SIS. It can be either obj or coeff.
|
eps0 |
an effecitve zero. |
inittype |
inittype specifies the type of initial solution for the one-step SCAD. It can be either NoPen or L1.
|
tune.method |
method for tuning regularization parameter. |
folds |
fold information for cross validation. |
post.tune.method |
method for tuning regularization parameter in the final step for getting SCAD coefficients. |
post.tune.folds |
fold information for cross validation in the final step for getting SCAD coefficients. |
DOISIS |
DOISIS specifies whether to do iterative SIS.
|
ISIStypeCumulative |
ISIStypeCumulative specifies whether to allow variable deletion in each step of ISIS. (ISIStypeCumulative= FALSE allows variable deletion)
|
maxloop |
maximum number of loops in iterative SIS. |
xtune, ytune |
independent tuning dataset. |
detail |
indicates whether return detailed information or not. Default is FALSE.
|
Returns an object with
SISind |
the vector of indices selected by SIS. |
ISISind |
the vector of indices selected by ISIS. |
SIScoef |
a vector of final solution. |
Jianqing Fan, Yang Feng, Richard Samworth, and Yichao Wu
Jianqing Fan and Jinchi Lv (2008) Sure independence screening for ultra-high dimensional feature space (with discussion) Journal of Royal Statistical Society B, 36, 849-911.
Jianqing Fan, Richard Samworth, and Yichao Wu (2009) Ultrahigh dimensional variable selection: beyond the linear model Journal of Machine Learning Research, to appear.
Jianqing Fan and Rui Song (2009) Sure Independence Screening in Generalized Linear Models with NP-Dimensionality, technical report.
GLMvanISISscad, GLMvanISISscad, COXvanISISscad, COXvarISISscad, getfinalSCADcoef, INDEPgetfinalSCADcoef,
getfinalSCADcoefCOX
set.seed(0) b <- c(2,2,2,-3*sqrt(2)) n=150 p=200 truerho=0.5 corrmat=diag(rep(1-truerho, p))+matrix(truerho, p, p) corrmat[,4]=sqrt(truerho) corrmat[4, ]=sqrt(truerho) corrmat[4,4]=1 cholmat=chol(corrmat) x=matrix(rnorm(n*p, mean=0, sd=1), n, p) x=x%*%cholmat feta=x[, 1:4]%*%b fprob=exp(feta)/(1+exp(feta)) y=rbinom(n, 1, fprob) xtune=matrix(rnorm(n*p, mean=0, sd=1), n, p) xtune=xtune%*%cholmat feta=xtune[, 1:4]%*%b fprob=exp(feta)/(1+exp(feta)) ytune=rbinom(n, 1, fprob) binom.result1=SIS(data=list(x=x, y=y), family=binomial(), xtune=xtune, ytune=ytune) binom.result2=SIS(data=list(x=x, y=y), family=binomial(), xtune=xtune, ytune=ytune, vartype=1) binom.result3=SIS(data=list(x=x, y=y), family=binomial(), xtune=xtune, ytune=ytune, vartype=2) myrates <- exp(x[,1:4]%*%b) ytrue <- rexp(n, rate = myrates) cen <- rexp(n, rate = 0.1 ) time <- pmin(ytrue, cen) status <- as.numeric(ytrue <= cen) cox.result1=SIS(data=list(x=x,time=time,status=status), model='cox', vartype=0) cox.result2=SIS(data=list(x=x,time=time,status=status), model='cox', vartype=1) cox.result3=SIS(data=list(x=x,time=time,status=status), model='cox', vartype=2)