Iterative algorithms to estimate M-estimators of location and scatter as well as symmetrized M-estimator using Huber's weight functions.
mvhuberM(X, qg = 0.9, fixed.loc = FALSE, location = NULL, init =
NULL, steps = Inf, eps = 1e-06, maxiter = 100, na.action = na.fail)symmhuber(X, qg = 0.9, init = NULL, steps = Inf, eps = 1e-6,
maxiter = 100, na.action = na.fail)
symmhuber.inc(X, qg=0.9, m=10, init=NULL, steps=Inf, permute=TRUE,
eps=1e-6, maxiter=100, na.action = na.fail)
a matrix or a data frame
a tuning parameter. The default is 0.9, see details
a logical, see details
an optional vector giving the location of the data or the initial value for the location if it is estimated
an optional starting value for scatter
fixed number of iteration steps to take, if Inf
iteration is repeated until convergence (or until maxiter
steps)
a parameter in symmhuber.inc
which defines how many pairwise differences are used, see details.
logical in symmhuber.inc
which determines whether the rows of X
are permuted randomly, see details.
tolerance for convergence
maximum number of iteration steps. Ignored if steps
is finite
a function which indicates what should happen when the data contain 'NA's. Default is to fail.
mvhuberM
returns a list with components
a vector
a matrix
symmhuber returns a matrix.
symmhuber.inc returns a matrix.
mvhuberM
computes multivariate M-estimators of location and scatter
using Huber's weight functions. The tuning parameter qg
defines cutoff-point c for weight functions so that \(c=F^{-1}(q)\), where F is the cdf of \(\chi^2\)-distribution with p degrees of freedom. The estimators with maximal breakdown point are obtained with the choice qg=F(p+1). If fixed.loc
is set TRUE, scatter estimator is computed with fixed location given by
location
(default is column means).
symmhuber
computes Huber's M-estimator of scatter using pairwise
differences of the data therefore avoiding location estimation.
symmhuber.inc
is a computationally lighter estimator to approximate symmetrized Huber's M-estimator of scatter. Only a subset of the pairwise
differences are used in the computation in the incomplete case. The magnitude of the subset used is controlled by the argument m
which is half
of the number of how many differences each observation is part of. Differences of successive observations are used, and therefore random permutation
of the rows of X
is suggested and is the default choice in the function. For details see Miettinen et al., 2016.
Huber, P.J. (1981), Robust Statistics, Wiley, New York.
Lopuhaa, H.P. (1989). On the relation between S-estimators and M-estimators of multivariate location and covariance. Annals of Statistics, 17, 1662-1683.
Sirkia, S., Taskinen, S., Oja, H. (2007) Symmetrised M-estimators of scatter. Journal of Multivariate Analysis, 98, 1611-1629.
Miettinen, J., Nordhausen, K., Taskinen, S., Tyler, D.E. (2016) On the computation of symmetrized M-estimators of scatter. In Agostinelli, C. Basu, A., Filzmoser, P. and Mukherje, D. (editors) ''Recent Advances in Robust Statistics: Theory and Application'', 131-149, Springer India, New Delhi.
# NOT RUN {
A<-matrix(c(1,2,-3,4,3,-2,-1,0,4),ncol=3)
X<-matrix(rnorm(1500),ncol=3)%*%t(A)
mvhuberM(X)
symmhuber(X)
symmhuber.inc(X, m=5)
symm.mvtmle.inc(X, m=5)
# }
Run the code above in your browser using DataLab