[R] Convergence and singularity in glmmPQL

Andrew Perrin clists at perrin.socsci.unc.edu
Fri May 31 22:37:18 CEST 2002


Greetings-

Using R 1.5.0 under linux and the latest MASS and nlme, I am trying to
develop a three-level (two levels of nesting) model with a dichotomous
oucome variable. The unconditional model is thus:

> doubt1.pql<-glmmPQL(fixed = r.info.doubt ~ 1, random = ~1 |
groupid/participantid,
+ family = binomial, data = fgdata.10statements.df)
iteration 1 
iteration 2 
iteration 3 
iteration 4 
iteration 5 
> summary(doubt1.pql)
Linear mixed-effects model fit by maximum likelihood
 Data: fgdata.10statements.df 
       AIC      BIC    logLik
  35838.51 35864.14 -17915.26

Random effects:
 Formula: ~1 | groupid
        (Intercept)
StdDev:   0.9113356

 Formula: ~1 | participantid %in% groupid
        (Intercept)  Residual
StdDev:    1.222692 0.8411629

Variance function:
 Structure: fixed weights
 Formula: ~invwt 
Fixed effects: r.info.doubt ~ 1 
                Value Std.Error   DF   t-value p-value
(Intercept) -5.523606 0.3170107 4351 -17.42404  <.0001

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-0.54548030 -0.06825715 -0.05379631 -0.04567625 18.29733311 

Number of Observations: 4480
Number of Groups: 
                   groupid participantid %in% groupid 
                        21                        129 

---

The most interesting question, though, is the effect of the dummy
variables is.prot, is.cath, is.union, is.sport, and is.busi. Each of these
is a dichotomous variable. I tried:

> doubt5.pql<-glmmPQL(random = ~ 1 | groupid/participantid,
+                     fixed = r.info.doubt ~  is.prot + is.cath + is.union
+                     is.sport + is.busi,
+                     data = fgdata.10statements.df,
+                     na.action=na.omit,
+                     niter=50,
+                     family = binomial)

(the version without niter=50 just failed to converge after 10
interations; adding niter=50 gives:

iteration 1 
...
iteration 26 
Error in solve.default(estimates[dimE[1] - (p:1), dimE[2] - (p:1), drop =
FALSE]) : 
        singular matrix `a' in solve
In addition: Warning message: 
Algorithm did not converge in: (if (is.empty.model(mt)) glm.fit.null else
glm.fit)(x = X, y = Y,  


---

Can someone help with interpreting this? What strategies might be fruitful
in gaining convergence? This particular outcome variable is very sparse
(28 positive values in an N of 4480); is that likely part of the problem?

Thanks.

----------------------------------------------------------------------
Andrew J Perrin - http://www.unc.edu/~aperrin
Assistant Professor of Sociology, U of North Carolina, Chapel Hill
clists at perrin.socsci.unc.edu * andrew_perrin (at) unc.edu


-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list