[RsR] How does "rlm" in R decide its "w" weights for each IRLSiteration?

Manuel Koller ko||er @end|ng |rom @t@t@m@th@ethz@ch
Tue Jul 24 08:20:59 CEST 2012


Dear all,

We've put quite some work into lmrob lately. There are some
enhancements for small samples, where we advocate the SMDM estimate
which gives a better scale estimate, important when performing tests
(use setting="KS2011").

Also lmrob does not fail for binary/categorical designs like the
example Rohan posted below. Robustbase 0.9-3 features the "nonsingular
subsampling" (also called "contstrained s." during development)
algorithm which makes the distinction between categorical and
continuous predictors obsolete. The idea is, that it just works,
whatever your data might be. Note that the version 0.9-2 of robustbase
available on CRAN does most of it as well, we mainly improved
numerical properties in 0.9-3.

Best regards,

Manuel

On Mon, Jul 23, 2012 at 10:51 PM, Maheswaran Rohan <mrohan using doc.govt.nz> wrote:
> Your code is running for M-estimator, but not for MM (I don't know the
> reason).
> See the results here.
>
>>  set.seed(123)
>>  xr=rpois(100,lambda=3)
>>  xn=rnorm(100)
>>  xf =as.factor(xr)
>>  yn=rnorm(100)+xn+xr
>>  form=yn~xn+xf
>> library(MASS)
>
>> rlm(form,method="MM")
> Error: lqs failed: all the samples were singular
>
>> rlm(form,method="M")
> Call:
> rlm(formula = form, method = "M")
> Converged in 7 iterations
>
> Coefficients:
> (Intercept)          xn         xf1         xf2         xf3         xf4
>   0.2017169   0.8708498   0.4001550   2.0120847   2.7285940   3.2854743
>         xf5         xf6         xf7         xf8
>   4.9677143   6.0077015   6.4267159   9.8351416
>
> Degrees of freedom: 100 total; 90 residual
> Scale estimate: 0.713
>
> Regards
> Rohan
>
>
>
>
> -----Original Message-----
> From: Dr. Peter Ruckdeschel
> [mailto:peter.ruckdeschel using itwm.fraunhofer.de]
> Sent: Tuesday, 24 July 2012 2:07 a.m.
> To: r-sig-robust using r-project.org
> Cc: Valentin Todorov; Maheswaran Rohan; S.Ellison using lgcgroup.com
> Subject: Re: [RsR] How does "rlm" in R decide its "w" weights for each
> IRLSiteration?
>
> To what it's worth:
>
> Valentin very well knows about the MM implementation of rlm;
>
> it is simply that lmrob is a more recent implementation which has
> taken up _very_ recent current research results on this field and
> also includes the combined case (i.e. factors  and numerics as
> regressors) (see ?lmrob) or try
>
> set.seed(123)
>  xr=rpois(100,lambda=3)
>  xn=rnorm(100)
>  xf =as.factor(xr)
>  yn=rnorm(100)+xn+xr
>  form=yn~xn+xf
>  rlm(form,method="MM")
> Error: lqs failed: all the samples were singular
>> lmrob(form,method="MM")
>
> Call:
> lmrob(formula = form, method = "MM")
>
> Coefficients:
> (Intercept)           xn          xf1          xf2          xf3
> xf4
>      0.2260       0.8957       0.3633       1.9949       2.6660
> 3.2966
>         xf5          xf6          xf7          xf8
>      4.9415       5.9208       6.4388       9.8285
>
> Hth, best, Peter
>
> Am 23.07.2012 15:19, schrieb S Ellison:
>> rlm includes an MM estimator.
>>
>> S Ellison
>>
>>> -----Original Message-----
>>> From: Maheswaran Rohan [mailto:mrohan using doc.govt.nz]
>>> Sent: 22 July 2012 23:08
>>> To: Valentin Todorov; S Ellison
>>> Cc: r-sig-robust using r-project.org; r-help
>>> Subject: RE: [RsR] How does "rlm" in R decide its "w" weights
>>> for each IRLSiteration?
>>>
>>> Hi Valentin,
>>>
>>> If the contamination is mainly in the response direction,
>>> M-estimator provides good estimates for parameters and rlm
>>> can be used.
>>>
>>> Rohan
>>>
>>> -----Original Message-----
>>> From: r-sig-robust-bounces using r-project.org
>>> [mailto:r-sig-robust-bounces using r-project.org] On Behalf Of
>>> Valentin Todorov
>>> Sent: Saturday, 21 July 2012 6:57 a.m.
>>> To: S Ellison
>>> Cc: r-sig-robust using r-project.org; r-help
>>> Subject: Re: [RsR] How does "rlm" in R decide its "w" weights
>>> for each IRLSiteration?
>>>
>>> Hi Michael, S Ellison,
>>>
>>> I do not actually understand what you want to achieve with
>>> the M estimates of rlm in MASS, but why you do not give a try
>>> of lmrob in 'robustbase'. Please have a llok in the
>>> references (?lmrob) about the advantages of MM estimators
>>> over the M estimators.
>>>
>>> Best regards,
>>> Valentin
>>>
>>>
>>>
>>>
>>> On Fri, Jul 20, 2012 at 5:11 PM, S Ellison <S.Ellison using lgcgroup.com>
>>> wrote:
>>>>
>>>>> -----Original Message-----
>>>>> Subject: [RsR] How does "rlm" in R decide its "w" weights for each
>>>>> IRLS iteration?
>>>>> I am also confused about the manual:
>>>>>
>>>>>            a.  The input arguments:
>>>>>
>>>>> wt.method are the weights case weights (giving the relative
>>>>> importance of case, so a weight of 2 means there are two of
>>>>> these) or the inverse of the variances, so a weight of two
>>> means this
>>>>> error is half as variable?
>>>> When you give rlm weights (called 'weights', not 'w' on
>>> input, though
>>> you can abbreviate to 'w'), you need to tell it which of
>>> these two possibilities you used.
>>>> If you gave it case numbers, say wt.method="case"; if you gave it
>>> inverse variance weights, say wt.method="inv.var".
>>>> The default is "inv.var".
>>>>
>>>>
>>>>> The input argument "w" is used for the initial values of
>>> the rlm IRLS
>>>>> weighting and the output value "w" is the converged "w".
>>>> There is no input argument 'w' for rlm (see above).
>>>> The output w are a  calculated using the psi function, so between 0
>>> and 1.
>>>> The effective weights for the final estimate would then be something
>>> like w*weights, using the full name of the input argument
>>> (and if I haven't forgotten a square root somewhere). At
>>> least, that would work for a simple location estimate (eg rlm(x~1)).
>>>>> If my understanding above is correct, how does "rlm"
>>> decide its "w"
>>>>> for each IRLS iteration then?
>>>> It uses the given psi functions to calculate the iterative weights
>>> based on the scaled residuals.
>>>>> Any pointers/tutorials/notes to the calculation of these "w"'s in
>>>>> each IRLS iteration?
>>>> Read the cited references for a detailed guide. Or, of
>>> course, MASS -
>>> the package is, after all, intended to support the book, not
>>> replace it.
>>>>
>>>>
>>>> S Ellison
>>>>
>>>> *******************************************************************
>>>> This email and any attachments are confidential. Any
>>> u...{{dropped:6}}
>>>
>>> _______________________________________________
>>> R-SIG-Robust using r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-robust
>>> ##############################################
>>> This e-mail (and attachments) is confidential and may be
>>> legally privileged.
>>> ##############################################
>>>
>> *******************************************************************
>> This email and any attachments are confidential. Any\ ...{{dropped:22}}
>
> _______________________________________________
> R-SIG-Robust using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-robust



-- 
Manuel Koller <koller using stat.math.ethz.ch>
Seminar für Statistik, HG G 18, Rämistrasse 101
ETH Zürich  8092 Zürich  SWITZERLAND
phone: +41 44 632-4673 fax: ...-1228
http://stat.ethz.ch/people/kollerma/




More information about the R-SIG-Robust mailing list