7 votos

¿Deberían incluirse los efectos aleatorios en los valores ajustados cuando se hace un gráfico de residuos binarios para un MLG binomial?

El diagrama de residuos en el paquete R arm se recomienda a menudo como una forma de comprobar si un modelo logístico está cometiendo errores sistemáticos. La idea general es que el residuo medio para un grupo de observaciones con valores ajustados similares debe ser cercano a cero. O, de forma equivalente, para un grupo de observaciones con un valor medio ajustado p, la proporción del grupo para el que la respuesta = 1 debería ser aproximadamente p.

Al calcular los valores ajustados para un MLG, el paquete lme4 ofrece la opción de incluir o excluir los efectos aleatorios. Para el propósito de un gráfico de residuos clasificados, yo habría pensado que los efectos aleatorios deberían incluirse. Sin embargo, al hacerlo se produce un gráfico que muestra un claro patrón sinusoidal, mientras que el gráfico con los efectos aleatorios excluidos se ve mucho mejor. El mismo patrón es visible para todos los conjuntos de datos que he comprobado; a continuación se incluyen dos ejemplos reproducibles.

En los dos ejemplos siguientes, un LRT muestra que la adición de efectos aleatorios mejora significativamente los modelos en relación con los GLM equivalentes. Dado este caso, ¿por qué incluir efectos aleatorios en el valor ajustado mostraría que el modelo comete un error sistemático?


Ejemplos:

Obsérvese que tanto los valores ajustados como los residuales están en la escala de respuesta.

Utilizando los datos de agresión verbal, que se incluyen en el paquete lme4

library(lme4)
library(arm)

data(VerbAgg, package = 'lme4')

verb_mod <- glmer(r2 ~ (Anger + Gender + btype + situ)^2 + (1|id) + (1|item), family = binomial, data = VerbAgg)

par(mfcol=c(1, 2))
binnedplot(predict(verb_mod, type="response", re.form=NULL), resid(verb_mod, type="response"), nclass=40, main='With random effects')
binnedplot(predict(verb_mod, type="response", re.form=NA), resid(verb_mod, type="response"), nclass=40, main='Without random effects')

Binned residual plots for fitted values calculated with and without random effects

Utilizando los datos de puntuación lingüística del bdf, que se incluyen en el paquete nlme

library(nlme)

data(bdf, package = "nlme")
bdf <- subset(bdf, select = c(schoolNR, Minority, ses, repeatgr))
bdf$repeatgr[bdf$repeatgr == 2] <- 1

bdf_mod <- glmer(repeatgr ~ Minority + ses + ses * Minority + (1 | schoolNR), data = bdf, family = binomial(link = "logit"))

par(mfcol=c(1, 2))
binnedplot(predict(bdf_mod, type="response", re.form=NULL), resid(bdf_mod, type="response"), main='With random effects', nclass=20)
binnedplot(predict(bdf_mod, type="response", re.form=NA), resid(bdf_mod, type="response"), main='Without random effects', nclass=20)

Binned residual plots for fitted values calculated with and without random effects

Enlace al tutorial de bdf http://ase.tufts.edu/gsc/gradresources/guidetomixedmodelsinr/mixed%20model%20guide.html

1voto

chahedous Puntos 43

En resumen, las predicciones deben realizarse únicamente a partir de los efectos fijos, ya que de lo contrario se pueden obtener patrones espurios. Esto es muy reproducible y probablemente se deba al sesgo de regularización de los ER.

Simulaciones para demostrarlo con algunos comentarios adicionales aquí

p.d: Echa un vistazo a la DHARMa comprobaciones residuales para GLMMs, creo que esto funciona mejor que la opción de binning (descargo de responsabilidad: soy el desarrollador)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X