An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20110411/06473081/attachment.pl>
Non linear Regression: "singular gradient matrix at initial parameter estimates"
5 messages · Peter Ehlers, Mario Valle, Felix Nensa
On 2011-04-11 13:29, Felix Nensa wrote:
Hi, I am using nls to fit a non linear function to some data but R keeps giving me "singular gradient matrix at initial parameter estimates" errors. For testing purposes I am doing this: ### R code ### x<- 0:140 y<- 200 / (1 + exp(17 - x)/2) * exp(-0.02*x) # creating 'perfect' samples with fitting model yeps<- y + rnorm(length(y), sd = 2) # adding noise # results in above error fit = nls(yeps ~ p1 / (1 + exp(p2 - x) / p3) * exp(p4 * x)) ###
From what I've found in this list I think that my model is over-parameterized.
How can I work around that?
Take out p3; it's redundant. Peter Ehlers
Thanks, Felix [[alternative HTML version deleted]]
______________________________________________ R-help at 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.
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20110412/3f039609/attachment.pl>
Use a more realistic starting point instead of the default one:
fit <- nls(yeps ~ p1 / (1 + exp(p2 - x)) * exp(p4 * x),
start=list(p1=410,p2=18,p4=-.03))
This works for me:
> fit
Nonlinear regression model
model: yeps ~ p1/(1 + exp(p2 - x)) * exp(p4 * x)
data: parent.frame()
p1 p2 p4
199.48276 16.28664 -0.01987
residual sum-of-squares: 560.6
Number of iterations to convergence: 5
Achieved convergence tolerance: 5.637e-07
Ciao!
mario
On 12-Apr-11 18:01, Felix Nensa wrote:
fit = nls(yeps ~ p1 / (1 + exp(p2 - x)) * exp(p4 * x))
Ing. Mario Valle Data Analysis and Visualization Group | http://www.cscs.ch/~mvalle Swiss National Supercomputing Centre (CSCS) | Tel: +41 (91) 610.82.60 v. Cantonale Galleria 2, 6928 Manno, Switzerland | Fax: +41 (91) 610.82.82
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20110412/a37bea03/attachment.pl>