adaHuber.lasso {adaHuber} | R Documentation |
Regularized Adaptive Huber Regression
Description
Sparse regularized Huber regression models in high dimensions with \ell_1
(lasso) penalty. The function implements a localized majorize-minimize algorithm with a gradient-based method.
Usage
adaHuber.lasso(
X,
Y,
lambda = 0.5,
tau = 0,
phi0 = 0.01,
gamma = 1.2,
epsilon = 0.001,
iteMax = 500
)
Arguments
X |
A |
Y |
An |
lambda |
(optional) Regularization parameter. Must be positive. Default is 0.5. |
tau |
(optional) The robustness parameter. If not specified or the input value is non-positive, a tuning-free principle is applied. Default is 0 (hence, tuning-free). |
phi0 |
(optional) The initial quadratic coefficient parameter in the local adaptive majorize-minimize algorithm. Default is 0.01. |
gamma |
(optional) The adaptive search parameter (greater than 1) in the local adaptive majorize-minimize algorithm. Default is 1.2. |
epsilon |
(optional) Tolerance level of the gradient-based algorithm. The iteration will stop when the maximum magnitude of all the elements of the gradient is less than |
iteMax |
(optional) Maximum number of iterations. Default is 500. |
Value
An object containing the following items will be returned:
coef
A
(p + 1)
vector of estimated sparse regression coefficients, including the intercept.tau
The robustification parameter calibrated by the tuning-free principle (if the input is non-positive).
iteration
Number of iterations until convergence.
phi
The quadratic coefficient parameter in the local adaptive majorize-minimize algorithm.
References
Pan, X., Sun, Q. and Zhou, W.-X. (2021). Iteratively reweighted l1-penalized robust regression. Electron. J. Stat., 15, 3287-3348.
Sun, Q., Zhou, W.-X. and Fan, J. (2020). Adaptive Huber regression. J. Amer. Statist. Assoc., 115 254-265.
Wang, L., Zheng, C., Zhou, W. and Zhou, W.-X. (2021). A new principle for tuning-free Huber regression. Stat. Sinica, 31, 2153-2177.
See Also
See adaHuber.cv.lasso
for regularized adaptive Huber regression with cross-validation.
Examples
n = 200; p = 500; s = 10
beta = c(rep(1.5, s + 1), rep(0, p - s))
X = matrix(rnorm(n * p), n, p)
err = rt(n, 2)
Y = cbind(rep(1, n), X) %*% beta + err
fit.lasso = adaHuber.lasso(X, Y, lambda = 0.5)
beta.lasso = fit.lasso$coef