I'm fitting a generalized linear mixed model using glmer()
and I'm getting a warning that I don't understand:
> glmerOut <- glmer(cbind(MissedMeds_N, TotalAdministrations) ~ RegisteredBeds + Ratings + month_id + (1|FacilityKey), family = "binomial", data = df, na.action = "na.omit")
Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model is nearly unidentifiable: very large eigenvalue
- Rescale variables?
As this is just a warning, can I ignore it?
Here's a model summary:
> summary(glmerOut)
Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
Family: binomial ( logit )
Formula: cbind(MissedMeds_N, TotalAdministrations) ~ RegisteredBeds + Ratings + month_id + (1 | FacilityKey)
Data: df
AIC BIC logLik deviance df.resid
25671.9 25703.9 -12829.9 25659.9 1546
Scaled residuals:
Min 1Q Median 3Q Max
-16.314 -0.971 -0.077 0.806 34.580
Random effects:
Groups Name Variance Std.Dev.
FacilityKey (Intercept) 2.334 1.528
Number of obs: 1552, groups: FacilityKey, 197
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -5.0085199 0.3988178 -12.558 < 2e-16 ***
RegisteredBeds 0.0061837 0.0049708 1.244 0.213
Ratings3 0.3042232 0.3028842 1.004 0.315
Ratings4 0.0636890 0.3975268 0.160 0.873
month_id -0.0043179 0.0005467 -7.899 2.82e-15 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr) RgstrB Rtngs3 Rtngs4
RegistrdBds -0.743
Ratings3 -0.732 0.191
Ratings4 -0.432 -0.023 0.587
month_id -0.011 0.000 0.000 0.000
convergence code: 0
Model is nearly unidentifiable: very large eigenvalue
- Rescale variables?
My goal is to evidence a decline in the ratio MissedMeds_N:TotalAdministrations
for month_id
and this model appears to support that with significance, but the warning message is throwing me. I don't think I can scale my variables? If I can rescale, which variables do I even need to rescale? Predictors or responses? Or both? Here's my data structure:
> str(df)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 3766 obs. of 6 variables:
$ FacilityKey : int 2 2 2 2 2 2 2 2 2 3 ...
$ RegisteredBeds : int 0 0 0 0 0 0 0 0 0 0 ...
$ TotalAdministrations: int 5681 5138 4424 4600 4250 4434 4503 4001 4164 20691 ...
$ MissedMeds_N : int 335 332 323 330 325 330 330 310 299 NA ...
$ month_id : int 4 5 6 7 8 9 10 11 12 4 ...
$ Ratings : Factor w/ 4 levels "1","2","3","4": 3 3 3 3 3 3 3 3 3 NA ...
There is a very similar problem here and like the poster of that question, I'm a bit lost in ?convergence
and optimizers and this wasn't fully addressed in the answer, and I don't fully understand the answer itself anyway, and I don't have a high enough reputation to comment.