Ejercicio de predicción del tráfico en Bogotá

Autor/a

Paolo E. Valcarcel Pineda

Zona de análisis

Como punto de partida, se toma un lugar en específico o una ruta específica. Para el presente caso se considero la zona llamada “Park Way”, ubicado en el barrio de “La Soledad” en la localidad de “Teusaquillo”. Cabe señalar que, para efectos de este ejemplo solo se toma una vía vehicular que va de sur a norte.

Generación aleatoria de datos

Se generó un dataset aleatorio con un total de 1500 observaciones, el cual contiene las siguientes variables y estructura:

        Day Date CodedDay Zone Weather Temperature Traffic
1    Sunday    2        2  132      19          13       3
2  Thursday    1        1  106       4           7       1
3    Sunday    9        9  104       4          33       1
4    Sunday    5        5   55      41           6       5
5    Monday    3        3   73      15          31       4
6 Wednesday    5        5  141      44          32       1

Seleccionando los datos de prueba y entrenamiento

Una vez creada la base de datos simulada, se procede a seleccionar las particiones de entrenamiento (train) y prueba (test). Cabe señalar que para efectos de este ejemplo, se tomó el 80% para la muestra de entrenamiento.

  Partición Observaciones Porcentaje
1     Train          1202   80.13333
2      Test           298   19.86667

Estimando los modelos predictivos

Para el presente caso, se estiman los modelos XGBoost, Random Forest, KNN (K-Nearest Neighbors) y SVM (Support Vector Regression). Como se aprecia en el gráfico debajo, el modelo con el RMSE mas bajo es el Random Forest, mientras el que presenta el RMSE mas alto es el XGBoost .

Tunning de hiperparámetros

Debido a que el modelo seleccionado fue el Random Forest, a este le aplicamos el tuning de hiperparámetros, el cual es el proceso de encontrar la mejor combinación de valores para los hiperparámetros de un modelo de Machine Learning con el objetivo de mejorar su rendimiento y obteniendo asi un nuevo RMSE.

# A tibble: 1 × 3
   mtry min_n .config              
  <int> <int> <chr>                
1     2    20 Preprocessor1_Model17
# A tibble: 1 × 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rmse    standard        1.02

Comparación final

Una vez terminado el Tunning se proceden a comparar los RMSE del Random Forest inicial y el optimizado, dándonos cuenta que luego del proceso de Tunning el RMSE se redujó tal como se esperaba.

                   Modelo     RMSE
1 Random Forest (Inicial) 1.028334
2  Random Forest (Tuning) 1.018311