Re: [R] Non linear Regression: "singular gradient matrix at initial parameter estimates"
Hi Mario, yes works great. Thanks! 2011/4/12 Mario Valle > 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() > p1p2p4 > 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 > > -- Felix Nensa Luisenstr. 15-17 44787 Bochum Germany mail: felix.ne...@googlemail.com mobile: +49 171 958 51 40 [[alternative HTML version deleted]] __ 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.
Re: [R] Non linear Regression: "singular gradient matrix at initial parameter estimates"
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() p1p2p4 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 __ 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.
Re: [R] Non linear Regression: "singular gradient matrix at initial parameter estimates"
Hi Peter, thank you for your reply. Now I see, that P3 is indeed redundand. But with the simplified model... fit = nls(yeps ~ p1 / (1 + exp(p2 - x)) * exp(p4 * x)) ...nls still produces the same error. Any ideas? Felix 2011/4/12 Peter Ehlers > 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@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. >> > > [[alternative HTML version deleted]] __ 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.
Re: [R] Non linear Regression: "singular gradient matrix at initial parameter estimates"
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@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. __ 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.
[R] Non linear Regression: "singular gradient matrix at initial parameter estimates"
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? Thanks, Felix [[alternative HTML version deleted]] __ 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.