He visto preguntas sobre esto en este foro, y también lo he preguntado yo mismo en un post anterior, pero aún no he podido resolver mi problema. Por eso lo intento de nuevo, formulando esta vez la pregunta lo más claramente que puedo, con la información más detallada posible.
Mi conjunto de datos tiene una variable dependiente binomial, 3 efectos fijos categóricos y 2 efectos aleatorios categóricos (elemento y sujeto). Estoy utilizando un modelo de efectos mixtos con glmer()
. Esto es lo que he introducido en R:
modelall<- glmer(moodR ~ group * context * condition + (1|subject) + (1|item),
data = RprodHSNS, family = "binomial")
Recibo 2 advertencias:
Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge with max|grad| = 0.02081 (tol = 0.001, component 11)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model is nearly unidentifiable: large eigenvalue ratio
- Rescale variables?`
Mi resumen es el siguiente:
Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
Family: binomial ( logit )
Formula: moodR ~ group * context * condition + (1 | subject) + (1 | item)
Data: RprodHSNS`
AIC BIC logLik deviance df.resid
1400.0 1479.8 -686.0 1372.0 2195 `
Scaled residuals:
Min 1Q Median 3Q Max
-8.0346 -0.2827 -0.0152 0.2038 20.6578 `
Random effects:
Groups Name Variance Std.Dev.
item (Intercept) 1.475 1.215
subject (Intercept) 1.900 1.378
Number of obs: 2209, groups: item, 54; subject, 45
Fixed effects:`
Estimate Std. Error z value Pr(>|z|)`
(Intercept) -0.61448 42.93639 -0.014 0.988582
group1 -1.29254 42.93612 -0.030 0.975984
context1 0.09359 42.93587 0.002 0.998261
context2 -0.77262 0.22894 -3.375 0.000739***
condition1 4.99219 46.32672 0.108 0.914186
group1:context1 -0.17781 42.93585 -0.004 0.996696
group1:context2 -0.10551 0.09925 -1.063 0.287741
group1:condition1 -3.07516 46.32653 -0.066 0.947075
context1:condition1 -3.47541 46.32648 -0.075 0.940199
context2:condition1 -0.07293 0.22802 -0.320 0.749087
group1:context1:condition1 2.47882 46.32656 0.054 0.957328
group1:context2:condition1 0.30360 0.09900 3.067 0.002165 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr) group1 cntxt1 cntxt2 cndtn1 grp1:cnt1 grp1:2 grp1:cnd1 cnt1:1 cnt2:1 g1:1:1
group1 -1.000
context1 -1.000 1.000
context2 0.001 0.000 -0.001
condition1 -0.297 0.297 0.297 0.000
grp1:cntxt1 1.000 -1.000 -1.000 0.001 -0.297
grp1:cntxt2 0.001 0.000 0.000 -0.123 0.000 0.000
grp1:cndtn1 0.297 -0.297 -0.297 -0.001 -1.000 0.297 0.000
cntxt1:cnd1 0.297 -0.297 -0.297 -0.001 -1.000 0.297 0.001 1.000
cntxt2:cnd1 0.000 0.000 -0.001 0.011 0.001 0.000 -0.197 -0.001 -0.001
grp1:cnt1:1 -0.297 0.297 0.297 0.001 1.000 -0.297 -0.001 -1.000 -1.000 0.001
grp1:cnt2:1 0.000 0.000 0.001 -0.198 0.000 -0.001 0.252 0.000 0.001 -0.136 0.000
Valores p extremadamente altos, lo que no parece posible.
En un post anterior leí que uno de los problemas se podía solucionar aumentando la cantidad de iteraciones insertando lo siguiente en el comando:
glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 100000))
Así que eso es lo que hice:
modelall <- glmer(moodR ~ group * context * condition + (1|subject) + (1|item),
data = RprodHSNS, family = "binomial",
glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 100000)))
Ahora, la segunda advertencia ha desaparecido, pero la primera sigue ahí:
> Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge with max|grad| = 0.005384 (tol = 0.001, component 7)
El resumen también sigue pareciendo impar:
Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
Family: binomial ( logit )
Formula: moodR ~ group * context * condition + (1 | subject) + (1 | item)
Data: RprodHSNS
Control: glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 1e+05))`
AIC BIC logLik deviance df.resid
1400.0 1479.8 -686.0 1372.0 2195
Scaled residuals:
Min 1Q Median 3Q Max
-8.0334 -0.2827 -0.0152 0.2038 20.6610
Random effects:
Groups Name Variance Std.Dev.
item (Intercept) 1.474 1.214
subject (Intercept) 1.901 1.379
Number of obs: 2209, groups: item, 54; subject, 45
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.64869 26.29368 -0.025 0.980317
group1 -1.25835 26.29352 -0.048 0.961830
context1 0.12772 26.29316 0.005 0.996124
context2 -0.77265 0.22886 -3.376 0.000735 ***
condition1 4.97325 22.80050 0.218 0.827335
group1:context1 -0.21198 26.29303 -0.008 0.993567
group1:context2 -0.10552 0.09924 -1.063 0.287681
group1:condition1 -3.05629 22.80004 -0.134 0.893365
context1:condition1 -3.45656 22.80017 -0.152 0.879500
context2:condition1 -0.07305 0.22794 -0.320 0.748612
group1:context1:condition1 2.45996 22.80001 0.108 0.914081
group1:context2:condition1 0.30347 0.09899 3.066 0.002172 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr) group1 cntxt1 cntxt2 cndtn1 grp1:cnt1 grp1:2 grp1:cnd1 cnt1:1 cnt2:1 g1:1:1
group1 -1.000
context1 -1.000 1.000
context2 0.000 0.000 0.000
condition1 0.123 -0.123 -0.123 -0.001
grp1:cntxt1 1.000 -1.000 -1.000 0.001 0.123
grp1:cntxt2 0.001 0.000 0.000 -0.123 0.001 0.000
grp1:cndtn1 -0.123 0.123 0.123 0.000 -1.000 -0.123 -0.001
cntxt1:cnd1 -0.123 0.123 0.123 0.000 -1.000 -0.123 0.000 1.000
cntxt2:cnd1 0.000 0.000 0.000 0.011 -0.001 0.000 -0.197 0.001 0.001
grp1:cnt1:1 0.123 -0.123 -0.123 0.000 1.000 0.123 0.000 -1.000 -1.000 -0.001
grp1:cnt2:1 0.000 -0.001 0.001 -0.198 0.001 -0.001 0.252 -0.001 0.000 -0.136 0.000
¿Qué puedo hacer para solucionarlo? ¿O puede alguien decirme qué significa esta advertencia (de forma que un novato en R como yo pueda entenderlo)?