Niklaus Hurlimann
2011-Jun-30 13:14 UTC
[R] Error "singular gradient matrix at initial parameter estimates" in nls
Greetings, I am struggling a bit with a non-linear regression. The problem is described below with the known values r and D inidcated. I tried to alter the start values but get always following error message: Error in nlsModel(formula, mf, start, wts): singular gradient matrix at initial parameter estimates Calls: nls -> switch -> nlsModel I might be missing something with regard to the different algorithms or I just have to try again with some different start values. If anyone finds some time to have a look at that, any advice would be very much appreciated. ##Brice-Model bricemod<-nls(log10(D) ~ log10(Do)*exp(((-4*pi*En*Na)*((ro/2)*(r-ro)^2 +(1/3)*(r-ro)^3))/(R*T)), start=list(Do=0.8, En=390, ro=1.03),trace=TRUE) Na<-6.0221415*10^23 # Avrogadro's number T<-1010 # Temp in K R<-8.3144 #Gas constant [J mol^-1 K^-1] r<-data.matrix(PRr[c("r")]) r La 1.160 Ce 1.143 Pr 1.109 Nd 1.093 Sm1.079 Eu 1.066 Gd 1.053 Tb 1.040 Dy 1.027 Ho 1.015 Er 1.004 Tm 0.994 Yb 0.985 Lu 0.977 D<-data.matrix(PRr[c("D")]) D La 0.1806551 Ce 0.2703113 Pr 0.3757225 Nd 0.5271811 Sm 0.8665835 Eu 1.0812568 Gd 1.0612762 Tb 1.0726612 Dy 1.1679270 Ho 1.1910920 Er 1.1336938 Tm 1.1215107 Yb 0.9619603 Lu 0.8315467 Niklaus -- Niklaus Hürlimann Doctorant-(cand.PhD) Université de Lausanne Institut de Minéralogie et Géochimie L'Anthropole CH-1015 Lausanne Suisse E-mail: Niklaus.Hurlimann@unil.ch Tel:+41(0)21 692 4452 [[alternative HTML version deleted]]
Peter Ehlers
2011-Jun-30 19:42 UTC
[R] Error "singular gradient matrix at initial parameter estimates" in nls
On 2011-06-30 06:14, Niklaus Hurlimann wrote:> Greetings, > > I am struggling a bit with a non-linear regression. The problem is > described below with the known values r and D inidcated. > I tried to alter the start values but get always following error > message: > > Error in nlsModel(formula, mf, start, wts): > singular gradient matrix at initial parameter estimates > Calls: nls -> switch -> nlsModel > > I might be missing something with regard to the different algorithms or > I just have to try again with some different start values. If anyone > finds some time to have a look at that, any advice would be very much > appreciated.I don't know anything about a Brice-Model, but I doubt that you have it right. 4*pi*390*Na is about 3*10^27 and that doesn't seem right to me. In addition, do put your data into a data.frame (containing variables r and D) and learn to use dput for posting data. Peter Ehlers> > > ##Brice-Model > bricemod<-nls(log10(D) ~ log10(Do)*exp(((-4*pi*En*Na)*((ro/2)*(r-ro)^2 > +(1/3)*(r-ro)^3))/(R*T)), start=list(Do=0.8, En=390, > ro=1.03),trace=TRUE) > > Na<-6.0221415*10^23 # Avrogadro's number > T<-1010 # Temp in K > R<-8.3144 #Gas constant [J mol^-1 K^-1] > > r<-data.matrix(PRr[c("r")]) > r > La 1.160 > Ce 1.143 > Pr 1.109 > Nd 1.093 > Sm1.079 > Eu 1.066 > Gd 1.053 > Tb 1.040 > Dy 1.027 > Ho 1.015 > Er 1.004 > Tm 0.994 > Yb 0.985 > Lu 0.977 > > > D<-data.matrix(PRr[c("D")]) > D > La 0.1806551 > Ce 0.2703113 > Pr 0.3757225 > Nd 0.5271811 > Sm 0.8665835 > Eu 1.0812568 > Gd 1.0612762 > Tb 1.0726612 > Dy 1.1679270 > Ho 1.1910920 > Er 1.1336938 > Tm 1.1215107 > Yb 0.9619603 > Lu 0.8315467 > > > Niklaus >