Generalized Linear Models with Slab and Shrinkage Estimators
savvy_glm2.Rd
savvy_glm2
extends the classical glm2
function from the glm2
package by embedding a set of shrinkage-based methods within the iteratively reweighted least squares (IRLS) algorithm.
These shrinkage methods (implemented via savvy_glm.fit2
) are designed to improve convergence and estimation accuracy.
The user can specify one or more methods through the model_class
argument. When multiple methods are provided (default is c("St", "DSh", "SR", "GSR", "Sh")
),
the function can evaluate them in parallel (controlled by the use_parallel
argument) and selects the final model based on criterion.
Arguments
- formula
An object of class "formula": a symbolic description of the model to be fitted. As for
glm2
.- family
A description of the error distribution and link function to be used in the model. As for
glm2
.- data
An optional data frame, list or environment containing the variables in the model. As for
glm2
.- weights
An optional vector of weights to be used in the fitting process. As for
glm2
.- model_class
A character vector specifying the shrinkage method(s) to be used in the underlying fitter
savvy_glm.fit2
. Allowed values are"St"
,"DSh"
,"SR"
,"GSR"
, and"Sh"
. If a single value is provided, only that method is executed. If multiple values are provided, the specified methods are evaluated (in parallel ifuse_parallel = TRUE
) and the one with the lowest AIC is returned. By default, the value isc("St", "DSh", "SR", "GSR")
; note that the"Sh"
method is considered only if explicitly included.- subset
An optional vector specifying a subset of observations to be used in the fitting process. As for
glm2
.- na.action
A function which indicates what should happen when the data contain NAs. As for
glm2
.- start
Starting values for the parameters in the linear predictor. As for
glm2
.- etastart
Starting values for the linear predictor. As for
glm2
.- mustart
Starting values for the vector of means. As for
glm2
.- offset
An optional vector specifying a priori known component to be included in the linear predictor during fitting. As for
glm2
.- control
A list of control parameters to pass to the iterative fitting process. As for
glm2
.- model
A logical value indicating whether the model frame should be included as a component of the returned value. As for
glm2
.- method
The method to be used in fitting the model. The default is
savvy_glm.fit2
. This method uses IRLS with custom optimization methods to ensure better convergence by evaluating different fitting methods and selecting the best one based on AIC. As inglm2
, the alternative method "model.frame" returns the model frame and does no fitting.- x
A logical value indicating whether the model matrix used in the fitting process should be returned as a component of the returned value. As for
glm2
.- y
A logical value indicating whether the response vector used in the fitting process should be returned as a component of the returned value. As for
glm2
.- contrasts
An optional list. See the contrasts.arg of
model.matrix.default
. As forglm2
.- use_parallel
A logical value specifying whether to evaluate multiple shrinkage methods in parallel. Defaults to
TRUE
. Setting this toFALSE
forces sequential evaluation.- ...
Additional arguments to be passed to the low level regression fitting functions. As for
glm2
.
Value
The value returned by savvy_glm2
has exactly the same structure as that returned by glm2
, except for:
- method
the name of the fitter function used, which by default is
savvy_glm.fit2
.- chosen_fit
the name of the chosen fitting method based on AIC.
Details
savvy_glm2
improves upon the standard Generalized Linear Model (GLM) fitting process by incorporating
shrinkage estimator functions (St_ost
, DSh_ost
, SR_ost
, GSR_ost
, and optionally Sh_ost
)
within the IRLS algorithm. The function begins with initial parameter estimates and iteratively updates the coefficients using the
specified shrinkage methods. When multiple methods are specified in model_class
, they may be evaluated in parallel (if
use_parallel = TRUE
), and the final model is selected based on the lowest AIC. In cases where any candidate model returns an NA
or non-finite AIC (such as when using quasi-likelihood families), the deviance is used uniformly as the selection criterion.
This approach ensures that the chosen model represents the best trade-off between fit and complexity given the data and the specified family.
References
Marschner, I. C. (2011). glm2: Fitting Generalized Linear Models with Convergence Problems. The R Journal, 3(2), 12–15. doi:10.32614/RJ-2011-012. Available at: https://doi.org/10.32614/RJ-2011-012.
Asimit, V., Cidota, M. A., Chen, Z., & Asimit, J. (2025). Slab and Shrinkage Linear Regression Estimation. Retrieved from https://openaccess.city.ac.uk/id/eprint/35005/.
SavvyGLM article. https://ziwei-chenchen.github.io/savvyGLM.
See also
glm
, glm2
, savvy_glm.fit2