Message-ID: <17504.29041.635350.876183@stat.math.ethz.ch>
Date: 2006-05-09T10:39:45Z
From: Martin Maechler
Subject: [RsR] plugins for lmrob()
In-Reply-To: <B7C02093A9C6FB47B417FC3FAB0D721420DA91@langouste.zhwin.ch>
Thank you, Andreas (and Werner),
for your valuable feedback.
>>>>> "ARu" == Ruckstuhl Andreas \(rks\) <Ruckstuhl>
>>>>> on Wed, 3 May 2006 16:38:28 +0200 writes:
ARu> Regarding the "plugging" of new methods I would like to
ARu> see something like this (example for method "MM"):
ARu> On a first level, there is the method "MM", hence
ARu> lmrob(*, method = lmrob.fit.MM) ## where lmrob.fit.MM is an R function
ARu> On a second level, there may be different ways to
ARu> generate the initial S estimator, hence
ARu> lmrob(*, method = lmrob.fit.MM, initial=lmrob.fit.Sfast),
ARu> where lmrob.fit.Sfast() (or maybe lmrob.fit.MM.Sfast())
ARu> calculates the initial values. There is an open issue
ARu> however, whether the argument "initial" should not be
ARu> better part of the argument "control" like
ARu> lmrob(*, method = lmrob.fit.MM, control=lmrob.MM.control(initial=lmrob.fit.Sfast))
ARu> (I think, it is sensible that the control function
ARu> depends on the method.)
Indeed. After seeing your proposal, and more thinking I'm tending to
the conclusion that it would probably be best to *only* allow
method = <R-function_with_specific_properties>
Of course, all the function to be used as 'method' argument for
lmrob() must have
1) arguments x : ~= model.matrix(...)
y : target variable
{BTW: We should allow *multi*variate
'y' eventually, the same as lm() does!}
... : all (?) further arguments coming from a function-specific
<foo.bar>.control(..) function call
2) return value: a list(.) with a few well specified components,
such as
coefficients, scale, cov,
weights, residuals, fitted.values,
seed, converged, rank, ...
ARu> There should be a separate method for regression
ARu> M-estimators (e.g., lmrob.fit.M()) since this method is
ARu> still the adequate for the analysis of fixed effects
ARu> models.
Yes, or needed as building block (i.e. a
"sub - method") for the even more important case of a mixture of
categorical and continuous predictors.
ARu> The function lmrob.fit.M() may even include
ARu> bounded influence regression estimators.
Indeed; also if only for comparison with these once famous
"optimal" methods.
Now just someone has to do this...
Martin