On 14/07/2013 14:30, JenPool wrote:
Hi,

I am trying to use a power law y=bx^a as a nls model as below, however I
keep getting 'singular gradient' error. I have tried multiple different
starting values but always get an error.

That is not the model you tried to fit. b*x*exp(a) is always over-parametrized.

There are lots of errors in your code: please do try it before posting. Maybe you intended

> df <- data.frame(x=x2,y=y2)
> nls(y ~ b*x^a, data = df, start = list(a=0.7,b=3000))
Nonlinear regression model
  model: y ~ b * x^a
   data: df
        a         b
   0.4312 1506.0120

I've no idea where you got your starting values from: taking logs

> lm(log(y) ~ log(x), data = df)

Call:
lm(formula = log(y) ~ log(x), data = df)

Coefficients:
(Intercept)       log(x)
     7.4999       0.3776

suggests a=0.38 and b=exp(7.5)=1800



x2 <-
c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63)
y2 <-
c(2326.0,2635.5,2875.0,3096.0,3265.5,3455.0,3618.0,3785.0,3936.0,4087.0,4214.0,4355.0,
4488.0,4615.0,4735.5,4866.0,4981.5,5089.5,5202.5,5318.0,5438.0,5537.0,5636.5,5748.0,5853.0,
5967.0,6042.5,6166.0,6259.5,6358.0,6452.0,6551.5,6645.0,6742.5,6839.0,6930.0,7026.0,7123.0,
7207.0,7300.0,7387.5,7481.5,7574.5,7663.0,7752.0,7831.5,7915.0,8005.0,
8091.5,8183.5,8260.0,8360.0,8441.0,8525.5,8606.0,8691.5,8779.0,8863.5,8941.5,9030.0,9108.0,9195.0,9271.0)


df <- dataframe(x=x2,y=y2)
model <- nls(y2~b*x2*exp(a),data=data2,start=list(a=0.7,b=3000))
Error in nlsModel(formula, mf, start, wts) :
   singular gradient matrix at initial parameter estimates
In addition: Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf

Any ideas?

Thanks,
Jen



--
View this message in context: 
http://r.789695.n4.nabble.com/nls-power-law-help-tp4671526.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.



--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
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