Comparación de modelos de efectos mixtos y efectos fijos (prueba de significación de efectos aleatorios)

10

Dadas tres variables, yy x, que son positivas continuas, y z, que es categórica, tengo dos modelos candidatos dados por:

fit.me <- lmer( y ~ 1 + x + ( 1 + x | factor(z) ) )

y

fit.fe <- lm( y ~ 1 + x )

Espero comparar estos modelos para determinar qué modelo es más apropiado. Me parece que en cierto sentido fit.feestá anidado dentro fit.me. Por lo general, cuando se cumple este escenario general, se puede realizar una prueba de ji cuadrado. En R, podemos realizar esta prueba con el siguiente comando,

anova(fit.fe,fit.me)

Cuando ambos modelos contienen efectos aleatorios (generados por lmerel lme4paquete), el anova()comando funciona bien. Debido a los parámetros de límite, normalmente es aconsejable probar el estadístico Chi-Cuadrado resultante a través de la simulación, sin embargo, todavía podemos usar el estadístico en el procedimiento de simulación.

Cuando ambos modelos contienen solo efectos fijos, este enfoque --- y el anova()comando asociado --- funcionan bien.

Sin embargo, cuando un modelo contiene efectos aleatorios y el modelo reducido solo contiene efectos fijos, como en el escenario anterior, el anova()comando no funciona.

Más específicamente, me sale el siguiente error:

 > anova(fit.fe, fit.me)
 Error: $ operator not defined for this S4 class

¿Hay algo malo en usar el enfoque Chi-Square desde arriba (con simulación)? ¿O es simplemente un problema de anova()no saber cómo manejar los modelos lineales generados por diferentes funciones?

En otras palabras, ¿sería apropiado generar manualmente la estadística Chi-Square derivada de los modelos? Si es así, ¿cuáles son los grados de libertad apropiados para comparar estos modelos? Según mis cálculos:

F=((SSEreducedSSEfull)/(pk))((SSEfull)/(np1))Fpk,np1

Estamos estimando dos parámetros en el modelo de efectos fijos (pendiente e intercepción) y dos parámetros más (parámetros de varianza para la pendiente aleatoria y la intercepción aleatoria) en el modelo de efectos mixtos. Normalmente, el parámetro de intercepción no se cuenta en el cálculo de los grados de libertad, por lo que eso implica que y ; Dicho esto, no estoy seguro de si los parámetros de varianza para los parámetros de efectos aleatorios deben incluirse en el cálculo de los grados de libertad; no se consideran las estimaciones de varianza para los parámetros de efectos fijos , pero creo que se debe a que se supone que las estimaciones de los parámetros para efectos fijos son constantes desconocidas, mientras que se consideran variables aleatorias desconocidask=1p=k+2=3para efectos mixtos. Agradecería un poco de ayuda en este tema.

Finalmente, ¿alguien tiene una Rsolución más apropiada ( basada en) para comparar estos modelos?

usuario9171
fuente
44
Si reemplaza lm()con gls()desde el nlmepaquete y lmer()con lme()(nuevamente desde el nlmepaquete), todo funcionará bien. Pero tenga en cuenta que obtendrá una prueba conservadora ( valores p demasiado grandes ), ya que los parámetros para el modelo más simple están en el límite del espacio de parámetros. Y realmente la elección de si incluir los efectos aleatorios debe basarse en la teoría (por ejemplo, el plan de muestreo), no en una prueba estadística.
Karl Ove Hufthammer
1
¿Qué quieres hacer con las modelos? Un modelo puede ser mejor para algunos propósitos y el otro modelo mejor para otros propósitos. Todos los modelos están equivocados, por lo que la pregunta no es qué modelo es el correcto, sino cuál es más útil para su problema particular.
Kodiólogo
1
@Kodiologist Básicamente, quiero asegurarme de que las estimaciones de los parámetros para los efectos fijos sean confiables. Los errores estándar de los cuales pueden no ser confiables si se supone que las observaciones son independientes. Además, sería bueno hacer una declaración sobre cómo es la variable del efecto aleatorio, pero supongo que esto no es tan esencial.
user9171
2
@ user9171 Una buena forma de verificar la estabilidad (confiabilidad) en las estimaciones de parámetros de un modelo es usar bootstrapping. Grafica las distribuciones de arranque para cada parámetro que comparten los dos modelos, con un gráfico por parámetro y modelo. Distribuciones más estrictas implican una mayor estabilidad. Probablemente encontrará que el modelo más simple produce estimaciones más estables, porque menos parámetros permiten una estimación más precisa de cada parámetro.
Kodiólogo

Respuestas:

6

Técnicamente, puede hacer que funcione simplemente cambiando el orden de los parámetros:

> anova(fit.me, fit.fe) 

Funcionará bien. Si pasa un objeto generado por lmerprimero, anova.merModse llamará al en lugar de anova.lm(que no sabe cómo manejar lmerobjetos). Ver:

?anova.merMod

Sin embargo, elegir un modelo mixto o un modelo fijo es una opción de modelado que debe tener en cuenta el diseño experimental, no un problema de selección de modelo. Consulte https://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#testing-significance-of-random-effects de @BenBolker para obtener más detalles:

Considere no probar la importancia de los efectos aleatorios.

witek
fuente
+1. Me tomé la libertad de insertar un enlace a las preguntas frecuentes de @BenBolker que contiene más discusión y referencias.
ameba