Estoy tratando de usar lme4::glmer()
para ajustar un modelo mixto binomial generalizado (GLMM) con una variable dependiente que no es binaria, sino una variable continua entre cero y uno. Uno puede pensar en esta variable como una probabilidad; de hecho, es la probabilidad según lo informado por sujetos humanos (en un experimento que ayudo a analizar). Es decir, no es una fracción "discreta", sino una variable continua.
Mi glmer()
llamada no funciona como se esperaba (ver más abajo). ¿Por qué? ¿Que puedo hacer?
Edición posterior: mi respuesta a continuación es más general que la versión original de esta pregunta, por lo que modifiqué la pregunta para que sea más general también.
Más detalles
Aparentemente, es posible utilizar la regresión logística no solo para DV binario sino también para DV continuo entre cero y uno. De hecho, cuando corro
glm(reportedProbability ~ a + b + c, myData, family="binomial")
Recibo un mensaje de advertencia
Warning message:
In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!
pero un ajuste muy razonable (todos los factores son categóricos, por lo que puedo verificar fácilmente si las predicciones del modelo están cerca de las medias entre sujetos, y lo están).
Sin embargo, lo que realmente quiero usar es
glmer(reportedProbability ~ a + b + c + (1 | subject), myData, family="binomial")
Me da la misma advertencia, devuelve un modelo, pero este modelo está claramente muy apagado; Las estimaciones de los efectos fijos están muy lejos de glm()
las de los medios transversales. (Y necesito incluir glmerControl(optimizer="bobyqa")
en la glmer
llamada, de lo contrario no converge en absoluto).
glmmadmb(reportedProbability ~ a + b + c + (1 | subject), myData, family="beta")
, obtengo el ajuste correcto y los intervalos de confianza razonables, pero una advertencia de convergencia falló : - / Intentando descubrir cómo aumentar el número de iteraciones. Beta podría funcionar para mí porque no tengo DV = 0 o DV = 1 casos.
+ (1 | rowid)
a mi llamada glmer y esto produce estimaciones estables e intervalos de confianza estables, independientemente de mi elección de peso (probé 100 y 500). También intenté ejecutar lmer en logit (reportedProbability) y obtengo casi exactamente lo mismo. ¡Entonces ambas soluciones parecen funcionar bien! Beta MM con glmmadmb también da resultados muy cercanos, pero por alguna razón no logra converger completamente y tarda una eternidad en ejecutarse. ¡Considere publicar una respuesta que enumere estas opciones y explique un poco las diferencias y los pros / contras! (Los intervalos de confianza que menciono son todos de Wald.)