Xiaodong Jin <[EMAIL PROTECTED]> writes: >> y > [1] 1 11 42 64 108 173 214 > > > t > [1] 1 2 3 4 5 6 7 > > > nls(1/y ~ c*exp(-a*b*t)+1/b, start=list(a=0.001,b=250,c=5), trace=TRUE) > 29.93322 : 0.001 250.000 5.000 > Error in numericDeriv(form[[3]], names(ind), env) : > Missing value or an infinity produced when evaluating the model > > # the start value for b is almost close to final estimates, > # a is usually small positive close to 0 > # c is a positive number > # Do I need different estimation method? > > Regards > xj
nls fails because it tests large negative parameter value for b (maybe because of the product a*b). I got around this by using this reparametrized version nls(1/y ~ c*exp(-a2*t)+b2, start=list(a2=0.001*250,b2=1/250,c=5), trace=TRUE) Nonlinear regression model model: 1/y ~ c * exp(-a2 * t) + b2 data: parent.frame() a2 b2 c 2.49029199 0.01010844 11.94220446 residual sum-of-squares: 0.0001228177 Regards, Jost ______________________________________________ R-help@stat.math.ethz.ch 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.