SelectBoost for GAMLSS (stability selection)
sb_gamlss(
formula,
data,
family,
mu_scope,
sigma_scope = NULL,
nu_scope = NULL,
tau_scope = NULL,
base_sigma = ~1,
base_nu = ~1,
base_tau = ~1,
B = 100,
sample_fraction = 0.7,
pi_thr = 0.6,
k = 2,
direction = c("both", "forward", "backward"),
pre_standardize = FALSE,
use_groups = FALSE,
c0 = 0.5,
engine = c("stepGAIC", "glmnet", "grpreg", "sgl"),
engine_sigma = NULL,
engine_nu = NULL,
engine_tau = NULL,
grpreg_penalty = c("grLasso", "grMCP", "grSCAD"),
sgl_alpha = 0.95,
df_smooth = 6L,
progress = TRUE,
glmnet_alpha = 1,
glmnet_family = c("gaussian", "binomial", "poisson"),
parallel = c("none", "auto", "multisession", "multicore"),
workers = NULL,
trace = TRUE,
corr_func = "cor",
group_fun = SelectBoost::group_func_2,
...
)An object of class "sb_gamlss" with elements:
final_fit: the final gamlss object.
final_formula: list of formulas for mu/sigma/nu/tau.
selection: data.frame of selection counts and proportions.
B, sample_fraction, pi_thr, k.
scaler: list with center, scale, vars, response.
Base formula for the location \(\mu\) parameter (in the main model call).
Data frame.
A gamlss.dist family object (e.g., gamlss.dist::NO()).
Formula of candidate terms for \(\mu\).
Formulas of candidate terms for \(\sigma\), \(\nu\), \(\tau\).
Optional base (always-included) formulas for \(\sigma\), \(\nu\), \(\tau\).
Number of bootstrap subsamples for stability selection.
Fraction of rows per subsample (e.g., 0.7).
Selection proportion threshold to define “stable” terms (e.g., 0.6).
Penalty weight for stepwise GAIC when engine = "stepGAIC" (default 2).
Stepwise direction for stepGAIC ("both", "forward", "backward").
Logical; standardize numeric predictors before penalized fits.
Logical; treat SelectBoost correlation groups during resampling.
SelectBoost meta-parameter controlling reweighting/thresholding (see vignette).
Engine for \(\mu\) ("stepGAIC", "glmnet", "grpreg", "sgl").
Optional engines for \(\sigma\), \(\nu\), \(\tau\).
Group penalty for grpreg ("grLasso", "grMCP", "grSCAD").
Alpha for sparse group lasso.
Degrees of freedom for proxy spline bases (pb()/cs() → splines::bs(df=df_smooth)) used only for grouped selection design.
Logical; show a progress bar in sequential runs.
Elastic-net mixing for glmnet (1 = lasso, 0 = ridge).
Family passed to glmnet-based selectors ("gaussian", "binomial", "poisson").
Parallel mode ("none", "auto", "multisession", `"multicore").
Integer; number of workers if parallel.
Logical; print progress messages.
Correlation function passed to SelectBoost::boost.compcorrs.
Grouping function passed to SelectBoost::boost.findgroups.
Passed to underlying engines (e.g., to gamlss::gamlss, glmnet, etc.).
if (FALSE) { # requireNamespace("gamlss.dist", quietly = TRUE)
set.seed(1)
dat <- data.frame(
y = gamlss.dist::rNO(60, mu = 0),
x1 = rnorm(60),
x2 = rnorm(60),
x3 = rnorm(60)
)
fit <- sb_gamlss(
y ~ 1,
data = dat,
family = gamlss.dist::NO(),
mu_scope = ~ x1 + x2 + gamlss::pb(x3),
B = 8,
pi_thr = 0.6,
trace = FALSE
)
fit$final_formula
}
Run the code above in your browser using DataLab