| scaleTau2 | R Documentation |
Computes the robust \tau-estimate of univariate scale, as
proposed by Maronna and Zamar (2002); improved by a consistency factor,
scaleTau2(x, c1 = 4.5, c2 = 3.0, na.rm = FALSE, consistency = TRUE,
mu0 = median(x),
sigma0 = median(x.), mu.too = FALSE, iter = 1, tol.iter = 1e-7)
x |
numeric vector |
c1, c2 |
non-negative numbers, specifying cutoff values for the biweighting of the mean and the rho function respectively. |
na.rm |
a logical value indicating whether |
consistency |
logical indicating if the consistency correction factor (for the scale) should be applied. |
mu0 |
the initial location estimate |
sigma0 |
the initial scale estimate |
mu.too |
logical indicating if both location and scale should be
returned or just the scale (when |
iter |
positive integer or logical indicating if and how many
iterations should be done. The default, |
tol.iter |
if |
First, s_0 := MAD, i.e. the equivalent of mad(x,
constant=1) is computed. Robustness weights
w_i := w_{c1}((x_i - med(X))/ s_0) are computed, where
w_c(u) = max(0, (1 - (u/c)^2)^2). The robust location
measure is defined as \mu(X) := (\sum_i w_i x_i)/(\sum_i w_i),
and the robust \tau (tau)-estimate is s(X)^2 :=
s_0^2 * (1/n) \sum_i \rho_{c2}((x_i - \mu(X))/s_0),
where \rho_c(u) = min(c^2, u^2).
When iter=TRUE or iter > 1, the above estimate is
iterated in a fixpoint iteration, setting s_0 to the current
estimate s(X) and iterating until the number of iterations is
larger than iter or the fixpoint is found in the sense that
\
scaleTau2(*, consistency=FALSE) returns s(X), whereas
this value is divided by its asymptotic limit when consistency =
TRUE as by default.
Note that for n = length(x) == 2, all equivariant scale estimates are
proportional, and specifically, scaleTau2(x, consistency=FALSE)
== mad(x, constant=1). See also the reference.
numeric vector of length one (if mu.too is FALSE as by
default) or two (when mu.too = TRUE) with robust scale or
(location,scale) estimators
\hat\sigma(x) or
(\hat\mu(x),\hat\sigma(x)).
Original by Kjell Konis with substantial modifications by Martin Maechler.
Maronna, R.A. and Zamar, R.H. (2002) Robust estimates of location and dispersion of high-dimensional datasets; Technometrics 44(4), 307–317.
Yohai, V.J., and Zamar, R.H. (1988). High breakdown-point estimates of regression by means of the minimization of an efficient scale. Journal of the American Statistical Association 83, 406–413.
Sn, Qn, mad;
further covOGK for which scaleTau2 was designed.
x <- c(1:7, 1000)
sd(x) # non-robust std.deviation
scaleTau2(x)
scaleTau2(x, mu.too = TRUE)
(sI <- scaleTau2(c(x,Inf), mu.too = TRUE))
(sIN <- scaleTau2(c(x,Inf,NA), mu.too = TRUE, na.rm=TRUE))
stopifnot({
identical(sI, sIN)
all.equal(scaleTau2(c(x, 999), mu.too = TRUE), sIN,
tol = 1e-15)
})
if(doExtras <- robustbase:::doExtras()) {
set.seed(11)
## show how much faster this is, compared to Qn
x <- sample(c(rnorm(1e6), rt(5e5, df=3)))
(system.time(Qx <- Qn(x))) ## 2.04 [2017-09, lynne]
(system.time(S2x <- scaleTau2(x))) ## 0.25 (ditto)
cbind(Qn = Qx, sTau2 = S2x)
}## Qn sTau2
## 1.072556 1.071258
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.