Chaloner, Kathryn
2007-Sep-28 15:35 UTC
[R] lmer giving negative, or no, estimated standard errors
R Users,
Emine Bayman sent this out earlier and we do not think it went through.
Appologies if it did.
We want to fit GLMM with lmer with binomial data and a one-way random
effects model (overall mean is a fixed effect and there are random
effects for each binomial).
We are using the Laplace method. We are simulating multiple data sets
and use the
Laplace method with control = list (usePQL = FALSE)). For most data sets
it works well,
but for some we get an error message
(Error in if (any(sd < 0)) return("'sd' slot has negative
entries") :
missing value where TRUE/FALSE needed)
In these cases we get an estimate for the fixed effect but do not get an
estimate for se.fixef (its negative). If we change the method to PQL or
change
control = list (usePQL = TRUE)
then we get estimates for both fixed effect and se.fixef, but in the
example below the estimates of fixed effects are different for 3 of 4
cases - and the standard errors. Could someone please help us?
Which, if any, of the estimates for
the intercept is the best one? And why are they different?
I think the problem occurs because the MLE for the between group
variance
is zero and so the estimate becomes negative. The different estimates
may have to do with pooling or not pooling the between and within sum of
squares
to estimate both the fixed effect and its standard error - but we can
find no
documentation for this.
Thanks, Can anyone help us please? Is there any documentation that
might help?
Kathryn Chaloner
Dept of Biostat
Univ Iowa
kathryn-chaloner@uiowa.edu
And Emine Bayman, PhD student.
emine-unlu@uiowa.edu
Here is one example data set with very different estimates for the fixed
effect and its standard error:
install.packages("nlme")
install.packages("Matrix")
install.packages("lme4")
install.packages("car")
library(nlme)
library(Matrix)
library(lme4)
library(car)
library(arm)
y <- c(14, 9, 19, 12, 10, 12, 8, 11, 15, 4, 14, 13, 8, 3)
n <- c( 20, 20, 20, 20, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18)
center <- seq(1:14)
example1 <- lmer(cbind( y, n - y) ~ 1 + ( 1 | center) ,
family = binomial, niter = 50, method = "Laplace", control = list
(usePQL = FALSE))
fixef(example1)
se.fixef(example1)
example2 <- lmer(cbind( y, n - y) ~ 1 + ( 1 | center) ,
family = binomial, niter = 50, method = "Laplace", control = list
(usePQL = TRUE))
fixef(example2)
se.fixef(example2)
example3 <- lmer(cbind( y, n - y) ~ 1 + ( 1 | center) ,
family = binomial, niter = 50, method = "PQL",control = list (usePQL
TRUE))
fixef(example3)
se.fixef(example3)
example4 <- lmer(cbind( y, n - y) ~ 1 + ( 1 | center) ,
family = binomial, niter = 50, method = "PQL",control = list (usePQL
FALSE))
fixef(example4)
se.fixef(example4)
[[alternative HTML version deleted]]
