------------------------------
Message: 5
Date: Sat, 23 Jun 2012 20:24:01 +0000 (UTC)
From: Ben Bolker <bbolker at gmail.com>
To: r-sig-mixed-models at r-project.org
Subject: Re: [R-sig-ME] meaning of the use.u argument in bootMer and
simulateMerMod
Message-ID: <loom.20120623T213124-231 at post.gmane.org>
Content-Type: text/plain; charset=utf-8
Simon Chamaill?-Jammes <s.chamaille at ...> writes:
recently I've been doing parametric boostrapping of glmer models (using
simulate/refit) to get confidence intervals for both fixed effect and
variance estimates.
Yesterday I updated to the latest lme4 release on rforge, and discovered
(did I overlook it before?) the use.u argument in the bootMer function
(which is actually used in the simulateMerMod function called by
bootMer).
I *think* it's been there for some time, and you just haven't
noticed it?
in bootMer the definition of the use.u argument (default is FALSE) is:
logical, indicating, if the spherized random effects should be
simulated / bootstrapped as well. If FALSE, they are not changed, and
all inference is conditional on these.
in simulateMerMod its definition (default is FALSE) is:
(logical) generate new random-effects values (FALSE) or generate a
simulation condition on the current random-effects estimates (TRUE)?
Despite these explanations I don't quite get what's actually done and
I'm feeling uneasy about what should be done when bootstrapping to
produce confidence intervals for variance estimates. So far I have
implicitly used the default use.u = FALSE. All examples found on various
discussion/help lists seem to happily avoid this issue, maybe rightly I
don't know.
Any clarification, and answer on am I doing it right or not, would be
welcome.
There's definitely some confusion and inconsistency between the
documentation in both places (?bootMer and ?simulate.merMod); rather
than charging in and fixing everything immediately, I will have to
have some conversation with the primary developers to make sure that
I've got everything right ...
Bottom line: you're not being dumb, there are some messy/wrong
bits in there. For now, look carefully at the *code* to see what's
going on.
I would be inclined to do _unconditional_ simulations (i.e.
resampling the random effects); I don't, however, know offhand
of any good references on the implications of doing it one way
or the other (obviously the conditional simulations will give
less variability/less conservative estimates of confidence intervals).
PS1/ If one use bootMer to perform semi-parametric bootstrapping and
use.u is TRUE (the only option for now with semi-par. bootstrap), then
residuals are randomly permuted and added to the fitted values.
PS2/ I believe what I'm asking here is related and similar to what was
asked here:
https://stat.ethz.ch/pipermail/r-sig-mixed-models/2010q4/005049.html
which wasn't replied to (at least on the list).
PS3/ for my personal knowledge, I would be glad to get a hint on what
"spherized" random effects mean - google was of no help on this (which
somehow makes me feel good at times...)
"Spherized" means a form of the random effects that are uncorrelated
and where all observations have equal variance (so that the points
would fall in a (hyper)sphere in multidimensional space. This is discussed
under the rubric "spherical" in the introductory chapter of Doug
Bates's book.
PS4/ for those interested, usage of use.u = TRUE with observation-level
random effect or nested random effects is problematic, ie. does not run:
you get things like:
Error in dim(val) <- c(n, nsim) :
dims [product 164] do not match the length of object [123]
In addition: Warning message:
In etasim.fix + etasim.reff :
longer object length is not a multiple of shorter object length
Yes indeed (although I'm not 100% sure of the pattern --
I think it may not require nested random effects to break). Will fix!
thanks for your patience,
Ben Bolker
------------------------------