adaHuber.reg | R Documentation |
Adaptive Huber regression from a data sample, with robustification parameter τ determined by a tuning-free principle.
adaHuber.reg( X, Y, method = c("standard", "adaptive"), epsilon = 1e-04, iteMax = 500 )
X |
A n by p design matrix. Each row is a vector of observation with p covariates. Number of observations n must be greater than number of covariates p. |
Y |
An n-dimensional response vector. |
method |
(optional) A character string specifying the method to calibrate the robustification parameter τ. Two choices are "standard"(default) and "adaptive". See Wang et al.(2021) for details. |
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. |
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.
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.
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
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.