VS_method applies the chosen variable-selection algorithm for generalized linear models to each leading set produced by S3VS at every iteration.

VS_method_GLM(y, X, vsel_method, alpha = 0.5, verbose = FALSE, 
              parallel = FALSE, ncores = NULL)

Arguments

y

Response. A numeric/integer/logical vector with values in {0,1}.

X

Predictor matrix. Can be a base matrix or something as.matrix() can coerce. No missing values are allowed.

vsel_method

Character string indicating the variable-selection engine used at each iteration. Available options are "NLP" and "LASSO". See Details for more information.

alpha

Only used when vsel_method == "ENET". Elastic net mixing parameter, with \(\alpha \in (0,1)\).

verbose

If TRUE, some information is printed. FALSE, by default.

parallel

Logical. If TRUE, cross-validation steps in penalized regression methods (e.g., LASSO or elastic net via glmnet) are executed in parallel using the doParallel backend. Defaults to FALSE. The package doParallel must be installed when parallel = TRUE.

ncores

Integer; number of CPU cores to use when parallel = TRUE. If NULL (default), the number of cores is set to one fewer than the total number detected on the system. Ignored when parallel = FALSE.

Value

A list containing:

sel

Character vector with names of the selected predictors.

nosel

Character vector with names of the predictors not selected.

Author

Nilotpal Sanyal <nsanyal@utep.edu>, Padmore N. Prempeh <pprempeh@albany.edu>

Examples

# Simulate binary data
set.seed(123)
n <- 100
p <- 150
X <- matrix(rnorm(n * p), n, p)
colnames(X) <- paste0("V", 1:p)
eta <- X[,1] + 0.5 * X[,2]
prob <- 1 / (1 + exp(-eta))
y <- rbinom(n, size = 1, prob = prob)
# Run VS_method
VS_method_GLM(y, X, vsel_method = "LASSO", verbose = FALSE)
#> $sel
#> NULL
#> 
#> $nosel
#>   [1] "V1"   "V2"   "V3"   "V4"   "V5"   "V6"   "V7"   "V8"   "V9"   "V10" 
#>  [11] "V11"  "V12"  "V13"  "V14"  "V15"  "V16"  "V17"  "V18"  "V19"  "V20" 
#>  [21] "V21"  "V22"  "V23"  "V24"  "V25"  "V26"  "V27"  "V28"  "V29"  "V30" 
#>  [31] "V31"  "V32"  "V33"  "V34"  "V35"  "V36"  "V37"  "V38"  "V39"  "V40" 
#>  [41] "V41"  "V42"  "V43"  "V44"  "V45"  "V46"  "V47"  "V48"  "V49"  "V50" 
#>  [51] "V51"  "V52"  "V53"  "V54"  "V55"  "V56"  "V57"  "V58"  "V59"  "V60" 
#>  [61] "V61"  "V62"  "V63"  "V64"  "V65"  "V66"  "V67"  "V68"  "V69"  "V70" 
#>  [71] "V71"  "V72"  "V73"  "V74"  "V75"  "V76"  "V77"  "V78"  "V79"  "V80" 
#>  [81] "V81"  "V82"  "V83"  "V84"  "V85"  "V86"  "V87"  "V88"  "V89"  "V90" 
#>  [91] "V91"  "V92"  "V93"  "V94"  "V95"  "V96"  "V97"  "V98"  "V99"  "V100"
#> [101] "V101" "V102" "V103" "V104" "V105" "V106" "V107" "V108" "V109" "V110"
#> [111] "V111" "V112" "V113" "V114" "V115" "V116" "V117" "V118" "V119" "V120"
#> [121] "V121" "V122" "V123" "V124" "V125" "V126" "V127" "V128" "V129" "V130"
#> [131] "V131" "V132" "V133" "V134" "V135" "V136" "V137" "V138" "V139" "V140"
#> [141] "V141" "V142" "V143" "V144" "V145" "V146" "V147" "V148" "V149" "V150"
#>