boundary (singular) fit and failure to converge
On 2022-09-13 10:25 a.m., Rafael Lima Oliveira wrote:
Dear mailing list at R-sig-mixed-models, I have a dataset of environmental variables (salinity, temperature, pH, dissolved oxygen, turbidity and depth) as predictors and as response variables fish species richness. Initially, I ran a Poisson-GLMM and this is my model: poissonmodel<- glmer(Richness~ Salinity*Locality + Temperature*Locality + pH*Locality + DO*Locality + Turbidity*Locality + Depth*Locality + (1 |Month) + (1|Locality/Site), family="poisson", data = dados) Warning message: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model failed to converge with max|grad| = 0.00485978 (tol = 0.002, component 1) The random-effect variances being estimated as zero (or close to 0) indicates that my model should be simplified? Should I remove the random effects terms without substantial loss of fidelity to the data?
If you remove a term whose variance is estimated as zero, you're not losing *any* fidelity to the data ... in general, the recommendation is that terms that are fitted as singular probably indicate an overfitted/overly complex model (see e.g. Barr et al 2013 "Keep it maximal", Matuschek et al 2017 "Balancing Type I error" -- both agree that singular terms can be removed)
The Random structure that I created in my model account for my nested
design, where: (1 |Month) account for temporal variability of my dataset
collected monthly during 1 year and (1|Locality/Site) where indicated that,
spatially my data are nested, in this case "Site" nested in "Locality".
Overdispersion test to Poisson model indicated a dispersion rate of 1.632.
Once overdispersion is detected, I?m refitting my model with negative
binomial distribution (function ?glmer.nb) and variance of the random
effects also was close to 0.
*This is my negative binomial model:*
binomialmodel<- glmer.nb(Richness~ Locality + Salinity*Locality +
Temperature*Locality + pH*Locality + DO*Locality + Turbidity*Locality +
Depth*Locality + (1 |Month) + (1|Locality/Site), data = dados)
After run my model some warnings appeared:
*- boundary (singular) fit: see help('isSingular')*
and two warnings about Convergence:
*1:* In optTheta(g1, interval = interval, tol = tol, verbose = verbose,
failure to converge in 10000 evaluations
*2:* In optTheta(g1, interval = interval, tol = tol, verbose = verbose, :
convergence code 4 from Nelder_Mead: failure to converge in 10000
evaluations
You should definitely increase the number of function evaluations. (Not sure why this is using Nelder-Mead, which is usually *not* the most robust of the available options ... ?) You could also try glmmTMB, which is a bit faster/more robust when fitting negative binomial models.
The random effects that I specified in my model are not really needed? If I remove the random effects, can I change the GLMM approach to GLM approach?
If *all* of your REs have variance zero then yes, you probably won't lose anything by dropping back from GLMMs to GLMs.
If anybody has any tips on this please give me a hand. Hope you can understand it. With many thanks and kind regards, Rafael
Dr. Benjamin Bolker Professor, Mathematics & Statistics and Biology, McMaster University Director, School of Computational Science and Engineering (Acting) Graduate chair, Mathematics & Statistics > E-mail is sent at my convenience; I don't expect replies outside of working hours.