29 votos

¿He especificado correctamente mi modelo en lmer?

He buscado en muchos sitios de ayuda y todavía estoy confundido sobre cómo especificar términos anidados más complicados en un modelo mixto también. También estoy confundido en cuanto al uso de : y / y | al especificar las interacciones y el anidamiento con factores aleatorios utilizando lmer() en el lme4 paquete en R .

Para el propósito de esta pregunta, vamos a suponer que he representado con precisión mis datos con este modelo estadístico estándar: $$ Y_{ijk} = u + \text{station}_i + \text{tow}_{j(i)} + \text{day}_k + (\text{station}\times \text{day})_{ik} + (\text{tow}\times\text{day})_{j(i)k} $$ station es fijo, tow y day son aleatorios. Tow está anidado (implícitamente) dentro de station .

En otras palabras, espero que mi modelo incluya Estación(i,fijo), Remolque(j,aleatorio, anidado implícitamente dentro de Estación), Día(k,aleatorio), y la interacción entre Remolque y Día, y la interacción entre Día y Estación. He consultado con un estadístico para crear mi modelo y en este momento creo que es representativo de mis datos, pero también añadiré una descripción de mis datos para aquellos que estén interesados al final de mi post para no saturar.

Hasta ahora lo que he podido reconstruir es lo siguiente en lmer :

lmer(y ~ station + (1|station:tow) + (1|Day) + (1|station:day) + (1|tow:day), 
     data=my.data)

¿Describe esto con exactitud mi modelo estadístico? ¿Alguna sugerencia para mejorar mi código si no se lee correctamente?

He puesto en negrita los términos específicos que me cuesta especificar en mi fórmula lmer

#1. remolque anidado dentro de la estación cuando el remolque es aleatorio y la estación es fija
Sin embargo, estoy confundido acerca de la diferenciación entre los términos anidados y de interacción que son aleatorios utilizando : y / . En mi ejemplo anterior, tengo (1|station:tow) en el que espero que se lea el remolque anidado dentro de la estación. He leído comentarios contradictorios en varios sitios sobre si debo o no usar : o / aquí dentro del azar (1|...) formato de lmer .

#2. La interacción entre la estación y el día cuando la estación es fija y el día es aleatorio
Entonces tengo (1|station:day) pero esta vez espero que lea la interacción entre la estación y el día. Parece que podría utilizar estación*día para tener en cuenta los efectos individuales de la estación y el día, así como su interacción (en lugar de incluir cada uno de los tres términos por separado como hago arriba), pero no veo cómo especificar esto cuando uno es fijo y el otro es aleatorio. ¿Podría station*(1|day) ¿hacerlo?

#3. La interacción entre el remolque y el día (ambos aleatorios) cuando el remolque está anidado en la estación (fija) Por último, tengo (1|tow:day) que espero que lea la interacción de tow y day pero me pregunto si tengo que volver a especificar que el remolque está anidado (implícitamente) en la estación.

Soy nuevo en ambos R y lmer y el modelado estadístico y aprecio mucho la molestia de las explicaciones exhaustivas en cualquier respuesta a mis preguntas, si es posible. $$$$

Más detalles sobre mis datos: Me pregunto si las concentraciones de plancton varían a través de un frente físico en el océano cercano a la costa. Tengo tres estaciones, en la costa, dentro y fuera de la costa de este frente. La estación es, por tanto, fija. En cada estación, tomo tres réplicas de remolques de plancton (de los que clasifico, cuento y obtengo una concentración en términos de número de insectos por metro cúbico de agua). El remolque es aleatorio: en tres remolques espero tener en cuenta la variabilidad general del plancton en esa estación concreta. El remolque está intrínsecamente anidado en la estación ya que cada remolque no tiene un ID único (123,123,123 es el ID de los remolques en cada estación). Luego hice esto en días múltiples e independientes con un nuevo frente que se había formado. Creo que puedo pensar en el día como un factor de bloqueo? El día es aleatorio ya que repitiendo esto en múltiples días independientes del frente se intenta capturar la variabilidad de un día a otro y ser representativo de todos los días en los que este frente está presente. Quiero saber sobre los términos de interacción para ver si los arcos cambian de variabilidad de un día a otro y si las estaciones siempre dan datos similares o depende del día?

De nuevo, gracias por su tiempo y ayuda, lo aprecio.

28voto

Ben Bolker Puntos 8729

Remolque anidado dentro de la estación cuando el remolque es aleatorio y la estación es fija

station+(1|station:tow) es correcto. Como dijo @John en su respuesta, (1|station/tow) se ampliaría a (1|station)+(1|station:tow) (efecto principal de la estación más la interacción entre el remolque y la estación), que no quiere porque ya ha especificado la estación como efecto fijo.

Interacción entre la estación y el día cuando la estación es fija y el día es aleatorio.

La interacción entre un efecto fijo y uno aleatorio es siempre aleatoria. De nuevo, como dijo @John, station*day se expande a station+day+station:day que usted (de nuevo) no quiere porque ya ha especificado day en su modelo. No creo que haya una manera de hacer lo que quieres y colapsar los efectos cruzados de day (al azar) y station (fijo), pero si quieres puedes escribir station+(1|day/station) que, como se especifica en la respuesta anterior, se ampliaría a station + (1|day) + (1|day:station) .

interacción entre el remolque y el día cuando el remolque está anidado en la estación

Debido a que no tiene valores únicos de la tow variable (es decir, porque como dice más abajo los remolques se especifican como 1 , 2 , 3 en cada estación, usted hacer necesita especificar la anidación, ya que (1|station:tow:day) . Si se especifican los remolques de forma única, se puede utilizar (1|tow:day) o (1|station:tow:day) (deberían dar respuestas equivalentes). Si lo hace no especificar la anidación en este caso, lme4 tratará de estimar un efecto aleatorio que es compartido por el remolque # 1 en todas las estaciones ...

Una forma de diagnosticar si se han especificado correctamente los efectos aleatorios es observar el número de observaciones reportadas para cada variable de agrupación y ver si coincide con lo esperado (por ejemplo, el station:tow:day debe tener un número de observaciones correspondiente al número total de estaciones $\times$ remolque $\times$ combinaciones de días: si olvidó la anidación con la estación, debería ver que obtiene menos observaciones de las que debería.

Son http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#model-specification y http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#nested-or-crossed ¿le es útil?

13voto

Algunas cosas de la fórmula son un poco confusas. El : es para las interacciones entre dos términos mientras que el * es para los efectos principales y las interacciones. El / es otro para las interacciones, pero lo que hace es generar una interacción entre el numerador y todos los términos del denominador (por ejemplo A/(B+C) = A:B + A:C ). El | es para algo como "agrupado por". Así que, 1|station sería la intercepción agrupada por estación y entre paréntesis es aleatoria (1|station) . Así es como se haría el anidamiento.

Espero que eso sea una ayuda. Es un poco impar tener un efecto aleatorio anidado dentro de un efecto fijo y no estoy seguro de cómo se representaría eso. Ni siquiera puedo imaginar la situación. Puede que obtengas una mejor respuesta si explicas cuáles son tus variables y qué quieres conseguir. Muchas veces la gente hace preguntas y utiliza la terminología de forma incorrecta y es difícil de comunicar. Explica qué representan las variables y qué quieres saber de ellas.

Si nos centramos en la descripción que haces en tu último párrafo, parece que el remolque es simplemente un indicador de las muestras que has recogido y no algo que necesites estimar en el sentido de que esperas que el remolque 1 sea consistentemente diferente del remolque 2 de alguna manera. El remolque sólo indica una muestra. A menos que realmente creas que el orden de los remolques es importante, ni siquiera te molestes con esa variable. Y si importaba entonces es un efecto fijo (y tal vez aleatorio, pero no un efecto exclusivamente aleatorio). Dices que quieres saber si los remolques cambian de variabilidad de un día a otro. ¿Qué tal si la respuesta es afirmativa? No está en el ámbito de la probabilidad realista que no varíen de un día a otro. Es sólo la varianza de sus medidas. No se puede intentar tener en cuenta todas las especificaciones de la variación porque entonces se acaba por no tener ninguna varianza para el error. Tendrías un modelo sobre-especificado. Estarías en el punto de solo reportar cada medida.

Usted hace una afirmación similar sobre si la estación varía según el día; por supuesto que sí. ¿Pero quizás se refiere a días concretos? ¿Los días estaban agrupados de alguna manera por estación, ciclo lunar, etc.? A no ser que tengas algo más que este es el día 1, este es el día 2, etc. ¿cómo saber que las estaciones varían día a día te dice algo más que las estaciones varían? Así que la respuesta a esta pregunta es: por supuesto que las estaciones varían de un día para otro. Y por supuesto que los remolques varían de un día a otro y de una estación a otra. Al final te quedas con un modelo simple:

aov(y ~ station, data = dat)

El único efecto fijo que tienes aquí, la estación, sólo se muestrea en múltiples remolques y múltiples días. No estoy seguro de que se necesite un modelo multinivel. Parece que estás sobre-especificando tu modelo.

Si realmente quieres efectos aleatorios de día y de arrastre y hay información que no has especificado aquí, entonces podrías ampliarlo a un modelo multinivel. Eso sería:

lmer(y ~ station + (two*day|station), data = dat)

Sin embargo, se necesitan varios remolques en cada estación y día para utilizar ese modelo.

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