[R] Robust nonlinear regression - sin(x)/x?

Spencer Graves spencer.graves at pdf.com
Mon Feb 2 20:46:08 CET 2004


      You didn't tell us what the error message nls gave, but it should 
be obvious:  You can estimate either a or b in this model (or their 
ratio), but you can't estimate both.  See any good book on nonlinear 
regression, e.g., Bates and Watts (1988) Nonlinear Regression and Its 
Applications (Wiley). 

      With that simplification, the equation is linear. 

      However, I see another problem:  If x is 0, sin(x)/x is "NaN".  
For a situation like this, I typically write a function to first compute 
"sin(x)/x", then test for x being 0 or very small, and replace the value 
in such cases with a more accurate Taylor series or asymptotic expansion. 

      hope this helps. 
      spencer graves

cstrato wrote:

> Dear all
>
> Since I did not receive any answer to my general question (?),
> let me ask a concrete question:
>
> How can I fit the simple function y = a*sin(x)/b*x?
>
> This is the code that I tried, but nls gives an error:
>
> x <- seq(1,10,0.1)
> y <- sin(x)/x
> plot(x,y)
> z <- jitter(y,amount=0.1)
> plot(x,z)
> df <- as.data.frame(cbind(x,z))
> nf <- nls(z ~ a*sin(x)/b*x, data=df,
>           start=list(a=0.8,b=0.9), trace = TRUE)
>
> I have followed the Puromycin sample which works fine:
> Pur.wt <- nls(rate ~ (Vm * conc)/(K + conc), data = Treated,
>               start = list(Vm = 200, K = 0.1), trace = TRUE)
>
> Do I make some mistake or is it not possible to fit sin(x)/x?
>
> Thank you in advance
> 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
> _._._._._._._._._._._._._._._._
>
>
> cstrato wrote:
>
>> Dear R experts
>>
>> This is a general question:
>> Does R have functions for nonlinear robust regression,
>> analogous to e.g. LTS?
>>
>> Searching google I have found
>> 1, an abstract to generalize LTS for nonlinear regression
>> models, see: http://smealsearch.psu.edu/1509.html
>> 2, an AD-model builder, see: http://otter-rsch.com/admodel/cc1.html
>> but no mention of R/S
>>
>> Thank you in advance
>> 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
>> PLEASE do read the posting guide! 
>> http://www.R-project.org/posting-guide.html
>>
>>
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html




More information about the R-help mailing list