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]]