Gran desacuerdo en la estimación de la pendiente cuando los grupos se tratan como aleatorios versus fijos en un modelo mixto


18

Entiendo que usamos modelos de efectos aleatorios (o efectos mixtos) cuando creemos que algunos parámetros del modelo varían aleatoriamente a través de algún factor de agrupación. Deseo ajustar un modelo donde la respuesta se haya normalizado y centrado (no perfectamente, pero bastante cerca) en un factor de agrupación, pero una variable independiente xno se ha ajustado de ninguna manera. Esto me llevó a la siguiente prueba (usando datos fabricados ) para asegurarme de que encontraría el efecto que estaba buscando si realmente estuviera allí. Ejecuté un modelo de efectos mixtos con una intercepción aleatoria (en todos los grupos definidos por f) y un segundo modelo de efectos fijos con el factor f como predictor de efectos fijos. Usé el paquete R lmerpara el modelo de efectos mixtos y la función baselm()para el modelo de efectos fijos. Los siguientes son los datos y los resultados.

Tenga en cuenta que y, independientemente del grupo, varía alrededor de 0. Y eso xvaría de manera consistente ydentro del grupo, pero varía mucho más entre grupos quey

> data
      y   x f
1  -0.5   2 1
2   0.0   3 1
3   0.5   4 1
4  -0.6  -4 2
5   0.0  -3 2
6   0.6  -2 2
7  -0.2  13 3
8   0.1  14 3
9   0.4  15 3
10 -0.5 -15 4
11 -0.1 -14 4
12  0.4 -13 4

Si está interesado en trabajar con los datos, aquí está la dput()salida:

data<-structure(list(y = c(-0.5, 0, 0.5, -0.6, 0, 0.6, -0.2, 0.1, 0.4, 
-0.5, -0.1, 0.4), x = c(2, 3, 4, -4, -3, -2, 13, 14, 15, -15, 
-14, -13), f = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 
4L, 4L, 4L), .Label = c("1", "2", "3", "4"), class = "factor")), 
.Names = c("y","x","f"), row.names = c(NA, -12L), class = "data.frame")

Ajuste del modelo de efectos mixtos:

> summary(lmer(y~ x + (1|f),data=data))
Linear mixed model fit by REML 
Formula: y ~ x + (1 | f) 
   Data: data 
   AIC   BIC logLik deviance REMLdev
 28.59 30.53  -10.3       11   20.59
Random effects:
 Groups   Name        Variance Std.Dev.
 f        (Intercept) 0.00000  0.00000 
 Residual             0.17567  0.41913 
Number of obs: 12, groups: f, 4

Fixed effects:
            Estimate Std. Error t value
(Intercept) 0.008333   0.120992   0.069
x           0.008643   0.011912   0.726

Correlation of Fixed Effects:
  (Intr)
x 0.000 

Observo que el componente de varianza de intercepción se estima en 0 y, lo que xes más importante para mí, no es un predictor significativo de y.

A continuación, ajusto el modelo de efectos fijos con fun predictor en lugar de un factor de agrupación para una intercepción aleatoria:

> summary(lm(y~ x + f,data=data))

Call:
lm(formula = y ~ x + f, data = data)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.16250 -0.03438  0.00000  0.03125  0.16250 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.38750    0.14099  -9.841 2.38e-05 ***
x            0.46250    0.04128  11.205 1.01e-05 ***
f2           2.77500    0.26538  10.457 1.59e-05 ***
f3          -4.98750    0.46396 -10.750 1.33e-05 ***
f4           7.79583    0.70817  11.008 1.13e-05 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.1168 on 7 degrees of freedom
Multiple R-squared: 0.9484, Adjusted R-squared: 0.9189 
F-statistic: 32.16 on 4 and 7 DF,  p-value: 0.0001348 

Ahora noto que, como se esperaba, xes un predictor significativo de y.

Lo que estoy buscando es intuición con respecto a esta diferencia. ¿De qué manera mi pensamiento está mal aquí? ¿Por qué incorrectamente espero encontrar un parámetro significativo para xambos modelos, pero solo lo veo en el modelo de efectos fijos?


Solo quiero señalar rápidamente que algo está mal con la configuración de efectos aleatorios dada la variación en el RE = 0 (es decir, / el RE explica que no hay variación). Dado eso, no es sorprendente que la xvariable no sea significativa. Sospecho que es el mismo resultado (coeficientes y SE) que hubieras conseguido ejecutar lm(y~x,data=data). No tengo más tiempo para diagnosticar, pero quería señalarlo.
Affine

@Affine ese es un buen punto. Así que supongo que mi interés aquí es por qué el efecto aleatorio no capturó la variación en la intercepción. Si usted o alguien tiene un comentario en otro momento, ¡lo agradezco! Gracias.
ndoogan

Respuestas:


31

Hay varias cosas pasando aquí. Estos son temas interesantes, pero tomará bastante tiempo / espacio explicarlo todo.

En primer lugar, todo esto se vuelve mucho más fácil de entender si trazamos los datos . Aquí hay un diagrama de dispersión donde los puntos de datos están coloreados por grupo. Además, tenemos una línea de regresión específica de grupo separada para cada grupo, así como una línea de regresión simple (ignorando grupos) en negrita discontinua:

plot(y ~ x, data=dat, col=f, pch=19)
abline(coef(lm(y ~ x, data=dat)), lwd=3, lty=2)
by(dat, dat$f, function(i) abline(coef(lm(y ~ x, data=i)), col=i$f))

datos

El modelo de efectos fijos.

xxxxxxxyt estadísticas en cada uno de los coeficientes ficticios en esta regresión!)

xxx (que, como podemos ver arriba, es sustancial), se "controla" fuera del análisis. Entonces, la pendiente que obtenemos lm()es el promedio de las 4 líneas de regresión dentro del clúster, todas las cuales son relativamente empinadas en este caso.

El modelo mixto

xxxx no concuerdan realmente, como es el caso aquí. Nota: ¡esta situación es lo que la "prueba de Hausman" para los datos de panel intenta diagnosticar!

x y la línea de regresión simple que ignora los grupos (la línea en negrita discontinua). El punto exacto dentro de este rango comprometedor en el que se asienta el modelo mixto depende de la relación entre la varianza de intercepción aleatoria y la varianza total (también conocida como correlación intraclase). A medida que esta relación se aproxima a 0, la estimación del modelo mixto se aproxima a la estimación de la línea de regresión simple. A medida que la relación se aproxima a 1, la estimación del modelo mixto se aproxima a la estimación promedio de la pendiente dentro del grupo.

Estos son los coeficientes para el modelo de regresión simple (la línea punteada en negrita en la gráfica):

> lm(y ~ x, data=dat)

Call:
lm(formula = y ~ x, data = dat)

Coefficients:
(Intercept)            x  
   0.008333     0.008643  

Como puede ver, los coeficientes aquí son idénticos a los que obtuvimos en el modelo mixto. Esto es exactamente lo que esperábamos encontrar, ya que, como ya notó, tenemos una estimación de la varianza 0 para las intercepciones aleatorias, lo que hace que la relación / correlación intraclase mencionada anteriormente sea 0. Entonces, las estimaciones del modelo mixto en este caso son solo el estimaciones de regresión lineal simples, y como podemos ver en la gráfica, la pendiente aquí es mucho menos pronunciada que las pendientes dentro del grupo.

Esto nos lleva a una cuestión conceptual final ...

¿Por qué se estima que la varianza de las intersecciones aleatorias es 0?

La respuesta a esta pregunta tiene el potencial de volverse un poco técnica y difícil, pero trataré de mantenerla lo más simple y no técnica posible (¡por el bien de ambos!). Pero tal vez todavía sea un poco largo.

y(o, más correctamente, los errores del modelo) inducidos por la estructura de agrupamiento. La correlación intraclase nos dice cuán similares en promedio son dos errores extraídos del mismo grupo, en relación con la similitud promedio de dos errores extraídos de cualquier parte del conjunto de datos (es decir, pueden o no estar en el mismo grupo). Una correlación positiva dentro de la clase nos dice que los errores del mismo grupo tienden a ser relativamente más similares entre sí; Si extraigo un error de un clúster y tiene un valor alto, entonces puedo esperar que el siguiente error que extraiga del mismo clúster también tenga un valor alto. Aunque algo menos común, las correlaciones intraclase también pueden ser negativas; dos errores extraídos del mismo grupo son menos similares (es decir, más separados en valor) de lo que normalmente se esperaría en todo el conjunto de datos.

El modelo mixto que estamos considerando no está utilizando el método de correlación intraclase para representar la dependencia en los datos. En cambio, describe la dependencia en términos de componentes . Todo esto está bien siempre que la correlación intraclase sea positiva. En esos casos, la correlación intraclase se puede escribir fácilmente en términos de componentes de varianza, específicamente como la relación mencionada anteriormente de la varianza de intercepción aleatoria a la varianza total. (Vea la página wiki sobre correlación intraclase de varianza para obtener más información sobre esto.) Pero desafortunadamente, los modelos de componentes de varianza tienen dificultades para lidiar con situaciones en las que tenemos una correlación negativa dentro de la clase. Después de todo, escribir la correlación intraclase en términos de los componentes de la varianza implica escribirla como una proporción de la varianza, y las proporciones no pueden ser negativas.

yyy, mientras que los errores extraídos de diferentes grupos tenderán a tener una diferencia más moderada). Entonces, su modelo mixto está haciendo lo que, en la práctica, los modelos mixtos suelen hacer en este caso: proporciona estimaciones que son tan consistentes con una correlación negativa dentro de la clase como puede reunir, pero se detiene en el límite inferior de 0 (esta restricción generalmente se programa en el algoritmo de ajuste del modelo). Así que terminamos con una varianza de intercepción aleatoria estimada de 0, que todavía no es una muy buena estimación, pero es lo más cerca que podemos llegar con este tipo de modelo de componentes de varianza.

Entonces, ¿qué podemos hacer?

x

x

xxbxxwx

> dat <- within(dat, x_b <- tapply(x, f, mean)[paste(f)])
> dat <- within(dat, x_w <- x - x_b)
> dat
      y   x f x_b x_w
1  -0.5   2 1   3  -1
2   0.0   3 1   3   0
3   0.5   4 1   3   1
4  -0.6  -4 2  -3  -1
5   0.0  -3 2  -3   0
6   0.6  -2 2  -3   1
7  -0.2  13 3  14  -1
8   0.1  14 3  14   0
9   0.4  15 3  14   1
10 -0.5 -15 4 -14  -1
11 -0.1 -14 4 -14   0
12  0.4 -13 4 -14   1
> 
> mod <- lmer(y ~ x_b + x_w + (1|f), data=dat)
> mod
Linear mixed model fit by REML 
Formula: y ~ x_b + x_w + (1 | f) 
   Data: dat 
   AIC   BIC logLik deviance REMLdev
 6.547 8.972  1.726   -23.63  -3.453
Random effects:
 Groups   Name        Variance Std.Dev.
 f        (Intercept) 0.000000 0.00000 
 Residual             0.010898 0.10439 
Number of obs: 12, groups: f, 4

Fixed effects:
            Estimate Std. Error t value
(Intercept) 0.008333   0.030135   0.277
x_b         0.005691   0.002977   1.912
x_w         0.462500   0.036908  12.531

Correlation of Fixed Effects:
    (Intr) x_b  
x_b 0.000       
x_w 0.000  0.000

xwxbyxxxbt-estadística es más grande. Esto tampoco es sorprendente porque la varianza residual es mucho más pequeña en este modelo mixto debido a que los efectos de grupo aleatorio comen mucha de la varianza con la que tuvo que lidiar el modelo de regresión simple.

Finalmente, todavía tenemos una estimación de 0 para la varianza de las intersecciones aleatorias, por las razones que expliqué en la sección anterior. No estoy realmente seguro de lo que podemos hacer al respecto al menos sin cambiar a otro software que no sea lmer(), y tampoco estoy seguro de hasta qué punto esto va a afectar negativamente nuestras estimaciones en este modelo mixto final. Quizás otro usuario pueda intervenir con algunas ideas sobre este problema.

Referencias

  • Bell, A. y Jones, K. (2014). Explicación de efectos fijos: modelado de efectos aleatorios de datos de panel y secciones transversales de series temporales. Investigación y métodos de ciencias políticas. PDF
  • Bafumi, J. y Gelman, AE (2006). Ajustar modelos multinivel cuando los predictores y los efectos grupales se correlacionan. PDF

1
Esta es una respuesta muy atenta y útil. No he encontrado estas referencias; sus títulos me parecen de lectura obligatoria en este punto de mi exploración. ¡Te debo una cerveza!
ndoogan

1
El árbitro de Bell & Jones fue genial. Una cosa que estaba esperando, y de la que podría tener una idea, es si estas separaciones intermedias se extienden fácilmente a modelos mixtos lineales generalizados . Parece que deberían, pero pensé que entendía que el centrado de covariables en un modelo de regresión logística no es lo mismo que el modelo logístico condicional, que considero que es el resultado binario análogo al modelo lineal de efectos fijos. ¿Algún comentario?
ndoogan

1
¿El ajuste de un modelo marginal no permitiría que la varianza negativa que lmerestringe por defecto sea> = 0? Vea esta pregunta y su respuesta seleccionada , es decir, ajustando una correlación de simmetría compuesta a través de un glsajuste o ajuste correlation = corCompSymm(form = ~1|f)enlme
FairMiles

1
@FairMiles Quizás ... ¿por qué no lo intentas y publicas los resultados en este hilo de comentarios?
Jake Westfall

3
Gracias de nuevo, @JakeWestfall. He leído esto unas 3 veces en el transcurso de unos meses y me ha ayudado de varias maneras cada vez.
ndoogan

3

Después de considerable contemplación, creo haber descubierto mi propia respuesta. Creo que un econométrico definiría mi variable independiente como endógena y, por lo tanto, estaría correlacionada con las variables independientes y dependientes. En este caso, esas variables se omiten o no se observan . Sin embargo, sí observo las agrupaciones entre las cuales la variable omitida debería variar.

Creo que el econométrico sugeriría un modelo de efectos fijos . Es decir, un modelo que incluye una variable ficticia para cada nivel de agrupación (o una especificación equivalente que condiciona el modelo de modo que no se requieran muchas variables ficticias de agrupación) en este caso. Con un modelo de efectos fijos, la esperanza es que todas las variables no observadas e invariables en el tiempo puedan controlarse condicionando la variación entre grupos (o entre individuos). De hecho, el segundo modelo en mi pregunta es precisamente un modelo de efectos fijos, y como tal da la estimación que espero.

Agradezco los comentarios que iluminarán aún más esta circunstancia.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.