[R-sig-ME] bootMer: 2 questions about generating standard errors in lme4

Jeffrey Evans jeff at jeffreyevans.org
Mon Aug 18 21:57:00 CEST 2014


And as always, one should always check for the latest version of lme4. 
The older version I had didn't support parallel processing in bootMer.

Jeff

On 8/15/2014 5:34 PM, Ben Bolker wrote:
>
>
>
> On Fri, Aug 15, 2014 at 8:48 AM, Jeffrey Evans <jeff at jeffreyevans.org 
> <mailto:jeff at jeffreyevans.org>> wrote:
>
>     Hi all,
>
>     I am trying to generate standard errors for the predicted values
>     from a binomial GLMM in lme4. There have been a number of posts
>     about using bootMer to accomplish this, but the obtuse language in
>     the help file 
>
>
>
> If you'd like to give specific suggestions that would help improve the 
> help file that would be great ...
>
>     and in these posts continues to befuddle me, and the responses
>     often seem tailored to specific cases (e.g.
>     https://stat.ethz.ch/pipermail/r-sig-mixed-models/2013q3/020663.html).
>     My questions are:
>
>     (1) Could someone please help tailor a response for my specific case?
>     (2) Can bootMer be run in parallel on a multi-core windows
>     machine? I found some code fragments on the web from Ben Bolker
>     that appear to attempt this using snow, but it doesn't seem to be
>     implemented in the current version of lme4.
>     http://ms.mcmaster.ca/~bolker/misc/bootMer_min.Rout
>     <http://ms.mcmaster.ca/%7Ebolker/misc/bootMer_min.Rout>
>
>
>  It should, I think (I could be wrong, I haven't tried it lately or 
> looked back at the code).  Did you try? "doesn't seem to be 
> implemented" -- do you get an error message?  What error message?
>
>     My model has one fixed categorical effect (site), and random
>     effects for the experimental unit (ID) and year (Year):
>
>         m1 = glmer(cbind(S,F) ~ site + (1|ID) + (1|Year),
>     data=dat,family="binomial")
>
>     where S and F are the numbers of successes and failures,
>     respectively and year is coded as a factor.
>
>     I want marginal predictions for each site, which I can generate
>     with the predict function, but how do I get standard errors for
>     those predictions which incorporate variance due to year?
>
>     # generate marginal predictions
>     pred =
>     predict(m1,newdata=data.frame(site=unique(dat$site)),REform=NA,type="response")
>
>
>   Minor point: re.form is preferred to REform , we're hoping to 
> deprecate REform in the future.
>
>
>     # are these options correct?
>     predSE = bootMer(m1, predict, use.u=T,type="parametric",nsim =
>     10,.progress="txt")
>
>
>     You'll have to think about it carefully for yourself,  but I think 
> it would be better *not* to condition on the estimated conditional 
> modes for ID and Year; I would use
>
> nd <- data.frame(site=unique(dat$site))
> predictFun <- function(x) 
> predict(x,newdata=nd,re.form=~(1|Year),type="response")
> predBoot <- bootMer(m1, predictFun, use.u=FALSE, ...)
>
>
>     I'm not sure how to choose use.u and type or whether just using
>     predict as the function is sufficient. In a past comment, Ben
>     Bolker talked about using FUN=predict vs. FUN=sumulate, but I'm
>     not sure what the difference is.
>     https://stat.ethz.ch/pipermail/r-sig-mixed-models/2013q3/020663.html
>
>
>    the difference between predict() and simulate() would essentially 
> be the difference between confidence intervals (not including residual 
> variance) and prediction intervals.
>
>
>     What if I want the predictions back-transformed to the data scale
>     (i.e. as probabilities)?
>
>
>   Isn't this what you're already getting?
>
>   Can you give a simple reproducible example?


	[[alternative HTML version deleted]]



More information about the R-sig-mixed-models mailing list