Trabajo Aplicado Análisis Multivariado y Validación Cruzada con rmarkdown

Este trabajo tiene como finalidad realizar análisis multivariado y validación cruzada de una base de datos , utilizando rmarkdown. Se evaluará la correcta ejecución del código y el uso eficiente de las herramientas de codificación entregadas.

Formato de rmarkdown

El formato de respuesta es el siguiente:

  1. Antes de la respuesta debes agregar un encabezado de tercer nivel (###) con P y el número de pregunta.
  2. Abajo del encabezado, debe estar escrita la pregunta.
  3. Agregar la linea de código.
  4. Agregar el output de ser necesario.
  5. Si requieres agregar alguna respuesta analítica, agregar al final de la pregunta (después del output).
  6. El título del informe debe tener un encabezado de primer nivel (#) y debe ser: Tarea 5.
  7. En los autores, agregar todos/as los/as integrantes del grupo
  8. El nombre del archivo .rmd debe tener la siguiente forma: Tarea 5 - Apellido.

El formato tiene un puntaje asignado dentro de la nota: 3 puntos.

Importante: Deben ser suprimidos los mensajes y warnings del informe.

Reglas de Envío

  1. Este trabajo debe ser publicado en su rpubs personal.
  2. Se habilitará en webcursos un apartado para que envien el link de su rpubs y el archivo .rmd de la actividad
  3. El plazo para enviar el link de su actividad es hasta finalizar la clase.

Informe para la SEREMI de Transportes

Suponga que a usted le han contratado desde la SEREMI de Transportes de Valparaíso para encontrar algún modelo que haga una predicción del tiempo de viaje de las personas. Para ello, le han proporcionado algunos datos sobre minutos de viaje promedio para distintos individuos, con los cuales usted deberá encontrar algún vínculo entre alguna variable interesante y el tiempo de viaje promedio. Para esto:

1. Cargue los paquetes “data.table”, “ggplot2” y “caret”, junto con la base de datos. (1 punto)

Importante:Borre todas las observaciones que tienen ´NA´ en alguna de las variables.

library(data.table)
library(ggplot2)
library(caret)
## Loading required package: lattice
mydata_1 <- fread("base_tarea5.csv")
mydata_1<-na.omit(mydata_1)

2. Muestre un histograma de ingreso por comuna. Limite el histograma a las observaciones con ingresos menores a 2 millones de pesos. (4 puntos)

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

3. Realice un gráfico de dispersión que muestre la relación entre el ingreso y el tiempo de viaje promedio. (4 puntos)

4. Un miembro de su equipo propone un modelo que calcule la incidencia del sexo y la educación en el tiempo de viaje, sin considerar variables adicionales. Usted quiere mostrarle que aquel modelo está incompleto. En orden de lograr esto, haga el modelo de regresión anteriormente mencionado. (5 puntos)

## 
## Call:
## lm(formula = minviajeprom ~ sexo + educ, data = mydata_1)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -32.41 -13.56  -3.56   8.88 620.85 
## 
## Coefficients:
##                            Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                 31.1237     2.0463  15.209  < 2e-16 ***
## sexoMujer                   -3.0960     0.2670 -11.595  < 2e-16 ***
## educNo tiene                -8.9966     2.1744  -4.138 3.52e-05 ***
## educPreb\xe1sicos           -8.7876     2.1798  -4.031 5.57e-05 ***
## educPrimarios               -4.3761     2.0665  -2.118   0.0342 *  
## educProfesional              2.2911     2.0622   1.111   0.2666    
## educSecundarios              0.5281     2.0559   0.257   0.7973    
## educT\xe9cnico Profesional   1.5214     2.0805   0.731   0.4646    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 19.28 on 20927 degrees of freedom
## Multiple R-squared:  0.03249,    Adjusted R-squared:  0.03216 
## F-statistic: 100.4 on 7 and 20927 DF,  p-value: < 2.2e-16

4.1 Calcule los minutos de viaje promedios predichos para cada observación. (4 puntos)

4.2 Dado el modelo anterior, calcule la predicción de los minutos de viaje promedio para una mujer y para un hombre con educación Profesional. (5 puntos)

Hombre <- predict(reg1, data.table(sexo = "Hombre", educ = "Profesional"))
Hombre
##        1 
## 33.41476
Mujer <- predict(reg1, data.table(sexo = "Mujer", educ = "Profesional"))
Mujer
##        1 
## 30.31876

5. Teniendo ya el modelo propuesto por su colega, contrarreste usted con un modelo de predicción en base a los datos con los que ya cuenta. (7 puntos)

## 
## Call:
## lm(formula = minviajeprom ~ sexo + educ + distprom, data = mydata_1)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -68.07  -9.29  -2.25   6.83 633.89 
## 
## Coefficients:
##                              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                 2.067e+01  1.653e+00  12.503  < 2e-16 ***
## sexoMujer                  -7.319e-01  2.164e-01  -3.382 0.000721 ***
## educNo tiene               -7.035e+00  1.753e+00  -4.013 6.03e-05 ***
## educPreb\xe1sicos          -5.653e+00  1.758e+00  -3.216 0.001302 ** 
## educPrimarios              -3.280e+00  1.666e+00  -1.969 0.049022 *  
## educProfesional            -3.502e+00  1.664e+00  -2.105 0.035292 *  
## educSecundarios            -2.053e+00  1.658e+00  -1.239 0.215474    
## educT\xe9cnico Profesional -3.121e+00  1.678e+00  -1.860 0.062894 .  
## distprom                    1.883e-03  1.774e-05 106.155  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 15.55 on 20926 degrees of freedom
## Multiple R-squared:  0.3711, Adjusted R-squared:  0.3709 
## F-statistic:  1544 on 8 and 20926 DF,  p-value: < 2.2e-16

5.1 Calcule los minutos de viaje promedios predichos para cada observación. (5 puntos)

6. Contando ya con su modelo, usted puede realizar una comparación directa entre ambos. Calcule los errores de predicción dentro de muestra para ambos modelos. (8 puntos)

##        RMSE      MAE
## 1: 19.27886 14.32717
##        RMSE      MAE
## 1: 15.54285 10.81271

7. Interprete la diferencia en los errores de predicción entre el Modelo 1 y el Modelo 2. ¿Qué modelo hace una mejor predicción dentro de muestra? (5 puntos)

# El modelo 2 presenta un menor RMSE y MAE, por lo tanto este modelo tiene un menor error de predicción dentro de muestra.

8. Realice validación cruzada (CV) a los modelos de la pregunta anterior por el método K-folds con 5 folds. ¿Se mantienen las conclusiones obtenidas en el análisis dentro de muestra? (9 puntos)

Importante: Utilice set.seed(12345)

set.seed(12345) setupKCV <- trainControl(method = “cv” , number = 5)

predkfolds1<-train(minviajeprom~sexo+educ,data=mydata_1,method=“lm”,trControl= setupKCV)

predkfolds2<-train(minviajeprom~sexo+educ+distprom,data=mydata_1,method=“lm”,trControl= setupKCV)

print(predkfolds1) print(predkfolds2)