I'm trying to understand what goes on in the process that nls() uses. This converges without much drama:
> rate.nls <- nls(Dev ~ exp(rho * (T)) - exp(rho*Tmax - (Tmax - T)/del)+ + lam , data = xx, trace = TRUE, + start = c(rho = 0.15, del = 7, lam = .02, Tmax = 30)) 599.7841 : 0.15 7.00 0.02 30.00 4.69849 : 0.14673457 6.83443060 -0.01417782 29.94392535 0.06971343 : 0.14787121 6.75095966 -0.01281743 28.88851217 0.01197127 : 0.1460683 6.8334550 -0.0128118 30.1599472 0.008279834 : 0.14406976 6.92819920 -0.01281783 31.63914711 0.002267513 : 0.1437983 6.9426081 -0.0127973 31.9153204 0.002264977 : 0.14377323 6.94385235 -0.01279224 31.95091153 0.002264977 : 0.14378546 6.94326629 -0.01278643 31.95045828 0.002264977 : 0.14378124 6.94346882 -0.01278843 31.95065902 0.002264977 : 0.14378271 6.94339837 -0.01278772 31.95059050 If I make one parameter further away from optimum, I get this: > rate.nls <- nls(Dev ~ exp(rho * (T)) - exp(rho*Tmax - (Tmax - T)/del)+ + lam , data = xx, trace = TRUE, + nls.control(warnOnly = TRUE), + start = c(rho = 0.15, del = 7, lam = 1.02, Tmax = 30)) 59.80968 : 0.15 7.00 1.02 30.00 4.69849 : 0.14673457 6.83443060 -0.01417782 29.94392535 0.06973771 : 0.14787046 6.75099517 -0.01281668 28.88853959 0.0119916 : 0.1460709 6.8333430 -0.0128098 30.1600040 0.008369133 : 0.14406664 6.92834092 -0.01281926 31.63978393 0.002267664 : 0.1438008 6.9424901 -0.0127959 31.9151258 0.002264977 : 0.1437771 6.9436655 -0.0127904 31.9507300 0.002264977 : 0.14378253 6.94340678 -0.01278781 31.95059843 0.002264977 : 0.1437849 6.9432936 -0.0127867 31.9504860 Warning message: In nls(Dev ~ exp(rho * (T)) - exp(rho * Tmax - (Tmax - T)/del) + : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 There's no surprise that the traces will be different, but I can't understand why the first iteration gives exactly the same result in both cases. *Then* they diverge. What is the explanation? (Maybe if I knew what the step factor refers to, it could be clearer but I suspect it doesn't come in at that stage.) I can't think of a way of making a minimal working example but I'd guess that it's not necessary to explain the procedure. I could supply my xx dataframe if it's indispensible to the explanation. TIA -- ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~. ___ Patrick Connolly {~._.~} Great minds discuss ideas _( Y )_ Average minds discuss events (:_~*~_:) Small minds discuss people (_)-(_) ..... Eleanor Roosevelt ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~. ______________________________________________ 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.