ruchita gupta <ruchitarg123 <at> gmail.com> writes: > > Hello > > I was trying to estimate the weibull model using nls after putting OLS > values as the initial inputs to NLS. > I tried multiple times but still i m getting the same error of Error in > nlsModel(formula, mf, start, wts) : > singular gradient matrix at initial parameter estimates. > > The Program is as below > > > vel <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14) > > df <- data.frame(conc, vel) > > df > conc vel > 1 0.077 1 > 2 0.328 2 > 3 0.882 3 > 4 1.195 4 > 5 1.884 5 > 6 3.577 6 > 7 6.549 7 > 8 13.000 8 > 9 33.690 9 > 10 52.220 10 > 11 90.140 11 > 12 166.050 12 > 13 233.620 13 > 14 346.890 14 > > plot(df$vel, df$conc) > > para0.st <- c(K=450, > + alpha=0.054,beta=3.398 ) > > fit0 <- nls( > + conc~ K-(K*exp(-(vel/alpha)^beta)), df, start= para0.st,trace=T) > Error in nlsModel(formula, mf, start, wts) : > singular gradient matrix at initial parameter estimates > > I will be highly thankful if some one can please let me know where is the > mistake as i m unable to trace it. > > Thanks > Ruchita >
This is a better fit: > nls(conc~K+alpha*vel^beta,df,start<-c(K=-0.7,alpha=0.0003,beta=5.3),trace=T) 349.1687 : -0.7000 0.0003 5.3000 264.4474 : -0.7507993362 0.0002808334 5.3172851705 263.6331 : -0.7559514801 0.0002816438 5.3169303333 263.6331 : -0.7558506044 0.0002816331 5.3169456595 Nonlinear regression model model: conc ~ K + alpha * vel^beta data: df K alpha beta -0.7558506 0.0002816 5.3169457 residual sum-of-squares: 263.6 Number of iterations to convergence: 3 Achieved convergence tolerance: 1.599e-06 > ---------------------------------------------------------------- Erwin Kalvelagen Amsterdam Optimization Modeling Group er...@amsterdamoptimization.com http://amsterdamoptimization.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.