(Esta es bastante larga respuesta, hay un resumen en la final)
No está mal en su comprensión de lo que anidados y cruzó los efectos aleatorios son en la situación que usted describe. Sin embargo, su definición de cruzado de efectos aleatorios es un poco estrecho. Una definición más general de cruzado de efectos aleatorios es simplemente: no anidados. Vamos a ver esto en el final de esta respuesta, pero la mayor parte de la respuesta se centrará en la situación que se presenta, de aulas en las escuelas.
En primer lugar observamos que:
La anidación es una propiedad de los datos, o bien, el diseño experimental, no el modelo.
También,
De datos anidadas pueden ser codificados en al menos 2 diferentes maneras, y esto está en el corazón de la cuestión.
El conjunto de datos en el ejemplo es bastante grande, así que voy a usar otro ejemplo las escuelas de la internet para explicar los problemas. Pero primero, considere lo siguiente sobre-simplificado ejemplo:
Aquí tenemos clases anidadas en las escuelas, que es un escenario familiar. El punto importante aquí es que, entre cada escuela, las clases tienen el mismo identificador, aunque son distintas si están anidadas. Class1
aparece en School1
, School2
y School3
. Sin embargo, si los datos están anidados, a continuación, Class1
en School1
es no la misma unidad de medida Class1
en School2
y School3
. Si fueran lo mismo, entonces tendríamos esta situación:
lo que significa que cada clase pertenece cada escuela. El primero es un diseño anidado, y el último es un diseño cruzado (algunos podrían llamar también varios miembros), y nos gustaría formular estas en lme4
el uso de:
(1|School/Class)
y
(1|School) + (1|Class)
respectivamente. Debido a la ambigüedad de si hay anidación o cruce de efectos aleatorios, es muy importante especificar correctamente el modelo ya que estos modelos se producen diferentes resultados, como se muestra a continuación. Por otra parte, no es posible saber, por la inspección de los datos, si hemos anidado o cruzado de efectos aleatorios. Esto sólo puede ser determinado con conocimiento de los datos y el diseño experimental.
Pero primero vamos a considerar un caso en el que la variable de Clase es codificado de forma exclusiva a través de las escuelas:
Ya no hay ninguna ambigüedad sobre la anidación o de cruce. La anidación es explícita. Ahora vamos a ver esto con un ejemplo en R, donde tenemos 6 escuelas (etiquetados I
-VI
) y 4 clases dentro de cada escuela (etiquetados a
a d
):
> dt <- read.csv("http://www.personal.leeds.ac.uk/~medwrl/SE/school-class-lmm.txt")
> # data was previously publicly available from
> # http://researchsupport.unt.edu/class/Jon/R_SC/Module9/lmm.data.txt
> # but the link is now broken
> xtabs(~ school + class, dt)
class
school a b c d
I 50 50 50 50
II 50 50 50 50
III 50 50 50 50
IV 50 50 50 50
V 50 50 50 50
VI 50 50 50 50
Podemos ver en esta tabulación cruzada, que toda clase de IDENTIFICACIÓN que aparece en cada escuela, que satisface la definición de la cruzó de efectos aleatorios (en este caso tenemos plenamente, como contraposición a parcialmente, cruzado de efectos aleatorios, debido a que cada clase se produce en cada escuela). Así que esta es la misma situación que teníamos en la primera figura de arriba. Sin embargo, si los datos son realmente anidados y no se cruzan, entonces tenemos que decirle explícitamente lme4
:
> m0 <- lmer(extro ~ open + agree + social + (1 | school/class), data = dt)
> summary(m0)
Random effects:
Groups Name Variance Std.Dev.
class:school (Intercept) 8.2043 2.8643
school (Intercept) 93.8421 9.6872
Residual 0.9684 0.9841
Number of obs: 1200, groups: class:school, 24; school, 6
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.2378227 4.0117909 15.015
open 0.0061065 0.0049636 1.230
agree -0.0076659 0.0056986 -1.345
social 0.0005404 0.0018524 0.292
> m1 <- lmer(extro ~ open + agree + social + (1 | school) + (1 |class), data = dt)
summary(m1)
Random effects:
Groups Name Variance Std.Dev.
school (Intercept) 95.887 9.792
class (Intercept) 5.790 2.406
Residual 2.787 1.669
Number of obs: 1200, groups: school, 6; class, 4
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.198841 4.212974 14.289
open 0.010834 0.008349 1.298
agree -0.005420 0.009605 -0.564
social -0.001762 0.003107 -0.567
Como era de esperar, los resultados difieren, m0
es un modelo anidado mientras m1
es un cruzado modelo.
Ahora, si introducimos una nueva variable para el identificador de clase:
> dt$classID <- paste(dt$school, dt$class, sep=".")
> xtabs(~ school + classID, dt)
classID
school I.a I.b I.c I.d II.a II.b II.c II.d III.a III.b III.c III.d IV.a IV.b
I 50 50 50 50 0 0 0 0 0 0 0 0 0 0
II 0 0 0 0 50 50 50 50 0 0 0 0 0 0
III 0 0 0 0 0 0 0 0 50 50 50 50 0 0
IV 0 0 0 0 0 0 0 0 0 0 0 0 50 50
V 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VI 0 0 0 0 0 0 0 0 0 0 0 0 0 0
classID
school IV.c IV.d V.a V.b V.c V.d VI.a VI.b VI.c VI.d
I 0 0 0 0 0 0 0 0 0 0
II 0 0 0 0 0 0 0 0 0 0
III 0 0 0 0 0 0 0 0 0 0
IV 50 50 0 0 0 0 0 0 0 0
V 0 0 50 50 50 50 0 0 0 0
VI 0 0 0 0 0 0 50 50 50 50
La tabulación de la cruz muestra que cada nivel de clase sólo se produce en un nivel de la escuela, como por su definición de anidación. Este es también el caso con sus datos, sin embargo es difícil mostrar que con sus datos, ya que es muy escasa. Tanto en el modelo formulaciones ahora producen la misma salida (la de la modelo anidado m0
anterior):
> m2 <- lmer(extro ~ open + agree + social + (1 | school/classID), data = dt)
> summary(m2)
Random effects:
Groups Name Variance Std.Dev.
classID:school (Intercept) 8.2043 2.8643
school (Intercept) 93.8419 9.6872
Residual 0.9684 0.9841
Number of obs: 1200, groups: classID:school, 24; school, 6
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.2378227 4.0117882 15.015
open 0.0061065 0.0049636 1.230
agree -0.0076659 0.0056986 -1.345
social 0.0005404 0.0018524 0.292
> m3 <- lmer(extro ~ open + agree + social + (1 | school) + (1 |classID), data = dt)
> summary(m3)
Random effects:
Groups Name Variance Std.Dev.
classID (Intercept) 8.2043 2.8643
school (Intercept) 93.8419 9.6872
Residual 0.9684 0.9841
Number of obs: 1200, groups: classID, 24; school, 6
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.2378227 4.0117882 15.015
open 0.0061065 0.0049636 1.230
agree -0.0076659 0.0056986 -1.345
social 0.0005404 0.0018524 0.292
Vale la pena señalar que cruzó los efectos aleatorios no tienen que ocurren dentro del mismo factor en el sobre el cruce estaba completamente dentro de la escuela. Sin embargo, esto no tiene que ser el caso, y muy a menudo no lo es. Por ejemplo, la pervivencia de un escenario escolar, si en lugar de clases dentro de las escuelas que tienen alumnos dentro de las escuelas, y también estábamos interesados en los médicos que los alumnos estaban registrados, entonces tendríamos también de anidación de los alumnos dentro de los médicos. No hay anidación de las escuelas dentro de los médicos, o viceversa, por lo que este también es un ejemplo del cruce de efectos aleatorios, y decimos que las escuelas y los médicos están cruzados. Un escenario similar donde cruzó de efectos aleatorios ocurrir es cuando las observaciones individuales están anidados dentro de dos factores al mismo tiempo, que comúnmente ocurre con los llamados de medidas repetidas sujeto-objeto de datos. Normalmente cada uno de los sujetos es medido/probado varias veces con/de los distintos elementos y estos mismos elementos se miden/probado por diferentes sujetos. Por lo tanto las observaciones se agrupan dentro de los temas y dentro de los artículos, sino que los elementos no están anidados dentro de los temas o vice-versa. De nuevo, podemos decir que los sujetos y elementos que se cruzan.
Resumen:
La diferencia entre cruzados y anidados de efectos aleatorios es que anidaba de efectos aleatorios ocurren cuando un factor (variable de agrupación) sólo aparece dentro de un determinado nivel de otro factor (variable de agrupación). Esto se especifica en lme4
con:
(1|group1/group2)
donde group2
está anidada dentro de group1
.
Cruzó los efectos aleatorios son simplemente: no anidados. Esto puede ocurrir con tres o más de las variables de agrupación (factores) donde uno de los factores es por separado anidado en ambos de los demás, o con dos o más factores que las observaciones están anidados por separado dentro de los dos factores. Estos se especifican en lme4
con:
(1|group1) + (1|group2)