VS_method_SURV.RdVS_method applies the chosen variable-selection algorithm for survival models to each leading set produced by S3VS at every iteration.
VS_method_SURV(y, X, surv_model, vsel_method, alpha = 0.5,
p_thresh = 0.1, gamma = 0.9, verbose = FALSE, ...)Predictor matrix. Can be a base matrix or something as.matrix() can coerce. No missing values are allowed.
Character string specifying the survival model. Must be explicitly provided; there is no default. Values are "Cox" for proportional hazards models, "AFT" for accelerated failure time models.
Character string indicating the variable-selection engine used at each iteration. Available options are "COXGLMNET" for surv_model = "COX" and "AFTREG", "AFTGEE", "BRIDGE", and "PVAFT" for surv_model = "AFT". See Details for more information.
Only used when vsel_method == "ENET". Elastic net mixing parameter, with \(\alpha \in (0,1)\).
Only used with vsel_method = "BRIDGE". Numeric scalar (default 0.5) giving the exponent in the bridge penalty. Must be \(> 0\). See details.
Other arguments to be passed inside eha::aftreg() when surv_model = "AFT" and vsel_method = "AFTREG"
A list containing:
Character vector with names of the selected predictors.
Character vector with names of the predictors not selected.
# Simulate survival data (Cox)
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]
base_rate <- 0.05
T_event <- rexp(n, rate = base_rate * exp(eta))
C <- rexp(n, rate = 0.03)
time <- pmin(T_event, C)
status <- as.integer(T_event <= C)
y_surv <- list(time = time, status = status)
# Run VS_method
VS_method_SURV(y_surv, X, surv_model = "COX", vsel_method = "COXGLMNET", verbose = FALSE)
#> Warning: Ran out of iterations and did not converge
#> $sel
#> [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"
#>
#> $nosel
#> character(0)
#>