visualize.penalty {grpnet} | R Documentation |
Plots grpnet Penalty Function or its Derivative
Description
Makes a plot or returns a data frame containing the group elastic net penalty (or its derivative) evaluated at a sequence of input values.
Usage
visualize.penalty(x = seq(-5, 5, length.out = 1001),
penalty = c("LASSO", "MCP", "SCAD"),
alpha = 1,
lambda = 1,
gamma = 4,
derivative = FALSE,
plot = TRUE,
subtitle = TRUE,
legend = TRUE,
location = ifelse(derivative, "bottom", "top"),
...)
Arguments
x |
sequence of values at which to evaluate the penalty. |
penalty |
which penalty or penalties should be plotted? |
alpha |
elastic net tuning parameter (between 0 and 1). |
lambda |
overall tuning parameter (non-negative). |
gamma |
additional hyperparameter for MCP (>1) or SCAD (>2). |
derivative |
if |
plot |
if |
subtitle |
if |
legend |
if |
location |
the legend's location; ignored if |
... |
addition arguments passed to |
Details
The group elastic net penalty is defined as
where denotes the L1 penalty (LASSO, MCP, or SCAD),
denotes the Euclidean norm,
is the L1 tuning parameter, and
is the L2 tuning parameter. Note that
and
denote the
lambda
and alpha
arguments.
Value
If plot = TRUE
, then produces a plot.
If plot = FALSE
, then returns a data frame.
Author(s)
Nathaniel E. Helwig <helwig@umn.edu>
References
Fan J, & Li, R. (2001). Variable selection via nonconcave penalized likelihood and its oracle properties. Journal of the American Statistical Association, 96(456), 1348-1360. doi:10.1198/016214501753382273
Helwig, N. E. (2024). Versatile descent algorithms for group regularization and variable selection in generalized linear models. Journal of Computational and Graphical Statistics. doi:10.1080/10618600.2024.2362232
Tibshirani, R. (1996). Regression and shrinkage via the Lasso. Journal of the Royal Statistical Society, Series B, 58, 267-288. doi:10.1111/j.2517-6161.1996.tb02080.x
Zhang CH (2010). Nearly unbiased variable selection under minimax concave penalty. The Annals of Statistics, 38(2), 894-942. doi:10.1214/09-AOS729
See Also
visualize.shrink
for plotting shrinkage operator
Examples
# plot penalty functions
visualize.penalty()
# plot penalty derivatives
visualize.penalty(derivative = TRUE)