[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