[R] lmer, CHOLMOD warning: matrix not positive definite
Seyed Reza Jafarzadeh
srjafarzadeh at gmail.com
Wed Apr 4 00:11:49 CEST 2007
Dear Douglas Bates,
Thanks for your attention. Please see the warnings with additional
control argument for the models that failed.
> m1.2 <- lmer(o ~ pv1o + pv2o + pv1toa + pv2toa + sesblf + (pv1o | prov) + (1 | pm), data = mydata[1:1392,], family = quasipoisson, control = list(msVerbose = 1))
relative tolerance set to 3.97418414349626e-06
0 2516.24: -0.0343767 0.0799244 0.0463578 0.0173111 -0.00385332
0.330649 0.0896930 0.185739 0.0459770 0.00241710 0.00000 0.0229885
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.4 <- lmer(o ~ pv1o + pv2o + pv1toa + pv2toa + sesblf + (1 | prov) + (pv1o | pm), data = mydata[1:1392,], family = quasipoisson, control = list(msVerbose = 1))
relative tolerance set to 3.82209043930558e-06
0 2616.37: -0.0343767 0.0799244 0.0463578 0.0173111 -0.00385332
0.330649 0.0896930 0.185739 0.0459770 0.0229885 0.00120855 0.00000
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.6 <- lmer(o ~ pv1o + pv2o + pv1toa + pv2toa + sesblf + (pv1o | prov) + (pv1o | pm), data = mydata[1:1392,], family = quasipoisson, control = list(msVerbose = 1))
relative tolerance set to 4.08445979897786e-06
0 2448.30: -0.0343767 0.0799244 0.0463578 0.0173111 -0.00385332
0.330649 0.0896930 0.185739 0.0459770 0.00241710 0.00000 0.0229885
0.00120855 0.00000
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.23 <- lmer(o ~ pv1o + pv2o + pv1toa + pv2toa + sesblf + (pv1toa | pm), data = mydata[1:1392, ], family = quasipoisson, control = list(msVerbose = 1))
relative tolerance set to 3.35608419754339e-06
0 2979.66: -0.0343767 0.0799244 0.0463578 0.0173111 -0.00385332
0.330649 0.0896930 0.185739 0.0229885 7.10587e-05 0.00000
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
Thanks,
Reza
On 4/3/07, Douglas Bates <bates at stat.wisc.edu> wrote:
> 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