Predicción del número de vehículos registrados en el RUNT
1. Introducción
\(\hspace{1 cm}\)
El Registro Único Nacional de Tránsito RUNT, se define como un sistema de información que permite registrar y mantener actualizada, centralizada, autorizada y validada la misma sobre los registros de automotores, conductores, licencias de tránsito, empresas de transporte público, infractores, accidentes de tránsito, seguros, remolques y semirremolques, maquinaría agrícola y de construcción autopropulsada y de personas naturales o jurídicas que prestan servicio al sector(art. 8 y 9 de la Ley 769 de 2002 y la parte pertinente de la Ley 1005 de 2006).
En este trabajo se abordará el problema de crear un modelo para predecir el número de vehículos registrados diariamente en el RUNT. Los datos es una serie temporal del número de vehículos registrados diariamente durante los años 2012 a 2017. Para el análisis y modelamiento se incluyeron algunas variables que consideramos relevantes. En total, trabajaremos con un conjunto de datos que tiene 2192 observaciones y 9 variables.
Los datos y el código que se uso en este trabajo se encuentra el siguiente repositorio GitHub
1.1 Variables
Las variables que se considerarán para el modelo son las siguientes:
\(\hspace{1 cm}\)
- Units: Número de vehículos registrados en el RUNT.
- Date: Fecha Año/Mes/Dia.
- Year: Año.
- Month: Mes.
- Wday: Dia de la semana.
- Mday: Dia en el mes.
- Yday: Dia en el año.
- Holiday: Indica si es festivo o no (1 para dia festivo).
- Colombia: Indica si ese dia la selección colombia jugó un partido oficial de la FIFA (1 si ese dia hubo partido).
\(\hspace{1 cm}\)
Las primeras 7 variables se obtienen a partir de la base de datos suministrada. La variable Holiday se incorporá ya que las instalaciones donde se hacen los trámites de registros del RUNT no laboran en días festivos. La variable Colombia se agregó ya que esperamos que en estos días disminuya el número de registros.
\(\hspace{1 cm}\)
1.2 Encabezado de la base de datos.
\(\hspace{1 cm}\)
| Date | Units | Holiday | Colombia | Year | Month | Wday | Mday | Yday |
|---|---|---|---|---|---|---|---|---|
| 2012-01-01 | 0 | 1 | 0 | 2012 | enero | domingo | 1 | 1 |
| 2012-01-02 | 188 | 0 | 0 | 2012 | enero | lunes | 2 | 2 |
| 2012-01-03 | 482 | 0 | 0 | 2012 | enero | martes | 3 | 3 |
| 2012-01-04 | 927 | 0 | 0 | 2012 | enero | miércoles | 4 | 4 |
| 2012-01-05 | 1159 | 0 | 0 | 2012 | enero | jueves | 5 | 5 |
| 2012-01-06 | 996 | 0 | 0 | 2012 | enero | viernes | 6 | 6 |
2. Analisis descriptivo
Este módulo se presenta con la intención de poder entender los datos, identificar patrones y plantear hipótesis.
\(\hspace{1 cm}\)
2.1 Dia de la semana y año
Registros de vehiculos en el RUNT por día de la semana
\(\hspace{1 cm}\)
Durante los días martes a viernes no se presentan disimilitudes significativas en el número de registros, es evidente que el día sábado el número de registros disminuyen notablemente. Además, la mayoría de los registros del domingo son nulos. La caída de los registros del día lunes en comparación a los otros días de la semana podemos asociarlos a los festivos. Por último, para cada día de la semana se visualizan observaciones atípicas.
\(\hspace{1 cm}\)
2.2 Registros de vehiculos en el RUNT por día y año
\(\hspace{1 cm}\)
Para cada año se observa el mismo comportamiento visto en el item anterior, sin embargo hay una tendencia decreciente en función del año. Las cajas de los primeros años obedecen a un mayor número de registros.
Lo anterior mostrado en una tabla
\(\hspace{1 cm}\)
| Year | lunes | martes | miércoles | jueves | viernes | sábado | domingo |
|---|---|---|---|---|---|---|---|
| 2012 | 845 | 1100 | 1200 | 1299 | 1320 | 370 | 1 |
| 2013 | 800 | 1062 | 1158 | 1236 | 1247 | 328 | 0 |
| 2014 | 848 | 1163 | 1223 | 1288 | 1322 | 365 | 1 |
| 2015 | 736 | 1050 | 1116 | 1145 | 1141 | 329 | 0 |
| 2016 | 656 | 840 | 912 | 952 | 967 | 228 | 0 |
| 2017 | 632 | 786 | 878 | 895 | 886 | 218 | 0 |
\(\hspace{1 cm}\)
Desviación estándar de Registros por año y día de la semana
La siguiente tabla muestra la desviación estándar en el número de registros en función de los días de la semana y los años, se observa que el 2014 es el año con mayor variabilidad.
\(\hspace{1 cm}\)
| Year | lunes | martes | miércoles | jueves | viernes | sábado | domingo |
|---|---|---|---|---|---|---|---|
| 2012 | 405 | 341 | 197 | 288 | 368 | 165 | 13 |
| 2013 | 414 | 267 | 346 | 287 | 290 | 143 | 6 |
| 2014 | 455 | 476 | 345 | 478 | 442 | 209 | 10 |
| 2015 | 430 | 333 | 328 | 307 | 437 | 153 | 7 |
| 2016 | 408 | 326 | 464 | 510 | 347 | 184 | 4 |
| 2017 | 403 | 407 | 373 | 562 | 435 | 158 | 2 |
\(\hspace{1 cm}\)
2.3 Registros durante mes y año
\(\hspace{1 cm}\)
En promedio la frecuencia de los registros de vehículos durante los primerios días del mes es más baja que durante los demás días. En contraste, la frecuencia promedio de los registros crece al final del mes.
El comportamiento para los días durante el año es similar al de los días del mes, es baja al inicio, relativamente constante durante gran parte del año y alta al final.
\(\hspace{1 cm}\)
2.4 Festivos
Como se había previsto anteriormente, el número de registros los días festivos es bajo o nulo. En las siguientes tablas se muestran algunas estadísticas que prueban la hipótesis.
\(\hspace{1 cm}\)
Registros en dias festivos
Registros en días festivos
\(\hspace{1 cm}\)
| Dia | Dia NO Festivo | Dia Festivo |
|---|---|---|
| lunes | 838 | 0 |
| martes | 1022 | 150 |
| miércoles | 1151 | 8 |
| jueves | 1199 | 2 |
| viernes | 1224 | 4 |
| sábado | 342 | 56 |
| domingo | 3 | 0 |
Cuantiles de días Festivos
Cuantiles de días festivos
| Festivo | Cuantil | lunes | martes | miércoles | jueves | viernes | sábado | domingo |
|---|---|---|---|---|---|---|---|---|
| NO | 0 Q | 45 | 116 | 223 | 164 | 117 | 0 | 0 |
| NO | 1 Q | 674 | 794 | 947 | 984 | 974 | 240 | 0 |
| NO | 2 Q | 809 | 994 | 1128 | 1183 | 1202 | 323 | 0 |
| NO | 3 Q | 943 | 1173 | 1276 | 1334 | 1361 | 390 | 1 |
| NO | 4 Q | 2106 | 3437 | 3109 | 3603 | 2920 | 1175 | 69 |
| SI | 0 Q | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| SI | 1 Q | 0 | 0 | 0 | 0 | 0 | 28 | 0 |
| SI | 2 Q | 0 | 2 | 0 | 0 | 0 | 56 | 0 |
| SI | 3 Q | 0 | 4 | 19 | 2 | 0 | 83 | 0 |
| SI | 4 Q | 5 | 893 | 23 | 14 | 28 | 111 | 2 |
3. Modelamiento
Para la predicción de los registros de vehiculos diariamente en el RUNT consideramos 5 modelos:
- Modelo lineal.
- Modelo Poisson.
- Modelo Ridge.
- Modelo Lasso.
Para escoger el mejor modelo usamos como métrica la comparación del \(R^2\) de entreno y validación, es decir, \(Min\{R^2_{train}/R^2_{Validation}\}\). Los datos de entrenamiento son los registros del 01/01/2012 a 31/12/2016, validación los registros del 2017 y de prueba serán los datos del primer semestre del 2018.
3.1 Modelo Lineal
El modelo a ajustar es el siguiente:
\[\text{Units}_t = \beta_0+\beta_1\text{Yday}_t+\beta_2\text{Year}_t+\beta_{3}\text{Month}_{t}+ \beta_{4}\text{Wday}_{4}+\beta_5\text{Mday}_t+\beta_6\text{Holiday}_t+\beta_7\text{Colombia}_t + \epsilon_t\]
Resumen del modelo Lineal
\(\hspace{1 cm}\)
| Estimate | Std. Error | t value | Pr(>|t|) | |
|---|---|---|---|---|
| (Intercept) | 74904 | 7932 | 9.443 | 1.074e-20 |
| Yday | -57.1 | 12.3 | -4.643 | 3.68e-06 |
| Year | -34.29 | 3.899 | -8.795 | 3.267e-18 |
| Monthagosto | 6989 | 1501 | 4.658 | 3.434e-06 |
| Monthdiciembre | 14251 | 3001 | 4.749 | 2.203e-06 |
| Monthenero | -5307 | 1112 | -4.772 | 1.969e-06 |
| Monthfebrero | -3409 | 731 | -4.664 | 3.328e-06 |
| Monthjulio | 5204 | 1119 | 4.649 | 3.581e-06 |
| Monthjunio | 3499 | 750.6 | 4.661 | 3.37e-06 |
| Monthmarzo | -1765 | 382.2 | -4.618 | 4.157e-06 |
| Monthmayo | 1715 | 369.9 | 4.637 | 3.784e-06 |
| Monthnoviembre | 12253 | 2632 | 4.656 | 3.466e-06 |
| Monthoctubre | 10456 | 2251 | 4.646 | 3.631e-06 |
| Monthseptiembre | 8761 | 1882 | 4.656 | 3.465e-06 |
| Wdaymartes | 188.9 | 21.26 | 8.888 | 1.478e-18 |
| Wdaymiércoles | 325.2 | 21.18 | 15.36 | 4.041e-50 |
| Wdayjueves | 356.1 | 21.08 | 16.89 | 1.54e-59 |
| Wdayviernes | 394 | 21.12 | 18.66 | 3.445e-71 |
| Wdaysábado | -495.7 | 21.26 | -23.32 | 2.473e-105 |
| Wdaydomingo | -836.7 | 21.16 | -39.55 | 6.752e-247 |
| Mday | 67.5 | 12.31 | 5.482 | 4.804e-08 |
| Holiday1 | -878 | 26.98 | -32.54 | 3.747e-183 |
| Colombia1 | -70.78 | 36.47 | -1.941 | 0.05245 |
| Observations | Residual Std. Error | \(R^2\) | Adjusted \(R^2\) |
|---|---|---|---|
| 1827 | 235.6 | 0.8201 | 0.8179 |
3.2 Modelo Poisson
El modelo a ajustar es el siguiente:
\[log(\text{Units}_t) = \beta_0+\beta_1\text{Yday}_t+\beta_2\text{Year}_t+\beta_{3,k}\text{Month}_{t,k}+ \beta_{4,k}\text{Wday}_{4,k}+\beta_5\text{Mday}_t+\beta_6\text{Holiday}_t+\beta_7\text{Colombia}_t\]
Resumen del modelo Poisson
\(\hspace{1 cm}\)
| Estimate | Std. Error | z value | Pr(>|z|) | |
|---|---|---|---|---|
| (Intercept) | 103.2 | 1.209 | 85.38 | 0 |
| Yday | -0.07896 | 0.001833 | -43.08 | 0 |
| Year | -0.04446 | 0.000591 | -75.24 | 0 |
| Monthagosto | 9.643 | 0.2237 | 43.11 | 0 |
| Monthdiciembre | 19.59 | 0.4472 | 43.81 | 0 |
| Monthenero | -7.371 | 0.1657 | -44.48 | 0 |
| Monthfebrero | -4.727 | 0.1089 | -43.4 | 0 |
| Monthjulio | 7.168 | 0.1668 | 42.98 | 0 |
| Monthjunio | 4.807 | 0.1119 | 42.95 | 0 |
| Monthmarzo | -2.44 | 0.05693 | -42.87 | 0 |
| Monthmayo | 2.347 | 0.05514 | 42.56 | 0 |
| Monthnoviembre | 16.91 | 0.3923 | 43.11 | 0 |
| Monthoctubre | 14.43 | 0.3354 | 43.03 | 0 |
| Monthseptiembre | 12.1 | 0.2805 | 43.13 | 0 |
| Wdaymartes | 0.2179 | 0.003048 | 71.49 | 0 |
| Wdaymiércoles | 0.344 | 0.002975 | 115.6 | 0 |
| Wdayjueves | 0.3752 | 0.00297 | 126.3 | 0 |
| Wdayviernes | 0.4057 | 0.002955 | 137.3 | 0 |
| Wdaysábado | -0.8501 | 0.004035 | -210.7 | 0 |
| Wdaydomingo | -5.54 | 0.03446 | -160.8 | 0 |
| Mday | 0.0923 | 0.001836 | 50.27 | 0 |
| Holiday1 | -5.738 | 0.06325 | -90.73 | 0 |
(Dispersion parameter for poisson family taken to be 1 )
| Null deviance: | 913454 on 1826 degrees of freedom |
| Residual deviance: | 80938 on 1805 degrees of freedom |
3.3 Modelo ridge
Modelo Ridge
Para la estimación del modelo Ridge se minimiza \(RSS_{Ridge}\) en función de los parámetros \(\beta_j\).
\[RSS_{Ridge}=\sum_{i=1}^n(y_i-f(x_i))^2+\lambda\sum_{i=1}^p\beta_j^2\]
donde:
\[f(x_i) =\beta_0+\beta_1\text{Yday}_t+\beta_2\text{Year}_t+\beta_{3,k}\text{Month}_{t,k}+ \beta_{4,k}\text{Wday}_{4}+\beta_5\text{Mday}_t+\beta_6\text{Holiday}_t+\beta_7\text{Colombia}_t\]
\(\hspace{1 cm}\)
Coeficientes modelo Ridge
\(\hspace{1 cm}\)
| coef | |
|---|---|
| (Intercept) | 77887.43585 |
| Holiday1 | -787.79433 |
| Colombia1 | -36.41953 |
| Year | -38.37032 |
| Monthagosto | -15.88899 |
| Monthdiciembre | 213.27823 |
| Monthenero | -95.82999 |
| Monthfebrero | 6.78560 |
| Monthjulio | -18.52804 |
| Monthjunio | -7.60810 |
| Monthmarzo | 15.97138 |
| Monthmayo | -7.38659 |
| Monthnoviembre | -29.17446 |
| Monthoctubre | -48.14506 |
| Monthseptiembre | -27.16869 |
| Wdaymartes | 187.32823 |
| Wdaymiércoles | 306.03513 |
| Wdayjueves | 342.59913 |
| Wdayviernes | 366.27608 |
| Wdaysábado | -457.38400 |
| Wdaydomingo | -765.61002 |
| Mday | 11.26137 |
| Yday | 0.31983 |
3.4 Modelo Lasso
Para la estimación del modelo Lasso se minimiza \(RSS_{Lasso}\) en función de los parametros \(\beta_j\).
\[RSS_{Lasso}=\sum_{i=1}^n(y_i-f(x_i))^2+\lambda\sum_{i=1}^p|\beta_j|\]
donde:
\[f(x_i) =\beta_0+\beta_1\text{Yday}_t+\beta_2\text{Year}_t+\beta_{3}\text{Month}_{t}+ \beta_{4}\text{Wday}_{4}+\beta_5\text{Mday}_t+\beta_6\text{Holiday}_t+\beta_7\text{Colombia}_t\]
\(\hspace{1 cm}\)
Coeficientes modelo Lasso
\(\hspace{1 cm}\)
| coef | |
|---|---|
| (Intercept) | 67063.32690 |
| Holiday1 | -873.22174 |
| Colombia1 | -55.00429 |
| Year | -32.96314 |
| Monthagosto | 0.00000 |
| Monthdiciembre | 278.23974 |
| Monthenero | -126.59079 |
| Monthfebrero | -3.29997 |
| Monthjulio | 0.00000 |
| Monthjunio | 0.00000 |
| Monthmarzo | 1.90132 |
| Monthmayo | 0.00000 |
| Monthnoviembre | 0.00000 |
| Monthoctubre | -13.11698 |
| Monthseptiembre | 0.00000 |
| Wdaymartes | 173.76322 |
| Wdaymiércoles | 310.48428 |
| Wdayjueves | 340.96039 |
| Wdayviernes | 378.68519 |
| Wdaysábado | -500.67707 |
| Wdaydomingo | -841.43400 |
| Mday | 10.06590 |
| Yday | 0.13864 |
\(\hspace{1 cm}\)
3.5 Residuos y ajuste
Residuales
A continuacón se presentan los residuos de cada uno de los modelos ajustados versus el tiempo. Al final de cada año todos los modelos presentan una mayor dispersión en el error de ajuste. Además, entre los años se observan ciertos picos, esto puede ser a causa de que a final de mes ocurren un mayor número de registros. Aunque los residuos de todos los modelos tienen un comportamiento similar, el modelo Poisson es el que presenta una menor variabilidad.
\(\hspace{1 cm}\)
\(\hspace{1 cm}\)
Registros RUNT vs Predicciones
\(\hspace{1 cm}\)
En general, para registros inferiores a 1500 todos los modelos presentan una sobreestimación, especialmente en el conjunto de validación. Por otro lado para las observaciones atipicas las predicciones generalmente son inferiores a los valores reales.
En general, para registros inferiores a 1500 todos los modelos presentan una sobreestimación, especialmente en el conjunto de validación. Por otro lado, para las observaciones atípicas las predicciones generalmente son inferiores a los valores reales.
Los modelos Lineal, Ridge y Lasso hacen predicciones negativas, las cuales dado el contexto del problema no son posibles.
Por lo anterior, el modelo Poisson es adecuado para la predicción de los registros en el RUNT.
\(\hspace{1 cm}\)
3.6 Metricas
Métricas
Como se esperaba, el modelo Poisson es el que mejor ajuste tiene, con el se obtiene un mayor \(R^2\) tanto en entreno como en validación. Además, tiene el menor cociente \(R^2_{Train}/R^2_{Validation}\).
\(\hspace{1 cm}\)
| Train | Validation | Ratio | |
|---|---|---|---|
| Lineal | 0.82009 | 0.63103 | 1.29961 |
| Poisson | 0.85437 | 0.70942 | 1.20431 |
| Ridge | 0.81791 | 0.64045 | 1.27709 |
| Lasso | 0.81768 | 0.64099 | 1.27565 |
3.7 Mejorando el modelo Poisson
Dado que el Poisson fue el mejor modelo, se agregará una nueva variable con la intención de disminuir la brecha entre el \(R^2\) de entreno y validación.
\(\hspace{1 cm}\)
Variable dummy
Considrando que durante los primeros días del mes los registros en el RUNT son bajos y al final de mes son altos, se crea una función que capture este comportamiento. En este sentido, para la varaible \(**\text{Mday}**\) se le aplicará la siguiente función.
\(\hspace{1 cm}\)
\[f(\text{x})= \left\{ \begin{array}{lcc} -(0.5x-5)^2 & si & x \leq 10 \\ \\ 0 & si & 10 < x < 21\\ \\ (0.5x-10)^2 & si & x \geq 21 \end{array} \right.\]
\(\hspace{1 cm}\)
3.8 Modelo Poisson con la nueva variable
El modelo a ajustar es el siguiente:
\[log(\text{Units}_t) = \beta_0+\beta_1\text{Yday}_t+\beta_2\text{Year}_t+\beta_{3,k}\text{Month}_{t,k}+ \beta_{4,k}\text{Wday}_{4,k}+\beta_5\text{Mday}_t+\beta_6\text{Holiday}_t+\beta_8\text{Dummy}_t\]
Resumen del modelo
\(\hspace{1 cm}\)
| Estimate | Std. Error | z value | Pr(>|z|) | |
|---|---|---|---|---|
| (Intercept) | 103.2 | 1.209 | 85.38 | 0 |
| Yday | -0.07896 | 0.001833 | -43.08 | 0 |
| Year | -0.04446 | 0.000591 | -75.24 | 0 |
| Monthagosto | 9.643 | 0.2237 | 43.11 | 0 |
| Monthdiciembre | 19.59 | 0.4472 | 43.81 | 0 |
| Monthenero | -7.371 | 0.1657 | -44.48 | 0 |
| Monthfebrero | -4.727 | 0.1089 | -43.4 | 0 |
| Monthjulio | 7.168 | 0.1668 | 42.98 | 0 |
| Monthjunio | 4.807 | 0.1119 | 42.95 | 0 |
| Monthmarzo | -2.44 | 0.05693 | -42.87 | 0 |
| Monthmayo | 2.347 | 0.05514 | 42.56 | 0 |
| Monthnoviembre | 16.91 | 0.3923 | 43.11 | 0 |
| Monthoctubre | 14.43 | 0.3354 | 43.03 | 0 |
| Monthseptiembre | 12.1 | 0.2805 | 43.13 | 0 |
| Wdaymartes | 0.2179 | 0.003048 | 71.49 | 0 |
| Wdaymiércoles | 0.344 | 0.002975 | 115.6 | 0 |
| Wdayjueves | 0.3752 | 0.00297 | 126.3 | 0 |
| Wdayviernes | 0.4057 | 0.002955 | 137.3 | 0 |
| Wdaysábado | -0.8501 | 0.004035 | -210.7 | 0 |
| Wdaydomingo | -5.54 | 0.03446 | -160.8 | 0 |
| Mday | 0.0923 | 0.001836 | 50.27 | 0 |
| Holiday1 | -5.738 | 0.06325 | -90.73 | 0 |
(Dispersion parameter for poisson family taken to be 1 )
| Null deviance: | 913454 on 1826 degrees of freedom |
| Residual deviance: | 80938 on 1805 degrees of freedom |
Comparando los dos modelos Poisson
Al ajustar el modelo Poisson con una variable dummy, visualmente se aprecia una reducción en la varianza. Sin embargo, aun el modelo se equivoca el resultado de final de año.
3.9 ECM y R2 para el modelo Poisson
Al agregar la variable dummy al modelo se consigue mejorar el \(R2\) de validación, sim embargo se baja en un \(2\%\) el \(R^2\) de entreno. además, la nueva variable logra disminuir el ratio \(Min\{R^2_{train}/R^2_{Validation}\}\).
| Train | Test | Ratio | |
|---|---|---|---|
| ECM | 42370.613 | 65950.974 | 1.557 |
| R2 | 0.861 | 0.764 | 1.127 |
4 modelo Residuos
Al ser una serie de tiempo, se espera que haya un comportamiento estacional y posible correlación entre los errores. además, se observa que el modelo no es capaz de capturar los finales de año y sospechamos que al final de algunos meses. Inicialmente se propone un modelo autorregresivo (no se encuentra en este trabajo) para los residuos, sin embargo, estos modelos pierden precisión cuando se quiere predecir en un horizonte temporal alto a largo plazo. En este sentido se propone un modelo de bosques aleatorios para modelar los residuos y poder tener una mayor precisión en el conjunto de validación y de prueba. Con esto se quiere modelar la estacionalidad y no la autocorrelación.
4.1 Escogiendo los parametros de randomForest.
Se usará la función randomForest::randomForest(). Esta funcion tiene varios hiper-parámetros , pero en este caso solo ajustaremos tres:
mtrynode_sizesampe_size
| mtry | node_size | sampe_size | OOB_RMSE |
|---|---|---|---|
| 7 | 7 | 1 | 204 |
| 7 | 9 | 1 | 204 |
| 7 | 3 | 1 | 204 |
| 3 | 9 | 1 | 204 |
4.2 Resultados con Random Forest.
Modelando los residuos se puede capturar algunos comportamientos y patrones que no fueron posibles percibir con el modelo Poisson, esto se puede probar con los resultados de la siguiente tabla. Pues el valor del \(R^2\) de validación solo supera en un \(3.3\%\) el de entreno.
| Train | Test | Ratio | |
|---|---|---|---|
| ECM | 42372.598 | 45826.774 | 1.082 |
| R2 | 0.861 | 0.836 | 1.030 |
4.3 Modelo definitivo
El modelo con el cual consideramos que y el cual nos servirá para modelar los vehículos inscritos en el RUNT será:
\[log(\text{Units}_t) = \beta_0+\beta_1\text{Yday}_t+\beta_2\text{Year}_t+\beta_{3,k}\text{Month}_{t,k}+ \beta_{4,k}\text{Wday}_{4,k}+\beta_5\text{Mday}_t+\beta_6\text{Holiday}_t+\beta_8\text{Dummy}_t+\epsilon_t\]
Donde \(\epsilon_t\) se modela con un bosque aleatorio y así corregir algunos patrones de estacionalidad que no logra capturar el modelo de regresión Poisson. además, considerando la naturaleza de los datos y dado que durante días festivos y domingos el número de registros es casi nulo en la mayoría de casos, independiente del valor que predijo esos días los volveremos ceros.
4.4 Predicción.
Para el modelo anterior, se uso como conjunto de entreno los datos del 2012 al 2017 y de prueba el primer semestre del 2018.
A continuación, se presenta la comparación en la distribución de las predicciones. los resultados de estas se pueden consultar el siguiente link.
5 Repositorio y Referencias
5.1 Repositorio
Todo lo el codigo de este trabajo se encuentra en el repositorio de Github, cada una de las carpetas tiene lo siguiente:
- FESTIVOS.xlsx : dataset que contiene los festivos en Colombia para las fechas del 2012-2018.
- data.rds : datos de entreno que se usaron para el modelo.
- data_2018.rds : datos de prueba.
- registros_autos_entrenamiento.xlsx : dataset que contine los registros diarios de vehículos en el RUNT.
- results.csv : partidos de futbol oficiales de la FIFA de selecciones.
- Funciones para el cálculo de ECM, R2 y creación de algunas variables.
- prediccion_12_17.txt : Archivo de texto con las predicciones del 2012 al 2017.
- prediccion_2018.txt : Archivo de texto con las predicciones para el 2018.
- Informe.Rmd : Código de R donde se encuentra el informe del trabajo.
- Informe.html : salida HTML del reporte.
- Preprocesamiento.R : Script de R donde se hace el preprocesamiento de datos, creación de modelos, funciones etc.
5.2 Referencias
- Registro Único Nacional de Tránsito.(2009 - 2021). https://www.runt.com.co/Registros-runt
- Calendario. (2015-2020). https://calendariohispanohablante.com/2012/calendario-colombia-2012.html.
- Datos de Futbol www.futbolred.com/futbol-colombiano/liga-aguila/tablas-historicas-del-futbol-colombiano-62384
- Modelos Predictivos. https://fhernanb.github.io/libro_mod_pred/arb-de-regre.html
- https://rpubs.com/duvan/InscipcionesRUNTTAE