Learn R Programming

SpatialNP (version 1.1-5)

mvhuberM: Multivariate Huber's M-estimator and its symmetrized version

Description

Iterative algorithms to estimate M-estimators of location and scatter as well as symmetrized M-estimator using Huber's weight functions.

Usage

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)

Arguments

X

a matrix or a data frame

qg

a tuning parameter. The default is 0.9, see details

fixed.loc

a logical, see details

location

an optional vector giving the location of the data or the initial value for the location if it is estimated

init

an optional starting value for scatter

steps

fixed number of iteration steps to take, if Inf iteration is repeated until convergence (or until maxiter steps)

m

a parameter in symmhuber.inc which defines how many pairwise differences are used, see details.

permute

logical in symmhuber.inc which determines whether the rows of X are permuted randomly, see details.

eps

tolerance for convergence

maxiter

maximum number of iteration steps. Ignored if steps is finite

na.action

a function which indicates what should happen when the data contain 'NA's. Default is to fail.

Value

mvhuberM returns a list with components

location

a vector

scatter

a matrix

symmhuber returns a matrix.

symmhuber.inc returns a matrix.

Details

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.

References

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.

Examples

Run this code
# 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