[R] function in nls argument -- robust estimation
Martin Maechler
maechler at stat.math.ethz.ch
Sat May 10 11:07:15 CEST 2008
Hi Kate and Fernando,
I'm late into this thread,
but from reading it I get the impression that Fernando really
wants to do *robust* (as opposed to least-squares) non-linear
model fitting. His proposal to set residuals to zero when they
are outside a given bound is a very special case of an
M-estimator, namely (if I'm not mistaken) the so-called "Huber
skipped-mean", an M-estimator with psi-function
psi <- function(x, k) ifelse(abs(x) <= k, x, 0)
It is known that this can be far from optimal, and either using
Huber-psi or "a redescender" such as Tukey's biweight can be
considerably better.
Also note that the standard inference (std.errors, P-values, ...)
that you'd get from summary(nlsfit) or anova(nls1, nl2) is
*invalid* here, since you are effectively using *random* weighting.
The nlrob() function in package 'robustbase'
implements M-estimation of nonlinear models directly.
Unfortunately, how to do correct inference in this situation
is a hard problem, probably even an open research question in
parts. I would expect that "the" bootstrap should work if you only
have a few outliers.
I don't have time at the moment to look at the example data and
the model, and show you how to use it for nlrob();
if you find a way to you it for nls() , then the same should
work for nlrob().
I'm CCing this to the specialists for "Robust Stats with R"
mailing list, R-SIG-robust.
Best regards,
Martin Maechler
ETH Zurich
>>>>> "KateM" == Katharine Mullen <kate at few.vu.nl>
>>>>> on Fri, 9 May 2008 15:50:08 +0200 (CEST) writes:
KateM> You can take minpack.lm_1.1-0 (source code and MS Windows build,
KateM> respectively) from here:
KateM> http://www.nat.vu.nl/~kate/minpack.lm_1.1-0.tar.gz
KateM> http://www.nat.vu.nl/~kate/minpack.lm_1.1-0.zip
KateM> The bug that occurs when nprint = 0 is fixed. Also fixed is another
KateM> problem suggested your example: when the argument par is a list, calling
KateM> summary on the output of nls.lm was not working.
KateM> I'll submit the new version to CRAN soon.
KateM> This disscusion has been fruitful - thanks for it.
KateM> On Fri, 9 May 2008, Katharine Mullen wrote:
>> You indeed found a bug. I can reproduce it (which I should have tried to
>> do on other examples in the first place!). Thanks for finding it.
>>
>> It will be fixed in version 1.1-0 which I will submit to CRAN soon.
>>
>> On Fri, 9 May 2008, elnano wrote:
>>
>> >
>> > Find the data (data_nls.lm_moyano.txt) here:
>> > ftp://ftp.bgc-jena.mpg.de/pub/outgoing/fmoyano
>> >
>> >
>> >
>> > Katharine Mullen wrote:
>> > >
>> > > Thanks for the details - it sounds like a bug. You can either send me the
>> > > data in an email off-list or make it available on-line somewhere, so that
>> > > I and other people can download it.
>> > >
>> > >
>> > > ______________________________________________
>> > > R-help at r-project.org mailing list
>> > > https://stat.ethz.ch/mailman/listinfo/r-help
>> > > PLEASE do read the posting guide
>> > > http://www.R-project.org/posting-guide.html
>> > > and provide commented, minimal, self-contained, reproducible code.
>> > >
>> > >
>> >
>> > --
>> > View this message in context: http://www.nabble.com/function-in-nls-argument-tp17108100p17146812.html
>> > Sent from the R help mailing list archive at Nabble.com.
>> >
>> > ______________________________________________
>> > R-help at r-project.org mailing list
>> > https://stat.ethz.ch/mailman/listinfo/r-help
>> > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> > and provide commented, minimal, self-contained, reproducible code.
>> >
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
KateM> ______________________________________________
KateM> R-help at r-project.org mailing list
KateM> https://stat.ethz.ch/mailman/listinfo/r-help
KateM> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
KateM> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list