adaHuber.reg {adaHuber} | R Documentation |
Adaptive Huber Regression
Description
Adaptive Huber regression from a data sample, with robustification parameter \tau
determined by a tuning-free principle.
Usage
adaHuber.reg(
X,
Y,
method = c("standard", "adaptive"),
epsilon = 1e-04,
iteMax = 500
)
Arguments
X |
A |
Y |
An |
method |
(optional) A character string specifying the method to calibrate the robustification parameter |
epsilon |
(optional) Tolerance level of the gradient descent 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 regression coefficients, including the intercept.tau
The robustification parameter calibrated by the tuning-free principle.
iteration
Number of iterations until convergence.
References
Huber, P. J. (1964). Robust estimation of a location parameter. Ann. Math. Statist., 35, 73–101.
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.
Examples
n = 200
p = 10
beta = rep(1.5, p + 1)
X = matrix(rnorm(n * p), n, p)
err = rt(n, 2)
Y = cbind(1, X) %*% beta + err
fit.huber = adaHuber.reg(X, Y, method = "standard")
beta.huber = fit.huber$coef
fit.adahuber = adaHuber.reg(X, Y, method = "adaptive")
beta.adahuber = fit.adahuber$coef