Random Coefficients Modeling

Incluyendo variables en el Nivel 2

Gonzalo J. Muñoz

2019-06-27

High School and Beyond Survey (HSB) Data

La data que analizaremos a continuación está disponible en el paquete merTools y es un ejemplo que se usa bastante para ilutrar el uso de RCM. HSB es una muestra de 7.185 observationes y contiene las siguientes variables:

Las preguntas que intentaremos responder via RCM son las siguientes:

  1. ¿Cuánto varían los colegios en su promedio de matemáticas?
  2. ¿Tiene mejores puntajes los colegios con SES promedio más alto?
  3. En promedio, ¿cuál es la relación entre el SES del alumnos con sus puntajes de matemáticas? ¿Es esta asociación similar entre colegios?
  4. ¿Es la relación entre SES y matemáticas más fuerte en algunos colegios (e.g., católico, o con alto SES promedio) que en otros (e.g., Público, Bajo SES promedio)?

Random Intercept Model

  1. ¿Cuánto varían los colegios en su promedio de matemáticas?

El primer paso es importar la data

hsb<-readRDS(file = "hsb.rds")
str(hsb)
## 'data.frame':    7185 obs. of  8 variables:
##  $ schid   : chr  "1224" "1224" "1224" "1224" ...
##  $ minority: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ female  : num  1 1 0 0 0 0 1 0 1 0 ...
##  $ ses     : num  -1.528 -0.588 -0.528 -0.668 -0.158 ...
##  $ mathach : num  5.88 19.71 20.35 8.78 17.9 ...
##  $ size    : num  842 842 842 842 842 842 842 842 842 842 ...
##  $ schtype : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ meanses : num  -0.428 -0.428 -0.428 -0.428 -0.428 -0.428 -0.428 -0.428 -0.428 -0.428 ...

A continuación probamos un modelo inicial (model.0). Cuando se usa la opción REML=TRUE el valor de REML criterion at convergence: corresponde al valor de deviance1 En SPSS este valor se denomina -2 Restricted Log Likelihood cuando se usa la opción REML=FALSE. Este valor es un indicador del ajuste del modelo (más sobre esto más adelante). La opción verbose=TRUE muestra los resultados del proceso de iteración (no es muy relevante)

require(lme4)
## Loading required package: lme4
## Loading required package: Matrix
require(lmerTest)
## Loading required package: lmerTest
## Registered S3 methods overwritten by 'ggplot2':
##   method         from 
##   [.quosures     rlang
##   c.quosures     rlang
##   print.quosures rlang
## 
## Attaching package: 'lmerTest'
## The following object is masked from 'package:lme4':
## 
##     lmer
## The following object is masked from 'package:stats':
## 
##     step
model.0<-lmer(mathach~1+(1|schid),REML=TRUE,verbose=TRUE, data=hsb)
## start par. =  0.4858509 fn =  47117.1 
## At return
## eval:  17 fn:      47116.793 par: 0.469080
summary(model.0)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mathach ~ 1 + (1 | schid)
##    Data: hsb
## 
## REML criterion at convergence: 47116.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.0631 -0.7539  0.0267  0.7606  2.7426 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  schid    (Intercept)  8.614   2.935   
##  Residual             39.148   6.257   
## Number of obs: 7185, groups:  schid, 160
## 
## Fixed effects:
##             Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)  12.6370     0.2444 156.6473   51.71   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

La correlación intraclase en este caso sería: \[\rho=\frac{\tau_{00}}{\tau_{00}+\sigma^2_e}=\frac{8.61}{8.61+39.15}=0.22\]

Mean-as-outcomes Model

  1. ¿Tiene mejores puntajes los colegios con SES promedio más alto?

Modelo Nivel 1: \[Y_{ij}=\beta_{0_j}+e_{ij}\] Modelo Nivel 2: \[\beta_{0_j}=\gamma_{00}+\gamma_{01}MeanSES+u_{0j}\]

Donde \(\beta_{0_j}\) es la media de matemáticas del colegio j en el Nivel 1 que es la variable dependiente en el Nivel 2.

Modelo combinado: \[mathach_{ij}=\gamma_{00}+\gamma_{01}MeanSES+u_{0j}+e_{ij}\]

En la Figura de más abajo se observa que los que existe los colegios que tienen un promedio de SES más alto tienen mejores puntajes en matemáticas. Lo importante es darse cuenta que tenemos variables de nivel 1 y nivel 2 combinadas en un mismo modelo.

## Loading required package: ggplot2

Obtengamos formalmente los valores para los factores fijos-

model.1<-lmer(mathach~meanses+(1|schid),REML=TRUE,verbose=TRUE, data=hsb)
## start par. =  0.4858509 fn =  47022.52 
## At return
## eval:  19 fn:      46961.285 par: 0.259592
summary(model.1)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mathach ~ meanses + (1 | schid)
##    Data: hsb
## 
## REML criterion at convergence: 46961.3
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -3.13480 -0.75256  0.02409  0.76773  2.78501 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  schid    (Intercept)  2.639   1.624   
##  Residual             39.157   6.258   
## Number of obs: 7185, groups:  schid, 160
## 
## Fixed effects:
##             Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)  12.6494     0.1493 153.7425   84.74   <2e-16 ***
## meanses       5.8635     0.3615 153.4066   16.22   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##         (Intr)
## meanses -0.004

El Intercepto para todos los colegios es 12.6494 y representa la media de los colegios cuando meanses = 0. El coeficiente para meanses de 5.86 es la pendiente del modelo y quiere decir que por cada punto de meanses los colegios suben en promedio 5.86 puntos en matemáticas. Además vemos que este coeficiente es estadísticamente significativo. Nótese que la varianza residual del modelo es casi la misma que en el modelo sin meanses, pero la varianza entre colegios baja de 8.614 a 2.639. Esto quiere decir que controlando por meanses, la varianza entre colegios es menor.

Llamémosle modelo incondicional al modelo sin meanses, y condicional al modelo CON meanses. Podemos calcular la varianza explicada por meanses comparando la varianza de la variable de Nivel dos entre ambos modelos (8.614 vs 2.639). En este caso, la varianza explicada por meanses es .69 o 69%

\[\frac{*\tau_{00}-\tau_{00}}{*\tau_{00}}=\frac{8.614-2.639}{8.614}=.69\]

Mean-as-outcomes Model using schtype

  1. ¿Tiene mejores puntajes los colegios católicos que los públicos?

Recuerde que schtype = School type (0=public; 1=private/catholic)

model.1b<-lmer(mathach~schtype+(1|schid),REML=TRUE,verbose=TRUE, data=hsb)
## start par. =  0.4858509 fn =  47085.98 
## At return
## eval:  16 fn:      47080.134 par: 0.412967
summary(model.1b)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mathach ~ schtype + (1 | schid)
##    Data: hsb
## 
## REML criterion at convergence: 47080.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.0130 -0.7523  0.0253  0.7602  2.7472 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  schid    (Intercept)  6.677   2.584   
##  Residual             39.151   6.257   
## Number of obs: 7185, groups:  schid, 160
## 
## Fixed effects:
##             Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)  11.3930     0.2928 158.5372  38.907  < 2e-16 ***
## schtype       2.8049     0.4391 153.5006   6.388  1.9e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##         (Intr)
## schtype -0.667

De nuevo, nótese la diferencia entre RCM y un modelo de regresión que no considera la variable de agrupación. El coeficiente es aproximadamente el mismo (2.8062 vs 2.8049) pero el error estándar es casi tres veces más pequeño (0.1589 vs 0.4391)

model.1c<-lm(mathach~schtype, data=hsb)
summary(model.1c)
## 
## Call:
## lm(formula = mathach ~ schtype, data = hsb)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -17.0023  -5.2163   0.2167   5.4169  13.6289 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  11.3641     0.1116  101.84   <2e-16 ***
## schtype       2.8062     0.1589   17.66   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.734 on 7183 degrees of freedom
## Multiple R-squared:  0.04161,    Adjusted R-squared:  0.04148 
## F-statistic: 311.9 on 1 and 7183 DF,  p-value: < 2.2e-16

El error estándar del coeficiente estimado se define como.

\[SE{\hat\gamma_{01} = \sqrt{\frac{\tau_{00}+\frac{\sigma^2_e}{n}}{J\sigma^2}}}\] \[SE{\hat\gamma_{01}}=\sqrt\frac{6.677+\frac{39.151}{45}}{160(.25)}=.434\] El tamaño aproximado de los colegios es 45 y la varianza de la variable colegio es .25. Los valores exactos son:

var(hsb$schtype)
## [1] 0.2499873
mean(table(hsb$size))
## [1] 48.22148

En definitiva, usar RCM no va a incrementar el poder estadístico ya que al considerar la variable de agrupación se REDUCE el tamaño del error estándar. No obstante para INCREMENTAR el poder para detectar un \(\gamma_{01}\) significativo habría que (1) Incrementar el tamaño de los grupos o (2) incrementar el número de grupos.