glmerMod with covariance matrix set to 0?
On 14-04-27 12:38 PM, Elizabeth Crone wrote:
Dear mixed modelers, When lme4 fits a glmer model, the default parameterization is to model the full covariance matrix of random effects. For some data sets, this takes a very long time, and the covariance is also difficult to estimate with missing data. Is there a way to set the correlation matrix to 0? [I can think of ways to hack it, but I wonder if there is a command I haven't noticed.] To make my question more concrete, consider an example where I am modeling counts of animals at several sites through time: glmer(count ~ -1 + site + (-1 + site|year), family = poisson) This model estimates the average log-count of animals at each site, the standard deviation through time at each site, and the covariance of log-counts at all pairs of sites through time. [The -1's set the parameterization to means and standard deviations for each site, as opposed to a reference group, and deviations from that group.] Missing data are sites with no counts in some years, which is one thing that makes the covariance difficult to estimate. Is there a command to set the random effects correlations to 0, without manually creating a dummy variable for each site, running a separate lmer model for each site? Thanks! Elizabeth Crone
This is possible, but it's not *very* easy at present. The basic idea is to build the full deviance function, and then wrap it in a function that sets the diagonal elements of the v-cov matrix to the parameters specified (and the fixed effects vector, if it's a GLMM with nAGQ>0) but sets the off-diagonal elements of the variance-covariance matrix to zero. I haven't had time to put together such an example, but a similar trick is done at http://rpubs.com/bbolker/6298 ; the diagLmer() function defined there might work with suitable modifications. A slightly better way would actually be to redefine the internal Lind/Lambda structures; the best way would be for us to implement a notation that would allow end-users to do this easily ... Ben Bolker