Voy a describir a qué modelo se lmer()
ajusta cada una de sus llamadas y cómo son diferentes y luego responderé su pregunta final sobre la selección de efectos aleatorios.
Cada uno de sus tres modelos contienen de efectos fijos para practice
, context
y la interacción entre los dos. Los efectos aleatorios difieren entre los modelos.
lmer(ERPindex ~ practice*context + (1|participants), data=base)
participants
participant
0
lmer(ERPindex ~ practice*context + (1+practice|participants), data=base)
Este modelo, además de una intercepción aleatoria, también contiene una pendiente aleatoria en practice
. Esto significa que la velocidad a la que los individuos aprenden de la práctica es diferente de persona a persona. Si un individuo tiene un efecto aleatorio positivo, entonces aumentan más rápidamente con la práctica que el promedio, mientras que un efecto aleatorio negativo indica que aprende menos rápidamente con la práctica que el promedio, o posiblemente empeora con la práctica, dependiendo de la variación del azar efecto (esto supone que el efecto fijo de la práctica es positivo).
lmer(ERPindex ~ practice*context + (practice|participants) +
(practice|participants:context), data=base)
Este modelo se ajusta a una pendiente aleatoria e intercepta practice
(tiene que hacer (practice-1|...)
para suprimir la intersección), tal como lo hizo el modelo anterior, pero ahora también ha agregado una pendiente aleatoria e intercepción en el factor participants:context
, que es un factor nuevo cuyos niveles son todas las combinaciones de los niveles presentes en participants
y context
y los efectos aleatorios correspondientes son compartidos por observaciones que tienen el mismo valor de ambos participants
y context
. Para ajustar este modelo, necesitará tener múltiples observaciones que tengan los mismos valores para ambos participants
ycontext
o de lo contrario el modelo no es estimable. En muchas situaciones, los grupos creados por esta variable de interacción son muy escasos y dan como resultado modelos de efectos aleatorios muy ruidosos / difíciles de ajustar, por lo que debe tener cuidado al usar un factor de interacción como variable de agrupación.
Básicamente (léase: sin complicarse demasiado) los efectos aleatorios deben usarse cuando cree que las variables de agrupación definen "focos" de falta de homogeneidad en el conjunto de datos o que los individuos que comparten el nivel del factor de agrupación deben correlacionarse entre sí (mientras individuos que no lo hacen no deberían estar correlacionados) - los efectos aleatorios logran esto. Si cree que las observaciones que comparten niveles de ambos participants
y context
son más similares que la suma de las dos partes, entonces incluir el efecto aleatorio de "interacción" puede ser apropiado.
Editar: como @Henrik menciona en los comentarios, los modelos que se ajustan, por ejemplo:
lmer(ERPindex ~ practice*context + (1+practice|participants), data=base)
asegúrese de que la pendiente aleatoria y la intercepción aleatoria estén correlacionadas entre sí, y que el modelo estima esa correlación. Para restringir el modelo de modo que la pendiente aleatoria y la intercepción aleatoria no estén correlacionadas (y, por lo tanto, sean independientes, ya que normalmente están distribuidas), en su lugar, se ajustaría al modelo:
lmer(ERPindex ~ practice*context + (1|participants) + (practice-1|participants),
data=base)
La elección entre estos dos debe basarse en si cree, por ejemplo, que participant
s con una línea de base más alta que el promedio (es decir, una intercepción aleatoria positiva) también es probable que tengan una tasa de cambio más alta que el promedio (es decir, pendiente aleatoria positiva). Si es así, permitiría que los dos se correlacionen, mientras que si no, los restringiría a ser independientes. (Nuevamente, este ejemplo supone que la pendiente del efecto fijo es positiva).
lmer(ERPindex ~ practice*context + (1|participants) + (0 + practice|participants, data=base)
O me equivoco? (Sin relación: disculpe mi pequeña edición de su publicación. Si no está de acuerdo con la aclaración, simplemente cámbiela de nuevo)x <-rnorm(1000); id <- rep(1:100,each=10); y <- rnorm(1000); g <- lmer(y ~ (1+x|id)); g2 <- lmer(y ~ (1|id) + (x-1|id)); attr(logLik(g),"df"); attr(logLik(g2),"df");
@Macro ha dado una buena respuesta aquí, solo quiero agregar un pequeño punto. Si algunas personas en su situación están usando:
Sospecho que están cometiendo un error. Considere:
(practice|participants)
significa que hay una pendiente aleatoria (e intercepción) para el efecto depractice
cada unoparticipant
, mientras(practice|participants:context)
que significa que hay una pendiente aleatoria (e intercepción) para el efecto depractice
cadaparticipant by context
combinación . Esto está bien, si eso es lo que quieren, pero sospecho que quieren(practice:context|participants)
, lo que significa que hay una pendiente aleatoria (e intercepción) para el efecto de interacción depractice by context
cada unoparticipant
.fuente
En un modelo de efectos aleatorios o de efectos mixtos, se usa un efecto aleatorio cuando desea tratar el efecto que observó como si se hubiera extraído de alguna distribución de probabilidad de efectos.
Uno de los mejores ejemplos que puedo dar es al modelar datos de ensayos clínicos de un ensayo clínico multicéntrico. Un efecto de sitio a menudo se modela como un efecto aleatorio. Esto se hace porque los aproximadamente 20 sitios que realmente se usaron en la prueba se extrajeron de un grupo mucho más grande de sitios potenciales. En la práctica, la selección puede no haber sido aleatoria, pero aún puede ser útil tratarla como si lo fuera.
Si bien el efecto del sitio podría haberse modelado como un efecto fijo, sería difícil generalizar los resultados a una población mayor si no tomáramos en cuenta el hecho de que el efecto para un conjunto seleccionado diferente de 20 sitios sería diferente. Tratarlo como un efecto aleatorio nos permite explicarlo de esa manera.
fuente