12.5 Ejercicios
1. Datos de supervivencia del Titanic
El capítulo 12.2 presentó tres enfoques para modelar la función de expectativa condicional de una variable dependiente binaria: El modelo de probabilidad lineal y la regresión Probit y Logit.
Los ejercicios de este capítulo utilizan datos sobre el destino de los pasajeros del océano lineal Titanic. El objetivo es explicar la supervivencia, una variable binaria, por variables socioeconómicas utilizando los enfoques anteriores.
En este ejercicio se comienza con el conjunto de datos agregados Titanic. Es parte del paquete datasets que es parte de la base de R. La siguiente cita de la descripción del conjunto de datos motiva el intento de predecir la probabilidad de supervivencia:
El hundimiento del Titanic es un evento famoso y aún se están publicando nuevos libros al respecto. Muchos hechos bien conocidos, desde las proporciones de pasajeros de primera clase hasta la política de “las mujeres y los niños primero,” y el hecho de que esa política no fue del todo exitosa para salvar a las mujeres y los niños de la tercera clase, lo que se refleja en la supervivencia a partir de las tarifas para varias clases de pasajeros.
Instrucciones:
Asignar los datos del Titanic a Titanic_1 y obtener una descripción general.
Visualizar las tasas de supervivencia condicional para la clase de viaje (Class), el género (Sex) y la edad (Age) usando mosaicplot().
2. Datos de supervivencia del Titanic — Ctd.
El conjunto de datos del Titanic del ejercicio 1 no es útil para el análisis de regresión porque está muy agregado. En este ejercicio se trabajará con titanic.csv que está disponible en la URL https://stanford.io/2O9RUCF.
Las columnas de titanic.csv contienen las siguientes variables:
Survived — El indicador de sobrevivido
Pclass — Clase de pasajero
Name — Nombre del pasajero
Sex — Género del pasajero
Age — Edad del pasajero
Siblings — Número de hermanos a bordo
Parents.Children.Aboard — Número de padres e hijos a bordo
fare — La tarifa pagada en libras esterlinas
Instrucciones:
Importar los datos de titanic.csv usando la función read.csv2(). Guardar el resultado en Titanic_2.
Asignar los siguientes nombres de columna a Titanic_2:
Survived, Class, Name, Sex, Age, Siblings, Parents y Fare.
Obtener una descripción general del conjunto de datos. Soltar la columna Nombre .
Adjuntar los paquetes corrplot y dplyr. Verificar si existe multicolinealidad en los datos usando corrplot().
Sugerencias:
read_csv() adivina la especificación de la columna así como los separadores usados en el archivo .csv. Siempre debe verificar si el resultado es correcto.
Puede usar select_if() del paquete dplyr para seleccionar todas las columnas numéricas del conjunto de datos.
3. Datos de supervivencia del Titanic — Tasas de supervivencia
Las tablas de contingencia similares a las proporcionadas por el conjunto de datos Titanic del ejercicio 1 pueden arrojar algo de luz sobre la distribución de las condiciones de supervivencia y los posibles determinantes de las mismas; por ejemplo, la clase de pasajeros. Las tablas de contingencia se crean fácilmente usando la función table que forma parte de la base R.
Instrucciones:
Generar una tabla de contingencia para Survived y Class usando table(). Guardar la tabla en t_abs.
t_abs reporta frecuencias absolutas. Transforme t_abs en una tabla que informe las frecuencias relativas (en relación con el número total de observaciones). Guardar el resultado en t_rel.
Visualizar las frecuencias relativas en t_rel usando barplot(). Usar diferentes colores para distinguir mejor entre la tasa de supervivencia y la no supervivencia (no importa qué colores use).
4. Datos de supervivencia del Titanic — Distribuciones condicionales de Age
Las tablas de contingencia son útiles para resumir la distribución de variables categóricas como Survived y Class en el Ejercicio 3. Sin embargo, no son útiles cuando la variable de interés toma muchos números enteros diferentes (e incluso son imposibles de generar cuando la variable es continua).
En este ejercicio se le pide que genere y visualice estimaciones de densidad de la distribución de Age condicionada a Survived para ver si existen indicaciones de cómo la edad se relaciona con la posibilidad de supervivencia (a pesar de que el conjunto de datos informa números enteros, aquí se trata Age como una variable continua). Por ejemplo, es interesante ver si la política de “las mujeres y los niños primero” fue eficaz.
El conjunto de datos Titanic_2 de los ejercicios anteriores está disponible en el entorno de trabajo.
Instrucciones:
Obtener estimaciones de densidad de kernel de las distribuciones de Age tanto para los sobrevivientes como para los fallecidos.
Guardar los resultados en dens_age_surv (sobrevivió) y dens_age_died (murió).
Graficar ambas estimaciones de densidad de kernel (¡Superponerlas en una sola gráfica!). Usar diferentes colores de su elección para que las estimaciones sean distinguibles.
Sugerencias:
Las estimaciones de densidad de kernel se pueden obtener usando la función density().
Utilizar plot() y lines() para trazar las estimaciones de densidad.
5. Datos de supervivencia del Titanic: un modelo de probabilidad lineal para Survival I
¿Cómo influyen las características socioeconómicas de los pasajeros en la probabilidad de supervivencia? En particular, ¿existen diferencias sistemáticas entre las tres clases de pasajeros? ¿Los datos reflejan la política de “los niños y las mujeres primero?”
Es natural comenzar el análisis estimando un modelo de probabilidad lineal simple como (LMP) \[Survived_i = \beta_0 + \beta_1 Class2_i + \beta_2 Class3_i + u_i\] con variables ficticias \(Class2_i\) y \(Class3_i\).
El conjunto de datos Titanic_2 de los ejercicios anteriores está disponible en el entorno de trabajo.
Instrucciones:
Asjuntar el paquete AER.
Class es de tipo int (integer), convertir Class en una variable factorial.
Estimar el modelo de probabilidad lineal y guardar el resultado en surv_mod.
Obtener un resumen robusto de los coeficientes del modelo.
Utilizar surv_mod para predecir la probabilidad de supervivencia de las tres clases de pasajeros.
Sugerencias:
Los modelos de probabilidad lineal se pueden estimar usando lm().
Utilizar predict() para obtener las predicciones. Recuerde que se debe proporcionar un data.frame al argumento newdata.
6. Datos de supervivencia del Titanic: un modelo de probabilidad lineal para Survival II
Considerar nuevamente el resultado del ejercicio 5:
\[\widehat{Survived}_i = \underset{(0.03)}{0.63} - \underset{(0.05)}{0.16} Class2_i - \underset{(0.04)}{0.39} Class3_i + u_i \]
(Los coeficientes estimados en este modelo están relacionados con las medias muestrales específicas de la clase de Survived. Se solicita que los calcule a continuación).
Los coeficientes altamente significativos indican que la probabilidad de supervivencia disminuye con la clase de pasajeros; es decir, los pasajeros de una clase menos lujosa tienen menos probabilidades de sobrevivir.
Este resultado podría verse afectado por el sesgo de la variable omitida que surge de la correlación de la clase de pasajero con los determinantes de la probabilidad de supervivencia no incluidos en el modelo. Por lo tanto, se aumenta el modelo de manera que incluya todas las variables restantes como regresores.
El conjunto de datos Titanic_2 así como el modelo surv_mod de los ejercicios anteriores están disponibles en el entorno de trabajo. Se adjunta el paquete AER.
Instrucciones:
Utilizar el objeto modelo surv_mod para obtener las estimaciones específicas de la clase para la probabilidad de supervivencia. Guardar el resultado en surv_prob_c1, surv_prob_c2 y surv_prob_c3.
Ajustar el LMP aumentado y asignar el resultado al objeto LPM_mod.
Obtener un resumen robusto de los coeficientes del modelo.
Sugerencia:
- Recuerde que la fórmula a ~. especifica una regresión de a en todas las demás variables en el conjunto de datos proporcionado como el argumento data en glm().
7. Datos de supervivencia del Titanic — Regresión logística
El capítulo 12.2 presenta la regresión logística, también llamada regresión Logit, que es más adecuada que el LPM para modelar la función de probabilidad condicional de una variable de resultado dicotómica. La regresión logit usa una función de enlace no lineal que restringe los valores ajustados para que se encuentren entre \(0\) y \(1\): En la regresión logit, las log-odds del resultado se modelan como una combinación lineal de los predictores, mientras que el LPM asume que el condicional La función de probabilidad del resultado es lineal.
El conjunto de datos Titanic_2 del ejercicio 2 está disponible en el entorno de trabajo. Se adjunta el paquete AER.
Instrucciones:
- Use glm() para estimar el modelo
\[\begin{align*} \log\left(\frac{P(survived_i = 1)}{1-P(survived_i = 1)}\right) =& \, \beta_0 + \beta_1 Class2_i + \beta_2 Ckass3_i + \beta_3 Sex_i \\ +& \, \beta_4 Age_i + \beta_5 Siblings_i + \beta_6 Perents_i + \beta_7 Fare_i + u_i. \end{align*}\]
Obtener un resumen robusto de los coeficientes del modelo.
El marco de datos passengers contiene datos sobre tres pasajeros masculinos hipotéticos que difieren solo en su clase de pasajero (las otras variables se establecen en el promedio de la muestra respectiva). Utilizar Logit_mod para predecir la probabilidad de supervivencia de estos pasajeros.
Sugerencias:
Recuerde que la fórmula a ~. especifica una regresión de a en todas las demás variables en el conjunto de datos proporcionado como el argumento data en glm().
Debe especificar el tipo correcto de predicción en predict().
8. Datos de supervivencia del Titanic — Regresión probit
Repita el ejercicio 7, pero esta vez calcule el modelo Probit.
\[\begin{align*} P(Survived_i = 1\vert Class2_i, Class3_i, \dots, Fare_i) =& \, \Phi (\beta_0 + \beta_1 Class2_i + \beta_2 Class3_i + \beta_3 Sex_i \\ +& \, \beta_4 Age_i + \beta_5 Siblings_i + \beta_6 Parents_i + \beta_7 Fare_i + u_i). \end{align*}\]
El conjunto de datos Titanic_2 de los ejercicios anteriores así como el modelo Logit Logit_mod están disponibles en el entorno de trabajo. Se adjunta el paquete AER.
Instrucciones:
Utilizar glm() para estimar el modelo Probit anterior. Guardar el resultado en Probit_mod.
Obtener un resumen robusto de los coeficientes del modelo.
El marco de datos passengers contiene datos sobre tres pasajeros masculinos hipotéticos que difieren solo en su clase de pasajero (las otras variables se establecen en el promedio de la muestra respectiva). Utilizar Probit_mod para predecir la probabilidad de supervivencia de estos pasajeros.
Sugerencias:
Recuerde que la fórmula a ~. especifica una regresión de a en todas las demás variables en el conjunto de datos proporcionado como el argumento data en glm().
Debe especificar el tipo correcto de predicción en predicts().