Dear all I am struggling with nlme and error message. Even going through Pinheiro, Bates nlme book did not gave me a clue how to avoid this. fit <- nlme(ce ~ fi1 / ((1+exp(fi2-fi3*tepl))^(1/fi4)), data = temp1na.gr, start = c(fi1=30, fi2=-100, fi3=-.05, fi4=40), fixed = fi1+fi2+fi3+fi4~1, random = pdDiag(fi2+fi4~1), groups = ~spol.f) gives Error in chol((value + t(value))/2) : the leading minor of order 1 is not positive definite Is this error due to lack of experimental points? Here you have one typical part of my data. It is for level spol.f = "3/11". tepl ce 800 28.87 800 29.35 825 29 850 28.73 875 26.83 900 24.07 I have 1-5 points for each level (2 levels with 5 points, 1 level with 4 points, several levels with 2 and 3 points and few with only one point. Fitting this model to each level separately led to several sets of coeficients fi1-fi4 and the separate fits were quite OK. Please give me a hint what can be the cause for this error message and how I shall organize my data to avoid this. (Lack of experimental points is also an answer as I can do some subsequent measurement. R 2.1.0, W 2000, nlme package Best regards Petr Pikal petr.pikal at precheza.cz
On 6/22/05, Petr Pikal <petr.pikal at precheza.cz> wrote:> Dear all > > I am struggling with nlme and error message. Even going through > Pinheiro, Bates nlme book did not gave me a clue how to avoid > this. > > fit <- nlme(ce ~ fi1 / ((1+exp(fi2-fi3*tepl))^(1/fi4)), data > temp1na.gr, > start = c(fi1=30, fi2=-100, fi3=-.05, fi4=40), > fixed = fi1+fi2+fi3+fi4~1, > random = pdDiag(fi2+fi4~1), > groups = ~spol.f) > > gives > > Error in chol((value + t(value))/2) : the leading minor of order 1 is > not positive definite > > Is this error due to lack of experimental points? > Here you have one typical part of my data. It is for level spol.f > "3/11". > > tepl ce > 800 28.87 > 800 29.35 > 825 29 > 850 28.73 > 875 26.83 > 900 24.07 > > I have 1-5 points for each level (2 levels with 5 points, 1 level with > 4 points, several levels with 2 and 3 points and few with only one > point. > > Fitting this model to each level separately led to several sets of > coeficients fi1-fi4 and the separate fits were quite OK. > > Please give me a hint what can be the cause for this error message > and how I shall organize my data to avoid this. (Lack of > experimental points is also an answer as I can do some subsequent > measurement.The first thing to do is to plot the data for each level of spol.f and see if it is reasonable that you would be able to estimate four parameters from such a curve. Then try setting verbose = TRUE, control = list(msVerbose = TRUE) in your call to nlme to see how the parameters are being changed during the iterations.