5.6 Ejercicios
1. Tamaños de clases y puntajes de exámenes
Un investigador desea analizar la relación entre el tamaño de la clase (medida por la proporción de alumnos por maestro) y el puntaje promedio de la prueba. Por lo tanto, mide ambas variables en clases diferentes de \(10\) y obtiene los siguientes resultados.
Tamaño de la clase | 23 | 19 | 30 | 22 | 23 | 29 | 35 | 36 | 33 | 25 |
Resultado de la prueba | 430 | 430 | 333 | 410 | 390 | 377 | 325 | 310 | 328 | 375 |
Instrucciones:
Crear los vectores cs (el tamaño de la clase) y ts (la puntuación de la prueba), que contengan las observaciones anteriores.
Dibujar un diagrama de dispersión de los resultados usando plot().
2. Media, varianza, covarianza y correlación
Los vectores cs y ts están disponibles en el entorno de trabajo (puede comprobar esto: escribiendo sus nombres en la consola y presionando enter).
Instrucciones:
Calcular la media, la varianza muestral y la desviación estándar muestral de ts.
Calcular la covarianza y el coeficiente de correlación para ts y cs.
Sugerencia:
- Utilizar las funciones R presentadas en este capítulo: mean(), sd(), cov(), cor() y var().
3. Regresión lineal simple
Los vectores cs y ts están disponibles en el entorno de trabajo.
Instrucciones:
La función lm() es parte del paquete AER. Adjunte el paquete usando library().
Utilizar lm() para estimar el modelo de regresión \[TestScore_i = \beta_0 + \beta_1 STR_i + u_i.\] Asignar el resultado a mod.
Obtener un resumen estadístico del modelo.
4. El objeto de modelo
Resulta importante obervar cómo se estructura un objeto de clase lm.
Los vectores cs y ts así como el objeto modelo mod del ejercicio anterior están disponibles en su espacio de trabajo.
Instrucciones:
Usar class() para aprender sobre la clase del objeto mod.
mod es un objeto de tipo list con entradas con nombre. Verificar esto usando la función is.list().
Vea qué información puede obtener de mod usando names().
Leer una entrada arbitraria del objeto mod usando el operador $.
5. Graficar la línea de regresión
Se proporciona el código para el diagrama de dispersión en el script.R
Instrucciones:
Agregar la línea de regresión al diagrama de dispersión de algunos ejercicios anteriores.
El objeto mod está disponible en el entorno de trabajo.
Sugerencia:
- Usar la función abline().
6. Resumen de un objeto modelo
Ahora leer y almacenar parte de la información contenida en la salida de summary().
Instrucciones:
Asignar la salida de summary (mod) a la variable s.
Comprobar los nombres de entrada del objeto s.
Crear una nueva variable R2 y asignar el \(R^2\) de la regresión.
El objeto mod está disponible en el entorno de trabajo.
7. Coeficientes estimados
La función summary() también proporciona información sobre la significancia estadística de los coeficientes estimados.
Instrucciones:
Extraer la matriz denominada \(2\times4\) con coeficientes estimados, errores estándar, \(t\) -estadísticos y los correspondientes valores \(p\)- del resumen del modelo s. Guardar esta matriz en un objeto llamado coefs.
Los objetos mod y s están disponibles en su entorno de trabajo.
8. Dejar caer la intersección
Hasta ahora, se han estimado modelos de regresión que consisten en una intersección y un regresor único. En este ejercicio aprenderá a especificar y estimar la regresión de un modelo sin intersección.
Se debe tener en cuenta que excluir la intersección de un modelo de regresión podría ser una práctica poco fiable en algunas aplicaciones, ya que esto impone que la función de expectativa condicional de la variable dependiente sea cero si el regresor es cero.
Instrucciones:
Averiguar cómo se debe especificar el argumento de la formula para una regresión de ts únicamente en cs; es decir, una regresión sin intercepto. ¡Google es tu amigo!
Estimar el modelo de regresión sin interceptar y almacenar el resultado en mod_ni.
Los vectores cs, ts y el objeto modelo mod de ejercicios anteriores están disponibles en el entorno de trabajo.
9. Resultado de la regresión: Sin caso constante
En el ejercicio 8 se estimó un modelo sin intersección. La función de regresión estimada es
\[\widehat{TestScore} = \underset{(1.36)}{12.65} \times STR.\]
Instrucciones:
Convénzase de que todo es como se indicó anteriormente: extraer la matriz de coeficientes del resumen de mod_ni y guardar en una variable llamada coef.
Los vectores cs, ts así como el objeto modelo mod_ni del ejercicio anterior están disponibles en el entorno de trabajo.
Sugerencia:
- Se puede acceder a la entrada de una lista con nombre usando el operador $.
10. Salida de regresión: Sin caso constante — Ctd.
En los Ejercicios 8 y 9 se ha tratado con un modelo sin intersección. La función de regresión estimada fue
\[\widehat{TestScore_i} = \underset{(1.36)}{12.65} \times STR_i.\]
La matriz de coeficientes coef del ejercicio 9 contiene el coeficiente estimado en \(STR\), su error estándar, el estadístico \(t\) de la prueba de significancia y el valor \(p\) correspondiente.
Instrucciones:
Imprimir el contenido de coef en la consola.
Convénzase de que el estadístico \(t\) reportada es correcta: Usar las entradas de coef para calcular el estadístico \(t\) y guardarlo en t_stat.
La matriz coef del ejercicio anterior está disponible en el entorno de trabajo.
Sugerencias:
X[a, b] devuelve el elemento [a, b] de la matriz X.
El estadístico \(t\) para una prueba de la hipótesis \(H_0: \beta_1 = 0\) se calcula como \[t = \frac{\hat{\beta}_1}{SE(\hat{\beta}_1)}.\]
11. Dos regresiones, una gráfica
Los dos modelos de regresión estimados de los ejercicios anteriores son
\[\widehat{TestScore_i} = \underset{(1.36)}{12.65} \times STR_i\]
\[\widehat{TestScore_i} = \underset{(23.96)}{567.4272} \underset{(0.85)}{-7.1501} \times STR_i.\]
Se le proporciona la línea de código plot(cs, ts) que crea un diagrama de dispersión de ts y cs. ¡Se debe tener en cuenta que esta línea debe ejecutarse antes de llamar a abline()! Se pueden colorear las líneas de regresión usando; por ejemplo, col = “red” o col = “blue” como un argumento adicional para abline() para una mejor distinción.
Los vectores cs y ts así como los objetos de lista mod y mod_ni de ejercicios anteriores están disponibles en su trabajo. ambiente.
Instrucciones:
- Generar un diagrama de dispersión de ts y cs y agregar las líneas de regresión estimadas de mod y mod_ni.
12. \(STC\) y \(SRC\)
Si la inspección gráfica no ayuda, los investigadores recurren a técnicas analíticas para detectar si un modelo se ajusta bien o mejor a los datos disponibles que otro modelo.
Volviendo al modelo de regresión simple que incluye una intersección. La línea de regresión estimada para mod fue
\[\widehat{TestScore_i} = 567.43 - 7.15 \times STR_i, \, R^2 = 0.8976, \, SER=15.19.\]
Se puede comprobar esto como mod y los vectores cs y ts que están disponibles en el entorno de trabajo.
Instrucciones:
Calcular \(SRC\), la suma de los residuos al cuadrado, y guardar en ssr.
Calcule \(STC\), la suma total de cuadrados y guardar en STC.
13. El \(R^2\) de un modelo de regresión
El \(R^2\) de la regresión guardada en mod es \(0.8976\). Puede verificar esto ejecutando summary(mod)$r.squared en la consola a continuación.
Recordar la fórmula de \(R^2\):
\[R^2 = \frac{ESS}{STC} = 1 - \frac{SSR}{STC}\]
Los objetos mod, STC y ssr del ejercicio anterior están disponibles en el entorno de trabajo.
Instrucciones:
Utilizar ssr y STC para calcular \(R^2\) manualmente. Redondear el resultado a cuatro decimales y guárdalo en R2.
Utilizar el operador lógico == para comprobar si el resultado coincide con el valor mencionado anteriormente.
Sugerencias:
- Se pueden redondear valores numéricos usando la función round().
14. El error estándar de la regresión
El error estándar de la regresión en el modelo de regresión simple es
\[SER = \frac{1}{n-2} \sum_{i=1}^n \widehat{u}_i^2 =\sqrt{\frac{SSR}{n-2}}.\]
\(SER\) mide el tamaño de un residuo promedio que es una estimación de la magnitud de un error de regresión típico.
El objeto modelo mod y los vectores cs y ts están disponibles en su espacio de trabajo.
Instrucciones:
Usar summary() para obtener el \(SER\) de la regresión ts en cs guardado en el objeto modelo mod. Guardar el resultado en la variable SER.
Use SER para calcular el \(SSR\) y almacenarlo en SSR.
Comprobar que SSR es de hecho el \(SSR\) comparando SSR con el resultado de sum(mod$residuals^2)
15. La matriz de covarianza estimada
Como se discutió en el Capítulo 5.4, los estimadores MCO \(\widehat{\beta}_0\) y \(\widehat{\beta}_1\) son funciones del término de error aleatorio. Por tanto, son variables aleatorias en sí mismas. Para dos o más variables aleatorias, sus covarianzas y varianzas se resumen mediante una matriz de varianza-covarianza (que a menudo se denomina simplemente matriz de covarianza). Tomando la raíz cuadrada de los elementos diagonales de la matriz de covarianza estimada se obtiene \(SE(\widehat\beta_0)\) y \(SE(\widehat\beta_1)\), los errores estándar de \(\widehat{\beta}_0\) y \(\widehat{\beta}_1\).
summary() calcula una estimación de la matriz. La entrada respectiva en la salida de resumen (recuerde que resumen() produce una lista) se llama cov.unscaled. El objeto modelo mod está disponible en su espacio de trabajo.
Instrucciones:
Utilizar summary() para obtener la estimación de la matriz de covarianza para la regresión de los puntajes de las pruebas en las proporciones alumno-maestro almacenadas en el objeto modelo mod. Guardar el resultado en cov_matrix.
Obtener los elementos diagonales de cov_matrix, calcular su raíz cuadrada y asignar el resultado a la variable SES.
Sugerencia:
- diag(A) devuelve un vector que contiene los elementos diagonales de la matriz A.