lme4
Dear Ben Bolker,
Thanks for the quick answer. Yes, I admit that I did not mention my
problem clearly and do apologize for that. It was just because I came
across the same error messages in the Qs & As that I did when my
package was updated. I was using the earlier version of lme4 and did
not have any problems with it. For instance, for the following code I
came to the following calculation without any error messages. (my
dependent variable is binary and fixed factors are categorical)
summary(mod.15<-glmer(ErrorRate~1+
cgroup*cgrammaticality*cHeadNoun*cVerbType+(1|itemF)+
(1+grammaticality*HeadNoun*VerbType|participantF),data=e3,
family="binomial",na.action=na.exclude))
Note that this is a very large (15*15) random-effects variance-covariance matrix to estimate: I know that this is recommended by Barr et al 2013, but see recent discussion on this list, e.g. http://article.gmane.org/gmane.comp.lang.r.lme4.devel/12492/ It would be a good idea to check for a singular fit, i.e. t <- getME(mod.15,"theta") lwr <- getME(mod.15,"lower") any(t[lwr==0]< 1e-6)
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.9745 0.1274 -15.494 < 2e-16 ***
cgroup 1.5843 0.1789 8.854 < 2e-16 ***
cgrammaticality 0.5245 0.2182 2.404 0.0162 *
cHeadNoun -0.2720 0.1853 -1.468 0.1422
cVerbType 0.7591 0.2326 3.263 0.0011 **
cgroup:cgrammaticality 1.5796 0.3586 4.404 1.06e-05 ***
cgroup:cHeadNoun 0.0475 0.3537 0.134 0.8932
cgrammaticality:cHeadNoun 0.5368 0.4338 1.237 0.2159
cgroup:cVerbType -0.2441 0.3472 -0.703 0.4821
cgrammaticality:cVerbType -0.4861 0.4185 -1.162 0.2454
cHeadNoun:cVerbType -0.1563 0.3969 -0.394 0.6936
cgroup:cgrammaticality:cHeadNoun 0.2659 0.7161 0.371 0.7104
cgroup:cgrammaticality:cVerbType -0.4691 0.6945 -0.675 0.4994
cgroup:cHeadNoun:cVerbType 0.7661 0.6916 1.108 0.2679
cgrammaticality:cHeadNoun:cVerbType 0.9104 0.9147 0.995 0.3196
cgroup:cgrammaticality:cHeadNoun:cVerbType 3.1326 1.3994 2.239 0.0252 *
These estimated effects look only very slightly different to me than the ones below (i.e., only a few percent differences in point estimates, always much smaller than the estimated standard error, and no qualitative differences in Z/P values). Can you specify whether there are any differences that particularly concern you?
But as soon as I updated the package to a new version , for the same code I got the following error message and some calculations are not matched with the those with the earlier version (as shown below). I don't know exactly which version was the previous one, but I guess I was using 2013 packages Warning messages: 1: In commonArgs(par, fn, control, environment()) : maxfun < 10 * length(par)^2 is not recommended. Relatively harmless 2: In optwrap(optimizer, devfun, start, rho$lower, control = control, : convergence code 1 from bobyqa: bobyqa -- maximum number of function evaluations exceeded 3: In (function (fn, par, lower = rep.int(-Inf, n), upper = rep.int(Inf, : failure to converge in 10000 evaluations
You definitely need to increase the number of iterations: see ?lmerControl, specifically the "optCtrl" setting (e.g. control=lmerControl(optCtrl=list(maxfun=1e6)))
4: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model failed to converge with max|grad| = 0.0928109 (tol = 0.001, component 28) 5: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model failed to converge: degenerate Hessian with 1 negative eigenvalues
These are convergence *warnings*. They do not indicate that your fit is actually any worse than previously, just that we have increased the sensitivity of the tests. Can you specify what version you are using? I wouldn't recommend moving back to an earlier version of lme4, but you could check out https://github.com/lme4/lme4/blob/master/README.md for instructions on how to install the lme4.0 package if you really want ...
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.97217 0.13810 -14.281 < 2e-16 ***
cgroup 1.58614 0.18262 8.686 < 2e-16 ***
cgrammaticality 0.52725 0.24544 2.148 0.0317 *
cHeadNoun -0.28061 0.21350 -1.314 0.1887
cVerbType 0.75503 0.25615 2.948 0.0032 **
cgroup:cgrammaticality 1.57010 0.36695 4.279 1.88e-05 ***
cgroup:cHeadNoun 0.05736 0.36138 0.159 0.8739
cgrammaticality:cHeadNoun 0.55238 0.47616 1.160 0.2460
cgroup:cVerbType -0.24665 0.35618 -0.692 0.4886
cgrammaticality:cVerbType -0.49272 0.45732 -1.077 0.2813
cHeadNoun:cVerbType -0.14235 0.44553 -0.319 0.7493
cgroup:cgrammaticality:cHeadNoun 0.24468 0.73223 0.334 0.7383
cgroup:cgrammaticality:cVerbType -0.45695 0.70627 -0.647 0.5176
cgroup:cHeadNoun:cVerbType 0.75837 0.70763 1.072 0.2839
cgrammaticality:cHeadNoun:cVerbType 0.88375 0.98856 0.894 0.3713
cgroup:cgrammaticality:cHeadNoun:cVerbType 3.15344 1.42351 2.215 0.0267 *
Because I am using Rstudio I have just two options when I want to
install or to update packages. When I use CRAN and let Rstudio install
lme4 automatically it installs the most recent one. As such, it
downloads the new package of lme4 which is problematic as I understand
(sorry I might be wrong for that because I don't have any expertise
but I'm talking from my observations) So my suggestion is that let the
earlier version of lme4 be on the CRAN such that when users are
installing they automatically install the one which was not
problematic. Another option for me to download the earlier version
and to install from my pc. But when I use this option from Rstudio,
lme4 does not install and come with the following message.
install.packages("~/lme4_1.0-4.tar.gz", repos = NULL, type = "source")
Installing package into 'C:/Users/Azad/Documents/R/win-library/3.0'
(as 'lib' is unspecified)
* installing *source* package 'lme4' ...
** package 'lme4' successfully unpacked and MD5 sums checked
** libs
If you want to install 1.0-4 you can either get the tarball from here: http://cran.r-project.org/src/contrib/Archive/lme4/lme4_1.0-4.tar.gz but you will either need to be able to install it from source (i.e. have compilers etc. installed) or modify the DESCRIPTION file to make yourself the maintainer and ship it off to ftp://win-builder.r-project.org. *OR* (possibly a better idea) you can retrieve a binary/.zip file from http://lme4.r-forge.r-project.org/repos/bin/windows/contrib/3.0/lme4_1.0-4.zip and install it. (You didn't specify your actual error messages from the attempted lme4 installation.)
Sorry for the inconvenience and hope that I've made things clear now. Best wishes Ebrahim