Dear Deepayan, Thanks for the explanation (and for pointing out that the data set is also in the lme4 package). I had tried control=lmeControl(tolerance=1e-4, PQLmaxIt=100) and control=lmeControl(PQLmaxIt=1000), but gave up at that point. I just tried lmeControl(tolerance=1e-4, PQLmaxIt=1000), and that works. I guess I just was insufficiently persistent.
Regards, John -------------------------------- John Fox Department of Sociology McMaster University Hamilton, Ontario Canada L8S 4M4 905-525-9140x23604 http://socserv.mcmaster.ca/jfox -------------------------------- > -----Original Message----- > From: Deepayan Sarkar [mailto:[EMAIL PROTECTED] > Sent: Tuesday, November 23, 2004 5:10 PM > To: [EMAIL PROTECTED] > Cc: John Fox; 'R-Help' > Subject: Re: [R] Convergence problem in GLMM > > On Tuesday 23 November 2004 11:14, John Fox wrote: > > Dear list members, > > > > In re-running with GLMM() from the lme4 package a > generalized-linear > > mixed model that I had previously fit with glmmPQL() from MASS, I'm > > getting a warning of a convergence failure, even when I set > the method > > argument of > > > > GLMM() to "PQL": > > > bang.mod.1 <- glmmPQL(contraception ~ as.factor(children) > + cage + > > > urban, > > > > + random=~as.factor(children) + cage + urban|district, > > + family=binomial, data=Bangladesh) # works! > > > > > bang.mod.1 <- GLMM(contraception ~ as.factor(children) + cage + > > > urban, > > > > + random=~as.factor(children) + cage + urban|district, > > + family=binomial, data=Bangladesh, method="PQL") > > Warning message: > > IRLS iterations for glmm did not converge in: GLMM(formula = > > contraception ~ as.factor(children) + cage + urban, > > This dataset is also in lme4 as 'Contraception'. > > > Despite the indicated convergence failure, the two sets of > estimates > > are quite close, as one would expect. I've also played around with > > various arguments to lmeControl(), but without success. > > > > I'm curious about the source of the difference, since (as I > understand > > it), essentially the same algorithm is used by the two > functions. I'm > > using R 2.0.1 under Windows XP with the current version of lme4. > > Probably because the convergence criterion is different. glmmPQL has > > if (sum((eta - etaold)^2) < 1e-06 * sum(eta^2)) > break > > GLMM has > > crit <- max(abs(eta - etaold)) / (0.1 + max(abs(eta))) > ## use this to determine convergence > if (crit < controlvals$tolerance) { > conv <- TRUE > break > } > > I'm not sure why we chose that. Setting > > control = list(tolerance = 1e-3, PQLmaxIt = 100) > > converges for me, but that's probably a bit extreme. > > Deepayan ______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
