Este taller está basado en los ejemplos del libro Data Analysis Using Regression and Multilevel/Hierarchical Models. Los autores del libro dispusieron los datos y los scripts de R en el siguiente enlace http://www.stat.columbia.edu/~gelman/arm/. Visite el enlace para descargar el material necesario.

Preguntas

  1. Considere el siguiente modelo normal mixto con pendiente aleatoria \(b_{1i}\).

\[\begin{align*} y_{ij} &\sim N(\mu_{ij}, \sigma^2_y) \\ \mu_{ij} &= 4 - 5 x_{ij} + b_{1i} x_{ij} \\ \sigma^2_y &= 4 \\ b_{1} &\sim N(0, \sigma^2_{b1}=1000) \\ x_{ij} &\sim Beta(\alpha=2, \beta=4) \end{align*}\]

Escriba los 4 elementos del vector de parámetros \(\boldsymbol{\Theta}\) del modelo.

  1. Complete el siguiente código de R para simular \(n_i=50\) observaciones para \(G=10\) grupos, es decir, en total 500 observaciones. Cambie los símbolos &&& por el código correcto para simular los datos solicitados.
ni <- &&&
G <- &&&
nobs <- &&& * &&&                          # Numero total de observaciones
grupo <- factor(rep(x=1:G, &&&=ni))        # Para crear la variable grupal
obs <- rep(x=1:ni, times=G)                # Para identificar las obs por grupo
&&& <- rbeta(n=nobs, &&&=2, &&&=&&&)       # La covariable x
b1 <- rnorm(n=&&&, mean=&&&, sd=sqrt(&&&)) # La pendiente aleatoria
&&& <- rep(x=b1, &&&=&&&)                  # La pendiente repetida
media <- &&& + &&& * x + b1 * x            # La media
y <- &&&(n=nobs, mean=&&&, sd=sqrt(&&&))   # La variable respuesta
datos <- &&&(grupo, obs, b1, x, &&&)       # Organizando el dataframe

El objeto datos contendrá los datos simulados. Imprima en pantalla los datos y mire explore las variables, encuéntrele sentido a los números.

  1. Dibuje una figura similar (no igual porque estamos simulando sin fijar la semilla) a la figura que se muestra abajo.

¿Logra ver en la figura el efecto de \(b_1\) para inducir pendientes aleatorias?

  1. Encuentre las estimaciones \(\hat{\boldsymbol{\Theta}}\) del vector \(\boldsymbol{\Theta}\). ¿Qué tan cerca está su estimación del vector real?

  2. Encuentre las predicciones de los \(b_1\) y compárelas con los valores verdaderos.

  3. Vuelva a simular un dataframe datos2 pero con \(\sigma^2_{b1}=0\) y dibuje los datos. ¿Qué observa ahora con las nubes de puntos.