# [R] Robust nonlinear regression - better example

Spencer Graves spencer.graves at pdf.com
Tue Feb 3 00:05:42 CET 2004

```      1.  The question of "linear" vs. "nonlinear" means "linear in the
parameters to be estimated.  All the examples you have given so far are
linear in the parameters to be estimated.  The fact that they are
nonlinear in "x" is immaterial.

2.  With this hint and the posting guide
"http://www.R-project.org/posting-guide.html", you may find more
information.  A search there exposed much discussion of "robust
regression" and even "robust nonlinear regression", if you actually
still need that.  In addition, I found useful information on robust
regression in Venables and Ripley (2002) Modern Applied Statistics with
S, 4th ed. (Springer).

hope this helps.
spencer graves

cstrato wrote:

> Dear all
>
> Here is a hopefully better example with regards to
> nonlinear robust fitting:
>
> # fitting a polynomial:
> x <- seq(-10,10,0.2)
> y <- 10*x + 4*x*x - 2*x*x*x
> plot(x,y)
> z <- jitter(y,amount=300)
> plot(x,z)
> df <- as.data.frame(cbind(x,z))
> nf <- nls(z ~ a*x + b*x*x + c*x*x*x, data=df,
> +           start=list(a=4,b=2,c=1), trace = TRUE)
> 127697531 :  4 2 1
> 2974480 :  10.972123  3.793426 -1.942278
>
> # introducing outliers before fitting the  polynomial:
> z1 <- z
> z1[c(16,22,23,34,36,42,67,69,72,76)] <-
> + c(2000,1900,2000,1900,1600,1600,500,-2000,-1700,-1800)
> plot(x,z1)
> df1 <- as.data.frame(cbind(x,z1))
> nf1 <- nls(z1 ~ a*x + b*x*x + c*x*x*x, data=df1,
> +           start=list(a=4,b=2,c=1), trace = TRUE)
> 159359174 :  4 2 1
> 24098548 :  -59.053288   4.169518  -1.072027
>
> # plotting the results:
> y1 <- 10.97*x + 3.79*x*x - 1.94*x*x*x
> y2 <- -59.05*x + 4.17*x*x - 1.07*x*x*x
> oldpar <- par(pty="s",mfrow=c(2,2),mar=c(5,5,4,1))
> plot(x,y)
> plot(x,z1)
> plot(x,y1)
> plot(x,y2)
> par(oldpar)
>
> In my opinion this fit could hardly be considered
> to be robust.
>
> Are there functions in R which can do robust fitting?
> (Sorrowly, at the moment I could not test the package
> nlrq mentioned by Roger Koenker)
>
> Best regards
> Christian
> _._._._._._._._._._._._._._._._
> C.h.i.s.t.i.a.n S.t.r.a.t.o.w.a
> V.i.e.n.n.a       A.u.s.t.r.i.a
> _._._._._._._._._._._._._._._._
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help