On 10/28/13 00:10, Hansol Yu wrote:
data(Boston, package='MASS')
y <- Boston$nox
x <- Boston$dis
nls(y~ A + B * exp(C * x), start=list(A=1, B=1, C=1))

Error in nls(y ~ A + B * exp(C * x), start = list(A = 1, B = 1, C = 1),  :
   step factor 0.000488281 reduced below 'minFactor' of 0.000976562

I don't know how to fix this error. I think my problem is that I set the
wrong start. Could somebody help please?

Different starting values will indeed fix the problem. Did you *try* different starting
values?  Take some initiative!

It is pretty clear that C has to be negative, so make the starting value negative.
Using 1, 1, -1 still doesn't work, but 0.5, 0.5, -0.5 does work.

The function optim() is more robust to starting values.  Try

foo <- function(par,x,y){
A <- par[1]
B <- par[2]
C <- par[3]
sum((y - (A+B*exp(C*x)))^2)
}

optim(c(1,1,-1),foo,x=x,y=y,method="BFGS")

The estimates given by optim() are the same as those given by nls() with the
0.5, 0.5, -0.5 starting values.

    cheers,

    Rolf Turner

______________________________________________
R-help@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.

Reply via email to