Introduccion

Cali, una de las ciudades más importantes de Colombia, es conocida por su activa vida cultural y su papel como centro económico en la región suroccidental del país. Con más de 2 millones de habitantes, la demanda de servicios de taxi es alta y variada, influenciada por eventos culturales, actividades económicas y los patrones de movilidad diaria de las personas.

Analizar y predecir la demanda de servicios de taxi es crucial para planificar y gestionar el transporte urbano de manera efectiva. Poder anticipar los cambios en la demanda permite a las empresas de taxis optimizar sus operaciones, mejorar la disponibilidad del servicio y reducir los tiempos de espera para los usuarios. Además, un análisis preciso ayuda a asignar mejor los recursos, reduciendo costos operativos y mejorando la sostenibilidad del servicio.

Este informe estudia una serie temporal sobre la demanda de servicios de taxi en Cali, usando herramientas estadísticas para realizar un análisis detallado y aplicar modelos ARIMA (Autoregressive Integrated Moving Average) para predecir la demanda futura. Los modelos ARIMA son conocidos por su eficacia en el análisis de series temporales, permitiendo capturar tanto tendencias como patrones estacionales en los datos.

El objetivo principal de este informe es proporcionar predicciones precisas sobre la demanda de servicios de taxi para que la empresa pueda tomar decisiones estratégicas informadas. A través del análisis de datos históricos y la aplicación de modelos ARIMA, se espera identificar patrones significativos

Metodologia

Para realizar el análisis de la demanda de servicios de taxi en Cali, se utilizó una metodología basada en el estudio de series de tiempo y la aplicación de modelos ARIMA. A continuación, se presenta una breve descripción de estos conceptos y su importancia en la predicción de series temporales.

Serie de tiempo

Una serie de tiempo es una secuencia de datos recolectados o registrados en intervalos de tiempo regulares. En este estudio, la serie de tiempo está compuesta por datos recolectados de la demanda de servicios de taxi en Cali entre el 4 de Agosto del 2018 y el 31 de Enero de 2019. El análisis de series de tiempo permite identificar patrones, tendencias y estacionalidades que pueden ser utilizados para hacer predicciones futuras.

Modelo ARIMA

El modelo ARIMA (Autoregressive Integrated Moving Average) es una técnica estadística utilizada para analizar y predecir series temporales. Combina tres componentes principales: autoregresivo (AR), integrado (I) y media móvil (MA). El modelo se denota como ARIMA(p,d,q), donde

  • p es el número de términos autoregresivos,

  • d es el número de diferencias necesarias para hacer la serie estacionaria, y

  • q es el número de términos de media móvil.

Importancia y utilidad de los modelos ARIMA

Los modelos ARIMA son útiles para identificar patrones en series temporales y proporcionar predicciones precisas a corto plazo. Su capacidad para transformar series no estacionarias en estacionarias y su flexibilidad en el manejo de diferentes estructuras de datos los hacen una herramienta valiosa para la planificación operativa.

Descripción de la serie temporal

Descripción de la Serie Temporal

La serie temporal analizada corresponde a los datos históricos de servicios de taxi solicitados en Cali, registrados desde el 4 de agosto de 2018 hasta el 31 de enero de 2019. Este periodo abarca varios meses que incluyen diferentes eventos y patrones de movilidad en la ciudad. Los datos diarios de servicios solicitados reflejan la dinámica de la demanda de taxis en una ciudad con una vida cultural activa y una economía en constante movimiento.

plot(serie$Servicios)

A continuación, se presentan las estadísticas descriptivas de la serie temporal de servicios solicitados:

  • Número de Observaciones: 181 días

  • Media: 3939 servicios solicitados por día

  • Desviación Estándar: 881 servicios

  • Mínimo: 1491 servicios solicitados en un día

  • Máximo: 7317 servicios solicitados en un día

La serie temporal de los servicios solicitados de taxi en Cali presenta patrones importantes que se pueden analizar mediante dos conceptos clave: tendencia y estacionalidad, considerando la influencia de actividades y celebraciones que dinamizan la economía en la ciudad.

Tendencia

La tendencia muestra la dirección general de la serie temporal a lo largo del tiempo. Esto indica si, en promedio, la demanda de servicios de taxi está aumentando, disminuyendo o permaneciendo estable. Para identificar la tendencia en los datos, se analizan los promedios de la demanda en periodos más largos, como mensuales, en lugar de considerar las variaciones diarias. Al observar estos promedios, se puede ver una línea más suave que muestra la tendencia subyacente, eliminando el ruido causado por las fluctuaciones diarias y permitiendo enfocar en el movimiento general de la serie.

En el análisis realizado, se observa que hacia el final del periodo estudiado, la tendencia muestra una ligera disminución en la demanda de servicios de taxi. Esto indica que, en promedio, los servicios solicitados estaban decreciendo hacia finales de enero de 2019.

Estacionalidad

La estacionalidad se refiere a los patrones que se repiten en intervalos regulares dentro de la serie temporal. En el contexto de los servicios de taxi, estos patrones pueden ser diarios, semanales o mensuales. Para analizar la estacionalidad, se consideran los promedios de la demanda en ciclos regulares, como una semana. Por ejemplo, al promediar la demanda de taxi de cada semana, se pueden identificar patrones que se repiten semanalmente, como picos de demanda durante los fines de semana y caídas durante los días laborales. Este análisis muestra las fluctuaciones estacionales que se repiten en la serie.

En el caso estudiado, los datos indican que existen fluctuaciones semanales en la demanda de servicios de taxi, lo cual es común en muchas ciudades debido a variaciones en actividades como trabajo, ocio y eventos especiales.

Influencia de Actividades y Celebraciones

En Cali, varias fechas y celebraciones pueden influir significativamente en la demanda de servicios de taxi. Estas fechas incluyen:

  • 21 de septiembre (Día del Amor y la Amistad): Es una fecha importante en Colombia, similar al Día de San Valentín, donde se celebran encuentros sociales y cenas, lo que podría aumentar la demanda de taxis.

  • 31 de octubre (Halloween): Las celebraciones de Halloween suelen incluir fiestas y eventos nocturnos, generando un incremento en la demanda de taxis para desplazamientos seguros durante la noche.

  • 7 de diciembre (Día de las Velitas): Esta festividad marca el inicio de la temporada navideña en Colombia y suele incluir eventos familiares y comunitarios que incrementan la movilidad.

  • 24 de diciembre (Navidad): La nochebuena es una de las celebraciones más importantes, con reuniones familiares y sociales que aumentan la demanda de transporte.

  • 25 al 30 de diciembre (Feria de Cali): La Feria de Cali es un evento cultural y festivo que atrae tanto a locales como a turistas, generando un notable incremento en la demanda de servicios de taxi.

  • 31 de diciembre (Fin de Año): Las celebraciones de fin de año incluyen fiestas y eventos que también incrementan significativamente la demanda de taxis para desplazamientos nocturnos.

Relación con los Datos y la Gráfica

Al analizar la serie temporal, se observa que en las fechas mencionadas hay incrementos en la demanda de servicios de taxi, lo cual corresponde a las actividades y celebraciones. Por ejemplo, en el gráfico se pueden identificar picos en la demanda alrededor del 21 de septiembre, 31 de octubre, 7 de diciembre, y especialmente entre el 24 y 31 de diciembre, coincidiendo con la Feria de Cali y las celebraciones de Navidad y Año Nuevo.

Temporadas Bajas

Basado en los datos y la gráfica, las temporadas bajas para el gremio de taxis en Cali podrían ser los periodos después de las grandes celebraciones y festividades, donde la demanda tiende a disminuir. Esto incluye:

  • Inicios de noviembre: Después de Halloween.

  • Finales de enero: Después de la Feria de Cali y las celebraciones de Año Nuevo.

  • Meses entre festividades importantes: Periodos sin celebraciones o eventos significativos.

Resultados del modelo ARIMA

• Estacionariedad de la serie temporal.

Antes de aplicar el modelo ARIMA, es crucial verificar la estacionariedad de la serie temporal. Una serie temporal es estacionaria si sus propiedades estadísticas, como la media y la varianza, no cambian con el tiempo. La estacionariedad es una condición necesaria para aplicar el modelo ARIMA de manera efectiva.

ggAcf(train)

Se realiza una grafica AcF en donde se puede analizar el comportamiento de autocorrelacion de la serie temporal

Para el eje x, se define la cantidad de lags o retrasos del modelo, donde cada lag significa una unidad de tiempo, y esto indica cuántos periodos de tiempo se han desplazado los datos para calcular la correlación.

para el eje y, se interpreta como la correlacion entre la serie temporal y sus propios valores lag

Las lineas azules representan los limites de significancia, y estas ayudan a entender cuales picos de la grafica pueden considerarse significativas

Por el comportamiento de la grafica, se puede concluir que la serie temporal muestra autocorrelaciones significativas al inicio de la misma, no obstante, el comportamiento no es constante puesto que decae en funcion de los retrasos como unidad de tiempo, es decir, se convierte menos significativa a partir del desplazamiento de los periodos de tiempo.

adf.test(train)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  train
## Dickey-Fuller = -2.4448, Lag order = 5, p-value = 0.3905
## alternative hypothesis: stationary

A parte del grafico, se realizo la prueba Dickey-Fuller con el fin de corroborar la necesidad de diferenciar o no la serie temporal para modificar su estacionalidad. Esta prueba establece como hipotesis nula (Ho) que la serie temporal no es estacionaria mientras la hipotesis alternativa (H1) propone que la serie temporal es estacionaria.

Al observar los resultados, con un p-value de 0.3905, se puede aceptar la hipotesis nula con un 95% de confianza y establecer que la serie temporal no es estacionaria, lo que confirma la necesidad de diferenciar la serie temporal para alcanzar la estacionariedad.

• Diferenciación de la serie temporal.

Tras realizar la diferenciacion de la serie temporal, se obtuvo la siguiente grafica:

autoplot(miserie)

A partir de esta es posible identificar una diferencia en la tendencia entre la grafica inicial y la diferenciada, donde la tendencia asecendente es menos arraigada, casi nula. Ademas, graficamente se puede ver un comportamiento de la media y la varianza mas constante a lo largo del tiempo, sugiriendo una mayor estacionariedad.

ggAcf(miserie)

Posteriormente, al realizar la grafica AcF se evidencia que el nivel de correlacion en la serie temporal diferenciada es constante, puesto que presenta autocorrelaciones significativas a lo largo de todo el grafico.

adf.test(miserie)
## Warning in adf.test(miserie): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  miserie
## Dickey-Fuller = -10.868, Lag order = 5, p-value = 0.01
## alternative hypothesis: stationary

Finalmente, se realiza nuevamente la prueba Dickey-Fuller para comprobar la estacionariedad de la serie temporal diferenciada, obteniendo un p-value de 0.01 donde se acepta la hipotesis alternativa con un 95% de confianza, afirmando que la serie temporal es estacionaria.

• Selección del orden del modelo ARIMA (p, d, q).

Para la seleccion del modelo ARIMA, inicialmente se recurre a la funcion “auto.arima” en R script, obteniendo la siguiente asignacion para los valores (p, d, q):

auto.arima(train)
## Series: train 
## ARIMA(2,1,1) 
## 
## Coefficients:
##          ar1      ar2      ma1
##       0.1841  -0.1863  -0.7886
## s.e.  0.0926   0.0842   0.0631
## 
## sigma^2 = 550954:  log likelihood = -1379.92
## AIC=2767.83   AICc=2768.07   BIC=2780.42

Sin embargo, previo a realizar la seleccion de este modelo como optimo, se procedio a evaluar las graficas ACF y PACF de la serie temporal diferenciada para estudiar las diferentes asignaciones posibles para el modelo.

grid.arrange(ggAcf(miserie),
             ggPacf(miserie),
             nrow=1
)

Con base en estas graficas,se observa que la grafica AcF sigue un comportamiento sinosoidal, lo cual sugiere que la grafica PACF nos otorgara las posibles asignaciones numericas para p (componente autoregresivo); por consiguiente, la grafica AcF brindara las posibles asignaciones numericas para q (componente de media movil). Por ultimo, d siempre tomara el valor numerico de 1 puesto que se refiere al numero de veces que se diferencio la serie temporal para lograr la estacionariedad.

Con esto previamente mencionado, se obtuvieron las siguientes combinaciones para el modelo ARIMA:

modelo1 <- Arima(train, order = c(0,1,0))
modelo2 <- Arima(train, order = c(1,1,1))
modelo3 <- Arima(train, order = c(1,1,2))
modelo4 <- Arima(train, order = c(1,1,5))
modelo5 <- Arima(train, order = c(2,1,1))
modelo6 <- Arima(train, order = c(2,1,2))
modelo7 <- Arima(train, order = c(2,1,5))
modelo8 <- Arima(train, order = c(3,1,1))
modelo9 <- Arima(train, order = c(3,1,2))
modelo10 <- Arima(train, order = c(3,1,5))
modelo11 <- Arima(train, order = c(4,1,1))
modelo12 <- Arima(train, order = c(4,1,2))
modelo13 <- Arima(train, order = c(4,1,5))
modelo14 <- Arima(train, order = c(5,1,1))
modelo15 <- Arima(train, order = c(5,1,2))
modelo16 <- Arima(train, order = c(5,1,5))

• Depuración de los modelos ARIMA.

Una vez establecidos los posibles modelos, se procede a definir cual de ellos será el modelo elegido para realizar las predicciones deseadas. Para esta labor, se evaluaran los siguientes criterios con el fin de seleccionar el modelo mas preciso para el analisis.

  • Independencia del modelo (Checkresiduals): Este criterio evalua 3 factores: Normalidad, autocorrelacion y varianza constante de los residuos. La hipotesis nula establece que los residuos siguen una distribucion normal, no hay autocorrelacion entre los residuos y que la varianza es constante a lo largo del tiempo (Independiente). Por otra parte, la hipotesis alternativa establece lo contrario a la hipotesis nula (No Independiente). Si el valor p es menor a 0.05, se rechaza la hipotesis nula y se acepta la hipotesis alternativa.

Para los siguientes tres criterios, se tomo la definicion del documento generado por la pagina IBM: “SPSS Statistics”

  • AIC: “El criterio de información de Akaike (AIC) ajusta el logaritmo de verosimilitud restringido -2 por el doble del número de parámetros del modelo.”

  • BIC: “El criterio bayesiano (BIC) de Schwartz tiene una penalización más fuerte que el AIC para modelos sobreparametrizados y ajusta el logaritmo de verosimilitud restringido -2 por el número de parámetros multiplicado por el logaritmo del número de casos. También se conoce como criterio de información bayesiano.”

  • AICc: “El criterio de Hurvich y Tsai (AICC) es una corrección para el AIC cuando el tamaño de la muestra es pequeño. A medida que aumenta el tamaño de la muestra, el AICC converge al AIC.”

Para nuestro estudio, se tomara en cuenta una evaluacion comparativa de los modelos que tomen valores mas pequeños dentro de estos 3 criterios anteriormente definidos.

  • MAE: El Mean Absolute Error o Error Absoluto Medio es una metrica de evaluación de la precisión de un modelo de predicción. Un MAE menor indica una mejor precisión del modelo.
criterios_de_evaluacion
## # A tibble: 16 × 6
##    modelo     AIC  AICc   BIC checkresiduals   MAE
##    <chr>    <dbl> <dbl> <dbl> <chr>          <dbl>
##  1 modelo1  2827. 2827. 2829. NOIND           658.
##  2 modelo2  2770. 2771. 2780. NOIND           574.
##  3 modelo3  2769. 2769. 2782. NOIND           565.
##  4 modelo4  2772. 2773. 2794. NOIND           556.
##  5 modelo5  2768. 2768. 2780. NOIND           561.
##  6 modelo6  2770. 2770. 2786. NOIND           561.
##  7 modelo7  2774. 2775. 2799. NOIND           555.
##  8 modelo8  2770. 2770. 2786. NOIND           561.
##  9 modelo9  2772. 2772. 2791. NOIND           561.
## 10 modelo10 2772. 2773. 2800. NOIND           546.
## 11 modelo11 2770. 2771. 2789. NOIND           551.
## 12 modelo12 2753. 2754. 2775. NOIND           492.
## 13 modelo13 2736. 2737. 2768. NOIND           454.
## 14 modelo16 2743. 2745. 2778. IND             462.
## 15 modelo15 2745. 2746. 2770. IND             480.
## 16 modelo14 2759. 2760. 2782. IND             521.

Teniendo en cuenta todos los criterios, se puede observar que se filtran solo 3 modelos independientes, de los cuales, el que mejor desempeño general muestra para cada uno de los criterios es el modelo 16. Por ende, este fue el seleccionado para realizar las predicciones correspondientes.

• Evaluación del modelo a través del análisis de residuos (checkresiduals).

grid.arrange(ggAcf(miserie),
             ggPacf(miserie),
             nrow=1
)

checkresiduals(modelo16)

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(5,1,5)
## Q* = 2.7874, df = 3, p-value = 0.4256
## 
## Model df: 10.   Total lags used: 13

• Presentación de los pronósticos y su visualización gráfica.

Para realizar las predicciones en la cantidad de servicios que brindarían los taxis se hizo uso del modelo 16 y de la función forecast, en donde se usaron valores de (h = 5) que hace referencia a que realizara las predicciones de los siguientes 5 periodos, siendo en este caso los siguientes 5 dias y (level = 0.95) indica que estos valores van a tener un intervalo de confianza del 95%

modelo16 %>% 
  forecast(h=5,level = 0.95)
##     Point Forecast    Lo 95    Hi 95
## 174       3894.390 2584.282 5204.498
## 175       3679.533 2315.854 5043.212
## 176       3073.256 1696.028 4450.484
## 177       2967.183 1524.524 4409.842
## 178       3381.971 1885.590 4878.353

Los datos que están en la columna “Point Forecast” son los valores puntuales de los pronosticos y las columnas “Lo 95” y “Hi 95” nos indica el rango en el cual se espera que se encuentren los valores reales con un intervalo del 95% de confianza

accion[174:178]
##            Servicios
## 2019-01-24      3811
## 2019-01-25      4285
## 2019-01-26      3270
## 2019-01-27      2598
## 2019-01-28      3646

Mediante la funcion “accion” se toman los valores reales de la serie temporal para las mismas fechas que se pronosticaron

Con estos datos se puede observar que los valores reales se encuentra dentro del rango brindado por el modelo, indicando que es un modelo confiable ya que esta tomando adecuadamente la incertidumbre y las variaciones en los datos, teniendo en cuenta esto se le podria brindar un pronostico adecuado y confiable a la empresa de taxis

Diferencias entre valores reales y pronosticados de cada periodo

Periodo 1: 83

Periodo 2: 606

Periodo 3: 197

Periodo 4: 369

Periodo 5: 265

Analizando estos datos se tiene que el pronostico del periodo 1 es el que presenta menor diferencia, en comparacion de los demas pronosticos realizados, esto se debe a que estos se realizaron con las ultimas 80 observaciones de la serie temporal, por lo tanto el primer periodo puede ser el mas exacto, ya que este tiene una alta dependecias con los valores previos y de ahi en adelante aumentaran las diferencias en los periodos debido a que la dependencia de los valores previos disminuye y esto ocasiona un aumento en la incertidumbre

Tambien se puede analizar que el periodo 2 fue el que mayor diferencia presentó entre el valor pronosticado y el valor real, esto se pudo haber dado por multiples factores, uno de estos pudo haber sido el dia de este periodo el cual fue un viernes, en donde por lo general es uno de los dias en donde mas activa se encuentra la economia en la ciudad ya sea por diferentes eventos como conciertos, salidas a comer, entre otras, ademas se tiene en cuenta que en este dia tambien rige la medida de pico y placa en la cual restringe la movilidad de algunos vehiculos, ocasionado que las personas que se vean afectadas por esto o que no tengan un medio de transporte tomen un servicio de taxi para llegar a estos eventos

modelo16 %>% 
  forecast(h=5) %>%  # (Realizo 5 pronósticos)
  autoplot(include=80) 

En este grafico se puede evidenciar el pronostico generado mediante el modelo Arima (5,1,5) o el modelo16, la linea negra hace referencia a los datos historicos de la serie temporal, que en este caso son los valores reales de los servicios de taxis, ya en el lado derecho se puede ver una linea azul la cual representa los valores puntuales pronosticados, la sombra azul son los valores del intervalo de confianza la cual es del 95% y la siguiente sombra azul clara presenta un intervalo de confianza mas amplio

Conclusiones

  • Se puede concluir que en el periodo de tiempo seleccionado pueden haber dias en los que se presenta una alta demanda en los servicios de taxis y esto se puede ver reflejado en los picos o puntos mas altos de la grafica, esto se pudo dar debido a fechas especiales como lo son el dia del amor y la amistad, halloween, navidad, los dias en donde se presenta la feria de Cali, entre otros, ademas de la caida que se presentó en la demanda de los servicios, esto pudo haber sucedido cuando finalizo el mes de Diciembre ya que por lo general cuando finaliza el año, las personas suelen dejar de salir, ademas de que gran parte de los establecimientos se encuentran cerrados

  • La implementación del modelo ARIMA en el contexto del estudio de la demanda de taxis demostró ser efectiva y correlativa para predecir la cantidad de viajes de taxis desde el 24 de enero del 2019 hasta el 28 de enero del 2019. Mediante la identificación precisa de los parámetros del modelo, se logró un ajuste óptimo a los datos estudiados, capturando tanto las tendencias a largo plazo y la estacionalidad que caracteriza la demanda de taxis

  • Los resultados obtenidos indican que el modelo ARIMA maneja eficazmente las tendencias diarias y estacionales en la demanda, ofreciendo pronósticos con baja variabilidad en los errores residuales. Esto sugiere que el modelo puede predecir con precisión la demanda futura, facilitando por ejemplo, la planificación operativa y la gestión de recursos en el servicio de taxis

Referencias

SPSS statistics subscription - classic. (2023, septiembre 19). Ibm.com. https://www.ibm.com/docs/es/spss-statistics/saas?topic=effect-information-criteria