lmrob
, the MM-type regression
estimator and the associated S-, M- and D-estimators. Using
setting="KS2011"
sets the defaults as suggested by
Koller and Stahel (2011).lmrob.control(setting, seed = NULL, nResample = 500,
tuning.chi = NULL, bb = 0.5, tuning.psi = NULL,
max.it = 50, groups = 5, n.group = 400,
k.fast.s = 1, best.r.s = 2,
k.max = 200, maxit.scale = 200, k.m_s = 20,
refine.tol = 1e-7, rel.tol = 1e-7, solve.tol = 1e-7,
trace.lev = 0,
mts = 1000, subsampling = c("nonsingular", "simple"),
compute.rd = FALSE, method = 'MM',
psi = c('bisquare', 'lqq', 'welsh', 'optimal', 'hampel', 'ggw'),
numpoints = 10, cov = NULL,
split.type = c("f", "fi", "fii"), fast.s.large.n = 2000, ...)
"KS2011"
for the defaults
suggested by Koller and Stahel (2011). See Details.NULL
or an integer vector compatible with
.Random.seed
: the seed to be used for random
re-sampling used in obtaining candidates for the initial
S-estimator. The current value NULL
, as by default, sensible defaults are set (depending on
psi
) to yield a 50% breakdown estimator. See Details.tuning.chi
. This is used to compute the
S-estimator.NULL
, as by default, this is set (depending
on psi
) to yield an estimator with asymptotic efficiency of
95% for normal errors. See Details.groups
above. Note that this must be at least $p$.find_scale()
iterations.solve.default()
's tol
.trace.lev = 0
does
no tracing.simple
for simple
subsampling (default prior to version 0.9), nonsingular
for
nonsingular subsampling. See lmrob.S
.covMcd
) are to be
computed for the robust diagnostic plots. This may take some
time to finish, particularly fMM
is interpreted as SM
. See Details of
lmrob
for a description of the possible values.lmrob
. Defaults to
"bisquare"
for S and MM-estimates, otherwise "lqq"
.if(method %in% c('SM', 'MM')) ".vcov.avar1" else ".vcov.w"
.
See Details of lmro
splitFrame
.list
components to the result.list
with over twenty components, corresponding
to the arguments, where tuning.psi
and tuning.chi
are
typically computed, see above.setting="KS2011"
alters the default
arguments. They are changed to method = 'SMDM', psi = 'lqq',
max.it = 500, k.max = 2000, cov = '.vcov.w'
. The defaults of all
the remaining arguments are not changed. By default, tuning.chi
and tuning.psi
are set to
yield an MM-estimate with break-down point $0.5$ and efficiency of
$95%$ at the normal. They are:
psi
tuning.chi
tuning.psi
bisquare
1.54764
4.685061
welsh
0.5773502
2.11
ggw
c(-0.5, 1.5, NA, 0.5)
c(-0.5, 1.5, 0.95, NA)
lqq
c(-0.5, 1.5, NA, 0.5)
c(-0.5, 1.5, 0.95, NA)
optimal
0.4047
1.060158
hampel
c(1.5, 3.5, 8)*0.2119163
c(1.5, 3.5, 8)*0.9014
}
The values for the tuning constant for the ggw
psi function are
hard coded. The constants vector has four elements: minimal slope, b
(controlling the bend at the maximum of the curve), efficiency,
break-down point. Use NA
for an unspecified value, see examples
in the tables.
The constants for the hampel
psi function are chosen to have a
redescending slope of $-1/3$. Constants for a slope of $-1/2$
would be
psi
tuning.chi
tuning.psi
hampel
c(2, 4, 8) * 0.1981319
c(2, 4, 8) * 0.690794
}
Alternative coefficients for an efficiency of $85%$ at the normal
are given in the table below.
psi
tuning.psi
bisquare
3.443689
welsh
1.456
ggw
, lqq
c(-0.5, 1.5, 0.85, NA)
optimal
0.8684
hampel
(-1/3) c(1.5, 3.5, 8)* 0.5704545
hampel
(-1/2) c( 2, 4, 8) * 0.4769578
}
lmrob
, also for references and examples.## Show the default settings:
str(lmrob.control())
## Artificial data for a simple "robust t test":
set.seed(17)
y <- y0 <- rnorm(200)
y[sample(200,20)] <- 100*rnorm(20)
gr <- as.factor(rbinom(200, 1, prob = 1/8))
lmrob(y0 ~ 0+gr)
## Use Koller & Stahel(2011)'s recommendation but a larger 'max.it':
str(ctrl <- lmrob.control("KS2011", max.it = 1000))
Run the code above in your browser using DataLab