[R-sig-ME] Cholmod warning with glmer

Ben Bolker bbolker at gmail.com
Mon Jan 7 01:54:22 CET 2013


leanne heisler <leanneheisler at ...> writes:


> Thank you Dr. Winsemius, when I converted the LONG values to
> positives the first error does not occur ( Error in
> mer_finalize(ans) : Downdated X'X is not positive definite,
> 1.). Would you be able to explain why this is, just curious!

  Meaning you took the absolute value?  Were all the longitudes
negative and you flipped the sign?  This makes not much sense
to me ...
 
> LONG is actually the longitude at which samples were collected.
> > table(data$LONG)
> 100 101 102 103 104 105 106 107 108 109 110 111 112 113 
> 2 9 3 1 106 304 40 5 69 78 114 122 106 7 

> NG is a proportion between 0 and 1
> > table(data$NG)

[snip]

It rarely (although I wouldn't say never) makes sense to treat
continuous predictor variables as random effects: the main reason
would be if there were multiple samples per value, and if the
continuous predictor were *also* included as a fixed effect,
then the random effect would capture deviations from the overall
smooth (fixed-effect) trend.

> However, the last two warnings remain:
> 
>  dm=glmer(DM~PREC+(1|NEST)+(1|NG)+(1|LONG),
>     data=data,family=poisson,REML=FALSE)
> Warning messages:
> 1: In mer_finalize(ans) :
>  Cholmod warning 'not positive definite' at
file:../Cholesky/t_cholmod_rowfac.c, line 432
> 2: In mer_finalize(ans) :
>  Cholmod warning 'not positive definite' at
file:../Cholesky/t_cholmod_rowfac.c, line 432
> 3: In mer_finalize(ans) : singular convergence (7)
 
> I've tried removing each random effect, and it works (with false
> convergence though) when LONG is removed (code below), so I think
> the problem lies with this random effect. If anyone has any
> suggestions as to why this variable is problematic in my model, it
> would be greatly appreciated!
 
> > dm=glmer(DM~PREC+(1|NEST)+(1|NG),data=data,
>  family=poisson,REML=FALSE,verbose=TRUE)
>  0: 6240.2919: 1.34570 0.528027 3.19617 -0.00146991
>  1: 6240.1850: 1.34569 0.528031 3.19616 -0.00156918
>  2: 6240.1850: 1.34569 0.528031 3.19616 -0.00156918
> Warning message:
> In mer_finalize(ans) : false convergence (8)

  It's hard to debug in this iterative way.  Are you willing
to post the data somewhere, or e-mail it?

 Ben Bolker



More information about the R-sig-mixed-models mailing list