Skip to content

NLS mensagem error...

2 messages · Bernardo Rangel Tura, Douglas Bates

#
Hi R-masters,

I have a problem with nls() and my research data. Look this example:



X2000<-c(1.205268,2.850695,5.100860,8.571610,15.324513,25.468599,39.623418,61.798856,91.470006,175.152509)
age<-c(37,42,47,52,57,62,67,72,77,82)
fit <- nls(X2000~R*exp(A*age),start=list(R=.1,A=.1))

Error mensage:

Error in nls(X2000 ~ R * exp(A * age), start = list(R = 0.1, A = 0.1)) : 
        singular gradient
In addition: Warning message: 
no finite arguments to min; returning Inf

How I fix this problem? Other command? 


Thanks in advance

Bernardo Rangel Tura, MD, MSc
National Institute of Cardiology Laranjeiras
Rio de Janeiro Brazil
#
Bernardo Rangel Tura <tura at centroin.com.br> writes:
The problem is your starting value for R.  This is a case where the
"plinear" algorithm is very helpful because you only need a starting
estimate for A, the nonlinear parameter.
172.7589 : 0.10000000 0.04645409 
161.7483 : 0.10315347 0.03619599 
161.6661 : 0.10343465 0.03539847 
161.6656 : 0.10345546 0.03534014 
161.6656 : 0.10345698 0.03533590 
161.6656 : 0.10345709 0.03533559
Formula: X2000 ~ exp(A * age)

Parameters:
     Estimate Std. Error t value Pr(>|t|)    
A    0.103457   0.004578  22.598 1.56e-08 ***
.lin 0.035336   0.012841   2.752    0.025 *  
---
Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 

Residual standard error: 4.495 on 8 degrees of freedom

Correlation of Parameter Estimates:
           A
.lin -0.9983

Notice that you have extremely high correlation of these parameter
estimates.  Also it is unlikely that you will have homoscedastic
(i.e. same variance) errors on those observations so you may want to
consider fitting log(X2000) to age, which would be a linear model.