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.
rmarkdown
El formato de respuesta es el siguiente:
El formato tiene un puntaje asignado dentro de la nota: 3 puntos.
Importante: Deben ser suprimidos los mensajes y warnings del informe.
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)