[RsR] plugins for lmrob()

Martin Maechler m@ech|er @end|ng |rom @t@t@m@th@ethz@ch
Tue May 9 12:39:45 CEST 2006


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




More information about the R-SIG-Robust mailing list