Learn R Programming

rrcov (version 1.3-4)

CovSest: S Estimates of Multivariate Location and Scatter

Description

Computes S-Estimates of multivariate location and scatter based on Tukey's biweight function using a fast algorithm similar to the one proposed by Salibian-Barrera and Yohai (2006) for the case of regression. Alternativley, the Ruppert's SURREAL algorithm, bisquare or Rocke type estimation can be used.

Usage

CovSest(x, bdp = 0.5, arp = 0.1, eps = 1e-5, maxiter = 120,
        nsamp = 500, seed = NULL, trace = FALSE, tolSolve = 1e-14,
        method = c("sfast", "surreal", "bisquare", "rocke", "suser"), control,
        t0, S0, initcontrol)

Arguments

x
a matrix or data frame.
bdp
a numeric value specifying the required breakdown point. Allowed values are between (n - p)/(2 * n) and 1 and the default is bdp=0.5.
arp
a numeric value specifying the asympthotic rejection point (for the Rocke type S estimates), i.e. the fraction of points receiving zero weight (see Rocke (1996)). Default is arp=0.1.
eps
a numeric value specifying the relative precision of the solution of the S-estimate (bisquare and Rocke type). Default is to eps=1e-5.
maxiter
maximum number of iterations allowed in the computation of the S-estimate (bisquare and Rocke type). Default is maxiter=120.
nsamp
the number of random subsets considered. The default is different for the different methods: (i) for sfast it is nsamp = 20, (ii) for surreal it is nsamp = 600*p and (iii) for bisquare<
seed
starting value for random generator. Default is seed = NULL.
trace
whether to print intermediate results. Default is trace = FALSE.
tolSolve
numeric tolerance to be used for inversion (solve) of the covariance matrix in mahalanobis.
method
Which algorithm to use: 'sfast'=C implementation of FAST-S, 'surreal'=SURREAL, 'bisquare', 'rocke'. The method 'suser' currently calls the R implementation of FAST-S but in the future will allow the user to supply own rho function.
control
a control object (S4) of class CovControlSest-class containing estimation options - same as these provided in the fucntion specification. If the control object is supplied, the parame
t0
optional initial HBDP estimate for the center
S0
optional initial HBDP estimate for the covariance matrix
initcontrol
optional control object to be used for computing the initial HBDP estimates

Value

encoding

latin1

concept

High breakdown point

Details

Computes multivariate S-estimator of location and scatter. The computation will be performed by one of the following algorithms: [object Object],[object Object],[object Object],[object Object] Except for the last algorithm, ROCKE, all other use Tukey biweight loss function. The tuning parameters used in the loss function (as determined by bdp) are returned in the slots cc and kp of the result object. They can be computed by the internal function .csolve.bw.S(bdp, p).

References

H.P. Lopuha� (1989) On the Relation between S-estimators and M-estimators of Multivariate Location and Covariance. Annals of Statistics 17 1662--1683. D. Ruppert (1992) Computing S Estimators for Regression and Multivariate Location/Dispersion. Journal of Computational and Graphical Statistics 1 253--270. M. Salibian-Barrera and V. Yohai (2006) A fast algorithm for S-regression estimates, Journal of Computational and Graphical Statistics, 15, 414--427. R. A. Maronna, D. Martin and V. Yohai (2006). Robust Statistics: Theory and Methods. Wiley, New York. Todorov V & Filzmoser P (2009), An Object Oriented Framework for Robust Multivariate Analysis. Journal of Statistical Software, 32(3), 1--47. URL http://www.jstatsoft.org/v32/i03/.

Examples

Run this code
library(rrcov)
data(hbk)
hbk.x <- data.matrix(hbk[, 1:3])
CovSest(hbk.x)

## the following four statements are equivalent
c0 <- CovSest(hbk.x)
c1 <- CovSest(hbk.x, bdp = 0.25)
c2 <- CovSest(hbk.x, control = CovControlSest(bdp = 0.25))
c3 <- CovSest(hbk.x, control = new("CovControlSest", bdp = 0.25))

## direct specification overrides control one:
c4 <- CovSest(hbk.x, bdp = 0.40,
             control = CovControlSest(bdp = 0.25))
c1
summary(c1)
plot(c1)

## Use the SURREAL algorithm of Ruppert
cr <- CovSest(hbk.x, method="surreal")
cr

## Use Bisquare estimation
cr <- CovSest(hbk.x, method="bisquare")
cr

## Use Rocke type estimation
cr <- CovSest(hbk.x, method="rocke")
cr

Run the code above in your browser using DataLab