[R] lmer, CHOLMOD warning: matrix not positive definite
Douglas Bates
bates at stat.wisc.edu
Tue Apr 3 19:03:12 CEST 2007
On 4/2/07, Seyed Reza Jafarzadeh <srjafarzadeh at gmail.com> wrote:
> Hi,
>
> I am getting a warning message when I am fitting a generalized linear
> mixed model (m1.2 below).
>
>
> CHOLMOD warning: matrix not positive definite
> Error in objective(.par, ...) : Cholmod error `matrix not positive
> definite' at file:../Supernodal/t_cholmod_super_numeric.c, line 614
>
>
> Any idea?
>
> Thanks for your help,
> Reza
>
>
>
> > sessionInfo()
> R version 2.4.1 (2006-12-18)
> i386-pc-mingw32
>
> locale:
> LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
> States.1252;LC_MONETARY=English_United
> States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
>
> attached base packages:
> [1] "stats" "graphics" "grDevices" "utils" "datasets"
> "methods" "base"
>
> other attached packages:
> lme4 Matrix lattice
> "0.9975-13" "0.9975-11" "0.14-17"
>
>
> > m1.1 <- lmer(o ~ pv1o + pv2o + pv1toa + pv2toa + sesblf + (1 |
> prov) + (1 | pm), data = mydata[1:1392,], family = quasipoisson)
> > m1.1
> Generalized linear mixed model fit using Laplace
> Formula: o ~ pv1o + pv2o + pv1toa + pv2toa + sesblf + (1 | prov) + (1 | pm)
> Data: mydata[1:1392, ]
> Family: quasipoisson(log link)
> AIC BIC logLik deviance
> 2622 2675 -1301 2602
> Random effects:
> Groups Name Variance Std.Dev.
> prov (Intercept) 0.495021 0.70358
> pm (Intercept) 0.047755 0.21853
> Residual 1.935867 1.39135
> number of obs: 1392, groups: prov, 24; pm, 12
>
> Fixed effects:
> Estimate Std. Error t value
> (Intercept) -0.207562 0.202715 -1.024
> pv1o 0.056575 0.006861 8.246
> pv2o 0.023042 0.007216 3.193
> pv1toa 0.026497 0.003309 8.008
> pv2toa -0.001075 0.003467 -0.310
> sesblf2 0.307805 0.195291 1.576
> sesblf3 0.067867 0.194097 0.350
> sesblf4 0.232652 0.194075 1.199
>
> Correlation of Fixed Effects:
> (Intr) pv1o pv2o pv1toa pv2toa ssblf2 ssblf3
> pv1o 0.035
> pv2o -0.014 -0.568
> pv1toa 0.017 -0.239 0.050
> pv2toa -0.104 0.035 -0.267 -0.772
> sesblf2 -0.498 -0.038 0.037 -0.067 0.102
> sesblf3 -0.483 -0.042 0.021 -0.096 0.085 0.508
> sesblf4 -0.483 -0.052 0.029 -0.099 0.083 0.508 0.518
>
>
> > m1.2 <- lmer(o ~ pv1o + pv2o + pv1toa + pv2toa + sesblf + (pv1o | prov) + (1 | pm), data = mydata[1:1392,], family = quasipoisson)
> CHOLMOD warning: matrix not positive definite
> Error in objective(.par, ...) : Cholmod error `matrix not positive
> definite' at file:../Supernodal/t_cholmod_super_numeric.c, line 614
>
>
> > m1.3 <- lmer(o ~ pv1o + pv2o + pv1toa + pv2toa + sesblf + (pv1toa | prov) + (1 | pm), data = mydata[1:1392,], family = quasipoisson)
> > m1.3
> Generalized linear mixed model fit using Laplace
> Formula: o ~ pv1o + pv2o + pv1toa + pv2toa + sesblf + (pv1toa | prov)
> + (1 | pm)
> Data: mydata[1:1392, ]
> Family: quasipoisson(log link)
> AIC BIC logLik deviance
> 2459 2522 -1218 2435
> Random effects:
> Groups Name Variance Std.Dev. Corr
> prov (Intercept) 0.88071235 0.938463
> pv1toa 0.00065327 0.025559 -0.712
> pm (Intercept) 0.04588791 0.214215
> Residual 1.76873748 1.329939
> number of obs: 1392, groups: prov, 24; pm, 12
>
> Fixed effects:
> Estimate Std. Error t value
> (Intercept) -0.3854583 0.2384690 -1.616
> pv1o 0.0545945 0.0069507 7.855
> pv2o 0.0266912 0.0072733 3.670
> pv1toa 0.0369315 0.0063083 5.854
> pv2toa -0.0008906 0.0034099 -0.261
> sesblf2 0.3326815 0.1908401 1.743
> sesblf3 0.1012759 0.1896883 0.534
> sesblf4 0.1968002 0.1899092 1.036
>
> Correlation of Fixed Effects:
> (Intr) pv1o pv2o pv1toa pv2toa ssblf2 ssblf3
> pv1o 0.016
> pv2o -0.023 -0.306
> pv1toa -0.485 -0.143 -0.014
> pv2toa -0.080 -0.055 -0.306 -0.367
> sesblf2 -0.414 -0.037 0.033 -0.028 0.099
> sesblf3 -0.402 -0.034 0.027 -0.046 0.080 0.509
> sesblf4 -0.399 -0.039 0.031 -0.056 0.079 0.507 0.517
Thanks for including the information that you did. Would you be kind
enough to rerun the model that failed with the additional argument
control = list(msVerbose = 1). That will help to show exactly what is
happening to the parameter estimates in the model during the course of
the iterations.
More information about the R-help
mailing list