Thanks, Jacquelyn and Ben. Jacquelyn, did you mean to attach some code or
just reference the site that Ben did? I had seen Ben's comments on
StackOverflow about potential false convergence messages, so I'll dig a bit
deeper. I just wanted to make sure it wasn't something obvious that I had
overlooked first.
From what I've read online, glmmPQL is inappropriate with Bernoulli
trials.
Is that correct?
Chris
On Wed, Mar 16, 2016 at 2:35 PM, Ben Bolker <bbolker at gmail.com> wrote:
Good question.
I'm afraid that for data sets ~ 100,000 observations or bigger, our
convergence calculations aren't terribly reliable -- see e.g. the third
Hi Chris,
Try checking ?convergence....coincidentally, I was having a similar
problem
just yesterday. There are some step by step
instructions for trouble shooting/double checking convergence warnings.
For
example, a bit of example code is provided to run your model using a
number
of different optimizers. If all optimizers yield similar values, it's
possible that you could be getting false convergence warnings. I'm not
sure
if that's the case with your data, but it might be a place to start!
Jacquelyn
On Wed, Mar 16, 2016 at 1:56 PM, Christopher David Desjardins <
cddesjardins at gmail.com> wrote:
I am trying to fit a mixed effects binomial model.
The data consists of
- A dependent variable consisting of Bernoulli trials (outcome)
- A time variable (time), which has been mean centered
- An id variable (id)
- A categorical covariate (cat_cov)
- A blocking variable (block) which id is nested in. I realize in the
model
below that it should be (1 | id/block) but I am just trying to
troubleshoot
my problem at the moment.
When I run the following:
example_data <- read.csv("https://cddesja.github.io/example_data.csv",
header = T)
example_data$cat_cov <- as.factor(example_data$cat_cov)
example_data$id <- as.factor(example_data$id)
example_data$block <- as.factor(example_data$block)
main_effects <- glmer(outcome ~ 1 + cat_cov + time + I(time^2) + (1 |
id),
data = example_data, family = "binomial")
That last line of code gives a warning message:
main_effects <- glmer(outcome ~ 1 + cat_cov + time + I(time^2) + (1 |
id), data = example_data, family = "binomial")
Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,
:
Model failed to converge with max|grad| = 4.36001 (tol = 0.001,
component
1)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,
:
Model is nearly unidentifiable: very large eigenvalue
- Rescale variables?
I am not exactly sure how to proceed. I know the issue is with cat_cov,
though it's unclear to me why. If I swap out in a different categorical
covariate in the model, not included in that data set, I don't get this
message. I am not running into complete separation with cat_cov. So,
I'm a
little perplexed.
Any advice on what I should do or something I could look at it would be
very helpful.
Thanks,
Chris
--
https://cddesja.github.io/
[[alternative HTML version deleted]]