Pregunta 1

  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.
rm(list = ls())
library(data.table)
library(ggplot2)
library(caret)
Base <- fread("base.csv", encoding = "Latin-1")
Base <- na.omit(Base)

Pregunta 2

  1. Muestre un histograma de ingreso por comuna. Limite el histograma a las observaciones con ingresos menores a 2 millones de pesos. (4 puntos)
Ingresos <- Base[, IngresoFinal, by=comunahg]
Ingresos <- Ingresos[IngresoFinal<=2000000]
Ingresos <- Ingresos[, mean(IngresoFinal), by=comunahg]
names(Ingresos)[1] <- "Comuna"
names(Ingresos)[2] <- "Ingresos_promedio"
ggplot(Ingresos, aes(Comuna, Ingresos_promedio, color=Comuna)) + geom_col() + labs(title="Ingresos Promedios", subtitle = "Por comuna", x="Comunas", y="Ingresos Promedio")

Encontramos como grupo que era mejor utilizar “geom_col” debido a que se solicitaban dos variables (Ingresos y comuna), cuestión que “geom_histogram” no resuelve porque trabaja con solo una variable.

Pregunta 3

  1. Realice un gráfico de dispersión que muestre la relación entre el ingreso y el tiempo de viaje promedio. (4 puntos)
ggplot(Base, aes(minviajeprom, IngresoFinal)) + geom_point() + labs(x="Minutos de Viajes Promedio", "Ingresos")

Pregunta 4

  1. 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)

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

Modelo <- Base[, minviajeprom, by=.(sexo,educ)]

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)

regresion <- lm(formula = minviajeprom ~ sexo + educ, data = Modelo)
sum <- summary(regresion)
sum
## 
## Call:
## lm(formula = minviajeprom ~ sexo + educ, data = Modelo)
## 
## 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ásicos           -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écnico 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

Por lo tanto, según el modelo propuesto por el miembro del equipo, para una mujer con educación profesional los minutos de viaje promedio seran de 30.3188, mientras que un hombre con la misma caracteristica educacional será de 33.4148 minutos promedio.

Pregunta 5

  1. 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)

Para poder entender mejor los datos, decidimos realizar un modelo en donde se agreguen variables relevantes para estimar los minutos de viajes promedios. Éstos seran el sexo, debido a que podría existir una diferencia en cuanto a la rapidez de llegar de un lugar a otro; la macrozona en cual vive la persona dentro de la región de Valparaíso, con el fin de exponer las carencias del transporte en dichas zonas; y, finalmente, la educación de los individuos ya que suponemos que a más avanzado estudios, más posibilidades de obtener bienes de lujos, como los autos, para su movilización.

Modelo2 <- Base[, minviajeprom, by=.(sexo, Macrozonahg, educ)]
regresion2 <- lm(formula = minviajeprom ~ sexo + Macrozonahg + educ, data = Modelo2)

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

sum2 <- summary(regresion2)
sum2
## 
## Call:
## lm(formula = minviajeprom ~ sexo + Macrozonahg + educ, data = Modelo2)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -36.69 -12.92  -3.67   8.87 619.45 
## 
## Coefficients:
##                                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                        28.3678     2.1359  13.281  < 2e-16 ***
## sexoMujer                          -3.1211     0.2634 -11.851  < 2e-16 ***
## MacrozonahgConcon Oriente          11.0990     3.6585   3.034 0.002419 ** 
## MacrozonahgConcon Poniente         -4.6642     0.9689  -4.814 1.49e-06 ***
## MacrozonahgEl Belloto               2.7578     0.8867   3.110 0.001873 ** 
## MacrozonahgEl Belloto Norte         5.5531     1.1668   4.759 1.95e-06 ***
## MacrozonahgForestal                 6.3637     0.9576   6.645 3.10e-11 ***
## MacrozonahgMarga-Marga             -5.1845     1.2568  -4.125 3.72e-05 ***
## MacrozonahgMiraflores               2.6765     1.0217   2.620 0.008805 ** 
## MacrozonahgPenablanca               7.5849     1.2746   5.951 2.71e-09 ***
## MacrozonahgPlacilla-Curauma         1.7232     0.9587   1.797 0.072286 .  
## MacrozonahgPlan Valparaiso         -6.5619     1.4532  -4.515 6.35e-06 ***
## MacrozonahgPlan Vina               -3.1646     0.9274  -3.412 0.000645 ***
## MacrozonahgPlaya Ancha             -0.5280     0.8806  -0.600 0.548808    
## MacrozonahgQuilpue Norte            1.6004     1.1767   1.360 0.173810    
## MacrozonahgQuilpue Poniente         1.4521     0.8749   1.660 0.096970 .  
## MacrozonahgQuilpue Sur              7.4587     0.9998   7.460 8.96e-14 ***
## MacrozonahgRecreo                  -0.3642     0.8826  -0.413 0.679845    
## MacrozonahgRenaca                  -3.6829     1.1236  -3.278 0.001048 ** 
## MacrozonahgRodelillo                2.5264     0.9317   2.712 0.006699 ** 
## MacrozonahgSanta Julia              3.8857     0.8058   4.822 1.43e-06 ***
## MacrozonahgValparaiso Alto          1.2582     0.8265   1.522 0.127909    
## MacrozonahgVilla Alemana Norte      6.7254     0.9778   6.878 6.25e-12 ***
## MacrozonahgVilla Alemana Poniente   4.6119     0.8161   5.651 1.62e-08 ***
## MacrozonahgVina del Mar Oriente     7.6205     1.0286   7.408 1.33e-13 ***
## educNo tiene                       -8.6633     2.1443  -4.040 5.36e-05 ***
## educPrebásicos                     -8.5155     2.1493  -3.962 7.46e-05 ***
## educPrimarios                      -4.0343     2.0375  -1.980 0.047714 *  
## educProfesional                     4.1468     2.0356   2.037 0.041648 *  
## educSecundarios                     0.7948     2.0272   0.392 0.695017    
## educTécnico Profesional             1.8652     2.0514   0.909 0.363256    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 19 on 20904 degrees of freedom
## Multiple R-squared:  0.06145,    Adjusted R-squared:  0.0601 
## F-statistic: 45.62 on 30 and 20904 DF,  p-value: < 2.2e-16

Dado al modelo creado, existen diferencias de minutos de viajes por sexo, macrozona y educación. Por ejemplo, una mujer que vive en Concón Oriente con una educación primaria tiene un viaje estimado de 32,3114 minutos promedio, en cambio, un hombre con las mismas características se demorará 35.4325 minutos.

Pregunta 6

  1. 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)
Modelo[, prediccion_M1 := predict(regresion)]
Modelo[, error_de_predicción := minviajeprom - prediccion_M1]
MAE1 <- sum(abs(Modelo$error_de_predicción))/nrow(Modelo)
Modelo2[, prediccion_M2 := predict(regresion2)]
Modelo2[, error_de_predicción := minviajeprom - prediccion_M2]
MAE2 <- sum(abs(Modelo2$error_de_predicción))/nrow(Modelo2)
data.table(MAE1, MAE2)
##        MAE1     MAE2
## 1: 14.32717 14.08457

Pregunta 7

  1. 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)

Dado que el error absoluto medio es menor en el modelo propuesto por nosotros en comparación con el de nuestro colega, se puede mencionar que: el modelo número 2 predice mejor los minutos de viajes promedios en la región de Valparaíso

Pregunta 8

  1. 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)
setup <- trainControl(method = "cv", number = 5)
#Modelo 1
predkfolds1<-train(minviajeprom~ sexo + educ ,data=Base,method="lm",trControl= setup)
print(predkfolds1)
## Linear Regression 
## 
## 20935 samples
##     2 predictor
## 
## No pre-processing
## Resampling: Cross-Validated (5 fold) 
## Summary of sample sizes: 16748, 16748, 16748, 16748, 16748 
## Resampling results:
## 
##   RMSE      Rsquared    MAE     
##   19.27158  0.03212455  14.33246
## 
## Tuning parameter 'intercept' was held constant at a value of TRUE
#Modelo 2
predkfolds2 <- train(minviajeprom~ sexo + educ + Macrozonahg,data=Base,method="lm",trControl= setup)
print(predkfolds2)
## Linear Regression 
## 
## 20935 samples
##     3 predictor
## 
## No pre-processing
## Resampling: Cross-Validated (5 fold) 
## Summary of sample sizes: 16747, 16748, 16748, 16748, 16749 
## Resampling results:
## 
##   RMSE      Rsquared    MAE     
##   19.00415  0.05879482  14.10892
## 
## Tuning parameter 'intercept' was held constant at a value of TRUE

Observando los índices arrojados por K-folds, podemos confirmar que el modelo número dos es mejor prediciendo los minutos de viaje promedio, debido a que tanto el RMSE y el MAE son menores, además de que el R^2 es de un mayor porcentaje