Skip to content

Cholmod warning with glmer

4 messages · leanne heisler, Douglas Bates, David Winsemius +1 more

#
Hi All,
I am running a generalized linear mixed effects model with lme4 and am getting an error I have not been able to decipher. I was hoping for some guidance. I am using the following code:
0: 6107.8287: 1.34084 1.29515 0.532795 3.23218 -0.00145626
 1: 6107.8287: 1.34084 1.29515 0.532795 3.23218 -0.00145626
Error in mer_finalize(ans) : Downdated X'X is not positive definite, 1.
In addition: Warning messages:
1: In mer_finalize(ans) :
 Cholmod warning 'not positive definite' at file:../Cholesky/t_cholmod_rowfac.c, line 431
2: In mer_finalize(ans) :
 Cholmod warning 'not positive definite' at file:../Cholesky/t_cholmod_rowfac.c, line 431
All fixed and random effects are continuous variables (DM is counts of deer mice) except for the random effect 'NEST', which is categorical. The model runs fine when the random effects NEST and LONG are removed.

I feel I am doing something wrong here and would greatly appreciate any help from this mailing list.

Thank you in advance.
---------------
 Leanne Heisler
 Graduate Student
 Department of Biology
 University of Regina
1 day later
#
On Jan 4, 2013, at 1:40 PM, leanne heisler wrote:

            
LONG appears to be integer and it might be useful to look at table(data$LONG) and table(data$NG).
Pasting in your other message:
You are of necessity going to have quite a few levels where NEST has only one value since 627 values are distributed of 930 rows. I think a cross-tabulation of those random effects will build a fairly sparse data object.
#
David Winsemius <dwinsemius at ...> writes:
[snip]
I don't think that will matter that much, but it may matter how
many distinct values of LONG there are (impossible to tell from
this summary, as David said you should try table(data$LONG) ...)

  This doesn't normally matter much, but glmer can be finicky so
I would take a shot at scaling and centering PREC:

data$scPREC <- scale(data$PREC)

and then continue with scPREC as the predictor (the reason this
matters is that the variance components are often fairly small
(on the order of 1 or less), while your precipitation is measured
in the hundreds -- this difference in scales can cause problems
for the numerical optimization algorithm used.

  Ben Bolker