Re: [R] nls: different results if applied to normal or linearized data

From: Martin Elff <>
Date: Wed, 05 Mar 2008 15:16:35 +0100

On Wednesday 05 March 2008 (14:53:27), Wolfgang Waser wrote:
> Dear all,
> I did a non-linear least square model fit
> y ~ a * x^b
> (a) > nls(y ~ a * x^b, start=list(a=1,b=1))
> to obtain the coefficients a & b.
> I did the same with the linearized formula, including a linear model
> log(y) ~ log(a) + b * log(x)
> (b) > nls(log10(y) ~ log10(a) + b*log10(x), start=list(a=1,b=1))
> (c) > lm(log10(y) ~ log10(x))
> I expected coefficient b to be identical for all three cases. Hoever, using
> my dataset, coefficient b was:
> (a) 0.912
> (b) 0.9794
> (c) 0.9794
> Coefficient a also varied between option (a) and (b), 107.2 and 94.7,
> respectively.

Models (a) and (b) entail different distributions of the dependent variable y and different ranges of values that y may take. (a) implies that y has, conditionally on x, a normal distribution and has a range of feasible values from -Inf to +Inf. (b) and (c) imply that log(y) has a normal distribution, that is, y has a log-normal distribution and can take values from zero to +Inf.

> Is this supposed to happen?
Given the above considerations, different results with respect to the intercept are definitely to be expected.

> Which is the correct coefficient b?
That depends - is y strictly non-negative or not ...

Just my 20 cents... mailing list PLEASE do read the posting guide and provide commented, minimal, self-contained, reproducible code. Received on Wed 05 Mar 2008 - 14:37:02 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 06 Mar 2008 - 06:30:19 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive