[R] Robust nonlinear regression - sin(x)/x?
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
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.
> 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
> z <- jitter(y,amount=0.1)
> 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
> 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
>> 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
>> PLEASE do read the posting guide!
> R-help at stat.math.ethz.ch mailing list
> PLEASE do read the posting guide!
More information about the R-help