Thanks to some recently developed tools, it’s becoming very convenient to do full Bayesian inference for generalized linear mixed-effects models. First, Andrew Gelman et al. have developed Stan, a general-purpose sampler (like BUGS/JAGS) with a nice R interface which samples from models with correlated parameters much more efficiently than BUGS/JAGS. Second, Richard McElreath has written glmer2stan, an R package that essentially provides a drop-in replacement for the lmer command that runs Stan on a generalized linear mixed-effects model specified with a lme4-style model formula.
This means that, in many cases, you simply simply replace calls to
(g)lmer() with calls to
library(glmer2stan) library(lme4) lmer.fit <- glmer(accuracy ~ (1|item) + (1+condition|subject) + condition, data=data, family='binomial') summary(lmer.fit) library(glmer2stan) library(rstan) stan.fit <- glmer2stan(accuracy ~ (1|item) + (1+condition|subject) + condition, data=data, family='binomial') stanmer(stan.fit)
There’s the added benefit that you get a sample from the full, joint posterior distribution of the model parameters
I’ve just uploaded files containing some useful functions to a public git repository. You can see the files directly without worrying about git at all by visiting regression-utils.R (direct download) and mer-utils.R (direct download). Read the rest of this entry »