A Edelmiro, Nicolasa†, Manuel† y Agustina†.
Por amarme tanto en la tierra y cuidarme desde el cielo.
Resumen
Los Sistemas de Bicicletas Públicas, son ampliamente utilizados en muchas ciudades
importantes a nivel mundial, dichos sistemas proporcionan un medio de transporte
económico, versátil y amigable con el medio ambiente, que además trae beneficios a la salud
pública. Como consecuencia de la movilidad de las personas, en muchos períodos del día,
algunas Cicloestaciones del sistema se quedan sin bicicletas o sin espacios para el
estacionamiento, por lo cual los encargados de proveer el servicio deben equilibrar el sistema.
Este trabajo está basado en el aprovechamiento de los resultados previos que abordan el
problema de rebalanceo de sistemas de bicicleta pública, enfocando dichos esfuerzos a la
realidad del sistema de bicicletas públicas de la Ciudad de México llamado ECOBICI. Como
primera tarea se realizó la construcción de una base de datos que contiene la información de
los viajes realizados en ECOBICI desde el mes de febrero de 2010, con una cantidad de más
de cuarenta y cinco millones de viajes realizados hasta la actualidad, datos del clima por hora
en cada colonia de la Ciudad de México, datos del estado de cada Cicloestación con la
información de cuantas bicicletas están disponibles minuto a minuto. Con la información
anterior fue posible plantear una serie de alternativas de solución basada en dos técnicas de
aprendizaje automático para solucionar el problema del cálculo del inventario necesario por
estación; estás técnicas fueron un Modelo Autorregresivo de Medias Múltiples y un Bosque
Aleatorio, en el primer método se aprovecharon los datos históricos de los viajes para
tratarlos como una serie de tiempo; en cuanto al bosque aleatorio, además de contemplar la
información histórica de los viajes, incluyo dentro de su vector de características información
online y offline del clima de la ciudad de México, con la intención de robustecer el modelo,
finalmente el autor de este trabajo planteo un método propio para realizar la estimación de
inventarios necesarios, pero a diferencia de los dos anteriores, que están basados en el
historial de viajes realizados, el nuevo método aprovecha la información histórica del estado
de las Cicloestaciones. Finalmente se plantea un algoritmo de fuerza bruta para el
establecimiento de las rutas de rebalanceo basado en la construcción de un grafo de reorden
que incorpora la información obtenida por la predicción del inventario necesario por estación;
este algoritmo de fuerza bruta pudiera parecer intratable en un sistema con muchos nodos y
aristas, sin embargo también se plantean heurísticas para realizar podas espaciales y
temporales en el grafo de reorden, con la finalidad de realizar podas espaciales y temporales
aprovechando la información a priori con la que se cuenta del sistema, esta información fue
conocida gracias al apoyo del Sistema de Análisis de Movilidad (SAM), desarrollado en el
Centro de Investigación en Computación del IPN por un equipo de estudiantes y profesores
dentro de los cuales se encuentra el autor de este trabajo.
Palabras Clave
Rebalanceo dinámico, Predicción de inventario, Sistemas de Bicicletas Compartidas, ECOBICI
Abstract
Public Bike Sharing Systems(PBS) become more popular recently in many metropolitan
areas worldwide, these systems provide an economic, versatile and environmentally friendly
tansportation, which also brings benefits to public health. Because of the mobility of people,
some stations of the system are left without bicycles, Systems operators must balance the
system and guarantee a certain level of availability. This work is based on the use of previous
results that address the problem of rebalancing PBS, focusing these efforts on the reality of
the public bicycle system of Mexico City called ECOBICI. The first task was the construction
of a database that contains the journey’s information in ECOBICI since February 2010, with
an amount of more than forty-five million trips made to date, weather data per hour in each
suburb in Mexico City, the status of each station including information of how many bicycles
are available minute by minute. With the above information it was possible to propose a set
of solutions based on two machine learning techniques to solve the problem of calculating
the necessary inventory per station; these techniques were an ARIMA model and a Random
Forest, in the first method the historical data of the trips were used to treat them as a time
series; As for the random forest, besides contemplating the historical information of the trips,
A feature vector was build with online and offline information like weather and transit, with
the intention of strengthening the model, finally the author of this work raised an own method
to carry out the estimation of necessary inventories, but unlike the previous two, which are
based on the history of trips, the new method takes advantage of the historical information
of the status of the stations. Finally, a brute force algorithm is proposed for the establishment
of rebalancing routes based on the construction of a reorder graph that incorporates the
information obtained by predicting the necessary inventory per station; this algorithm could
seem intractable in a system with many nodes and edges, however heuristics are proposed to
perform spatial and temporal pruning in the reorder graph, with the purpose of making spatial
and temporal pruning taking advantage of the information a priori with the information about
the system, this information was known thanks to the support of the Mobility Analysis
System (SAM), developed in the Computer Research Center of the IPN by a team of students
and professors, including the author of this work.
Keywords
Rebalancing, Inventory Prediction, Shared Bicycle Systems, ECOBICI.
Agradecimientos
Le agradezco a mis padres Carlos Roberto Esquivel Briceño y Rosa María Briceño Valencia; a mis
hermanos Joseph Adán Esquivel Briceño y Eric Abel Esquivel Briceño, por apoyarme en todo
momento y ser la bendición más grande que la Dios me ha regalado, los amo demasiado.
A mi asesor de tesis el Dr. Adolfo Guzmán Arenas, por su dirección guía y compartir su experiencia
conmigo en todo momento, su visión de aplicar las ciencias y hacerlas útiles es algo de lo que me he
enamorado completamente y que espero hacer toda la vida. Ha sido un verdadero honor llamarme su
estudiante.
A mi codirector de tesis el Dr. Gilberto Lorenzo Martínez Luna, por su acompañamiento y apoyo
incondicional en la elaboración de este trabajo y por entregarse y dedicar tanto tiempo en la formación
de sus estudiantes y en hacer grande al Laboratorio de Ciencia de los Datos y Tecnologías de
Software, le estaré eternamente agradecido.
A Fernando Hernández Martínez, Nanin este trabajo es tan tuyo como mío amigo, te agradezco
profundamente haber sido mi compañero incondicional en tantas noches de desvelo que fueron
necesarias para la elaboración de este trabajo, hemos logrado grandes cosas juntos y estoy seguro de
que vienen mejores, tu amistad es el regalo más preciado que me llevo de este trabajo.
A Ismael Agustín Silva Dzib, gracias por todo amigo, por levantarme cuando estaba caído, por
animarme cuando no podía más, sabes que eres un hermano para mí, gracias por ser parte de este
éxito.
A todos en Ozelot Technologies, por su dedicación y compromiso en levantar y hacer crecer esta gran
empresa mientras realizaba mis estudios de maestría.
Al Centro de Investigación en Computación del Instituto Politécnico Nacional, por haber sido mi casa
durante dos años, por formarme y haber sido el lugar donde conocí a personas grandiosas de las cuales
aprendí y sigo aprendiendo todos los días, es un orgullo haber sido un estudiante del mejor Centro de
Investigación en Ciencias de la Computación en México.
Al Consejo Nacional de Ciencia y Tecnología, por apoyarme con la beca para la realización de
estudios de posgrado con la cual pude subsistir durante parte de mis estudios lejos de casa.
Finalmente, al más importante de todos, a Dios, por regalarme la salud, el entusiasmo, la capacidad
y la perseverancia para realizar mis estudios de maestría y por llenarme de bendiciones todos los días
de mi vida.
Carlos Roberto Esquivel Briceño.
Tabla de contenido Resumen .............................................................................................................................................. 5
Abstract ............................................................................................................................................... 6
Capítulo 1. Introducción. ................................................................................................................... 13
1.1 Objetivo General. .............................................................................................................. 14
1.2 Objetivos Específicos ........................................................................................................ 14
1.3 Planteamiento del problema. ............................................................................................. 14
Capítulo 2. Antecedentes de los Sistemas de Bicicleta Pública y del Sistema ECOBICI. ................ 17
2.1 Los Sistemas de Bicicleta Pública y el Sistema de Transporte Individual ECOBICI. ...... 17
2.2 Infraestructura del Sistema ................................................................................................ 18
2.3 Datos del Sistema .............................................................................................................. 19
2.3.1 Datos abiertos ............................................................................................................ 19
2.3.2 Datos Cerrados .......................................................................................................... 21
2.3.3 Datos Adicionales ..................................................................................................... 22
Capítulo 3 Estado del Arte. ............................................................................................................... 25
Capítulo 4 Marco Teórico. ................................................................................................................ 29
4.1 El análisis de series de tiempo. .......................................................................................... 29
4.1.1 Clasificación descriptiva de las series temporales..................................................... 29
4.1.2 Procesos Estocásticos ................................................................................................ 30
4.1.3 Procesos estocásticos estacionarios ........................................................................... 30
4.1.4 Ruido Blanco ............................................................................................................. 30
4.1.5 Camino aleatorio ....................................................................................................... 30
4.1.6 Autocorrelación ......................................................................................................... 31
4.1.7 Función de autocorrelación (ACF) ............................................................................ 31
4.1.8 Función de Autocorrelación Parcial (PACF) ............................................................ 31
4.1.9 Prueba de Ljung-Box ................................................................................................ 32
4.2 Procesos Lineales Estacionarios ........................................................................................ 32
4.2.1 Procesos Autorregresivos AR(p) ............................................................................... 32
4.2.2 Proceso Autorregresivo de Orden 1: AR(1) .............................................................. 32
4.2.3 Proceso Autorregresivo de Orden 2: AR(2) .............................................................. 34
4.2.5 Condiciones de estacionalidad ......................................................................................... 36
4.2.4 Condiciones de invertibilidad .................................................................................... 40
4.3 Proceso Auto regresivo de Medias Móviles ARMA (p, q)................................................. 41
4.4 Proceso autoregresivo de media móvil de orden (1,1): ARMA(1, 1) ................................. 42
4.5 Proceso Estacional Autorregresivo Integrado y de Media Móvil ARIMA(p,d,q) (P,D,Q)s
46
4.6 Protocolo para la identificación de los modelos ARIMA y ARIMA estacional (según los
pasos de Box-Jenkins) ................................................................................................................... 47
4.7 Arboles de decisión y Conjuntos de Clasificadores .......................................................... 48
4.7.1 Arboles de decisión ................................................................................................... 48
4.7.2 Conjuntos de clasificadores ....................................................................................... 56
Capítulo 5. Rebalanceo del Sistema .................................................................................................. 71
5.1 Modelo de rebalanceo inicial ............................................................................................ 71
5.1.1 Modelando el Sistema para su Reordenamiento. ...................................................... 71
5.1.2 Algoritmo Inicial para el reordenamiento del sistema .............................................. 73
5.1.3 Formulación matemática del problema de Rebalanceo. ............................................ 76
5.1.4 Formulación del conjunto de aristas del grafo. ......................................................... 78
5.2 Obtención del valor de las aristas en el grafo de rebalanceo. ............................................ 81
Capítulo 6. Cálculo del Inventario Requerido por Estación. ............................................................. 84
6.1 Formulación del problema ................................................................................................ 84
6.2 Modelos para la Predicción del Inventario Necesario de una Estación ............................. 85
6.2.1 Predicción con Modelo Auto regresivo de Medias Móviles ..................................... 85
6.2.2 Modelo de Movilidad de un Sistema de Bicicleta Pública. ....................................... 89
6.2.3 Selección de Características ...................................................................................... 98
6.3 Modelo de bosque aleatorio. ........................................................................................... 101
6.4 Modelo de Predicción Basado en el Historial de Uso del Servicio. ................................ 102
Capítulo 7. Resultados. ................................................................................................................... 105
Capítulo 8 Conclusiones y trabajo futuro. ....................................................................................... 115
Aportaciones. .............................................................................................................................. 115
Trabajo futuro .............................................................................................................................. 117
Bibliografía. .................................................................................................................................... 118
ÍNDICE DE ILUSTRACIONES
Ilustración 1Cantidad de Estaciones Sin Bicicleta el 29 de septiembre de 2016 .............................. 15 Ilustración 2 Cantidad de Estaciones Sin Slots el 29 de septiembre de 2016 ................................... 15 Ilustración 3 Mapa de Cicloestaciones del sistema ECOBICI .......................................................... 18 Ilustración 4 Mapa con disponibilidad de las Cicloestaciones .......................................................... 23 Ilustración 5 API de consumo de disponibilidad............................................................................... 23 Ilustración 6 Serie de tiempo de la cantidad de bicicletas disponibles en el SBP de Barcelona (línea
negra) y el número total de espacios (línea roja) en una estación de ejemplo junto a la playa en
Barcelona. Las dos series temporales se agrupan por semanas y se ordenan de abajo hacia arriba según
su secuencia temporal. La fila inferior muestra el promedio de estos patrones semanales para esta
estación. Las áreas grises corresponden a la media ± una desviación estándar. ............................... 26 Ilustración 7 promedio de bicicletas disponibles durante días hábiles (negro) y fines de semana (líneas
azules) para cuatro estaciones de ejemplo con diferentes tipos de ciclos de actividad. La curva roja
representa el número total promedio de slots en la estación. Las áreas grises y azules corresponden a
la media ± una desviación estándar. .................................................................................................. 27 Ilustración 8 ruido blanco con media cero y varianza constante igual a uno ................................... 31 Ilustración 9 proceso estocástico X_t y su autocorrelación simple, y la primera diferencia del proceso
estocástico y su gráfica de autocorrelación. ...................................................................................... 31 Ilustración 10 simulación de un proceso auto regresivo de orden uno esto es X_t=0.4X_(t-1)+ε_t con
sus respectivas graficas de autocorrelación simple y parcial ............................................................ 37 Ilustración 11 proceso de medias móviles de orden uno, esto es X_t=ε_t+0.5ε_(t-1) con sus
respectivas graficas de autocorrelación simple y parcial. ................................................................. 40 Ilustración 12 serie original del IPC y la serie estimada por el modelo ARIMA(1,1,1) ................... 44 Ilustración 13 IPC proyectado a 5 meses, esto es hasta Julio de 2011. ............................................. 45 Ilustración 14 residuales del modelo ARIMA(1,1,1) seleccionado para el IPC y sus respectivas
autocorrelaciones. .............................................................................................................................. 45 Ilustración 15 árbol de decisión ........................................................................................................ 49 Ilustración 16 Comparación entre funciones de impureza ................................................................ 51 Ilustración 17 Poda del sub-árbol Tt1 a T(α1) .................................................................................. 55 Ilustración 18 Errores Ensembles - Clasificadores Base ................................................................... 57 Ilustración 19 Tres razones para la eficiencia de los conjuntos de clasificadores (adaptado de [19] )
........................................................................................................................................................... 61 Ilustración 20 Reordenamiento del sistema, realizado por camiones y camionetas .......................... 71 Ilustración 21 Grafo inicial para el rebalanceo ................................................................................. 72 Ilustración 22 Grafo Re balanceado .................................................................................................. 74 Ilustración 23 Partición temporal ...................................................................................................... 75 Ilustración 24 Estado inicial de la red ............................................................................................... 77 Ilustración 25 Expansión espacio temporal de la red ........................................................................ 78 Ilustración 26 Servicio API Google Maps para web ........................................................................ 82 Ilustración 27 Servicio API de Google maps para dispositivo móvil ............................................... 82 Ilustración 28 Conteo de viajes realizados visualizado desde la Herramienta SAM ........................ 85 Ilustración 29 Conteo de viajes realizados en el año 2016 visualizado desde la Herramienta SAM 85 Ilustración 30 Conteo de Viajes de salida realizados durante un año ............................................... 86 Ilustración 31 Conteo de Viajes de llegada durante un año .............................................................. 86 Ilustración 32 Ejecución del modelo ARIMA realizado en lenguaje R ............................................ 88 Ilustración 33 Resultado de la predicción mediante el modelo ARIMA ........................................... 88
Ilustración 34 Modelo de estimación ................................................................................................ 90 Ilustración 35 Análisis de tráfico entre dos estaciones ...................................................................... 91 Ilustración 36 Función de distribución acumulada de la duración de los viajes en 2016.................. 93 Ilustración 37 Diagrama de dispersión de los viajes, el eje X representa el ID de la CE (de 1 a 452) el
eje Y muestra la cantidad de estaciones en las cuales terminan viajes iniciados desde la cierta CE, el
eje Z representa la cantidad de esos viajes. ....................................................................................... 94 Ilustración 38 Viajes realizados saliendo de la estación 213 ............................................................ 95 Ilustración 39 Mapa de calor de viajes de salida por estación .......................................................... 99 Ilustración 40 Mapa de calor de viajes de salida por estación II ....................................................... 99 Ilustración 41 Mapa de calor de viajes de salida por estación III .................................................. 100 Ilustración 42 Mapa de calor de viajes de salida por estación II IV ............................................... 100 Ilustración 43 Modelo Random Forest para la predicción de la demanda por estación .................. 102 Ilustración 44 a) Información almacenada con el estatus de cada CE en un tiempo t, b) fotografía del
sistema. ............................................................................................................................................ 103 Ilustración 45 Ubicación de CEs 272 y 165 .................................................................................... 103 Ilustración 46 Ubicación de CEs 272 y 165 .................................................................................... 104 Ilustración 47Cantidad de Bicicletas de las Estación 165 ............................................................... 104 Ilustración 48 Cantidad de Bicicletas de la Estación 272 ............................................................... 104 Ilustración 53 Comparación de resultados ilustración 45 ............................................................... 106 Ilustración 60 Comparación de modelos para el experimento 2 ..................................................... 109 Ilustración 66 Comparación de resultados del experimento 3......................................................... 111 Ilustración 72 Comparación de resultados del experimento 4......................................................... 114
ÍNDICE DE TABLAS
Tabla 1 Datos Abiertos de Viajes ...................................................................................................... 20 Tabla 2 Ejemplo de datos de viajes ................................................................................................... 20 Tabla 3 Datos Abiertos de Estaciones ............................................................................................... 21 Tabla 4 Ejemplo de datos de estaciones ............................................................................................ 21 Tabla 5 Datos Cerrados de Usuarios ................................................................................................. 22 Tabla 6 Matriz de distancias entre estaciones ................................................................................... 81 Tabla 7 Conteo historio de viajes segmentados por hora .................................................................. 87 Tabla 8 Notación del modelo propuesto............................................................................................ 89 Tabla 9 Tabla resumen de tiempos en los que se efectúan los viajes ................................................ 93 Tabla 10 % de viajes de entrada y salida para algunas estaciones. ................................................... 95 Tabla 11 Datos reales del sistema en la estación 45 el 22/06/2016................................................. 105 Tabla 12 Resultados de la predicción .............................................................................................. 106 Tabla 13 Evaluación ARIMA1 experimento 1................................................................................ 107 Tabla 14 Evaluación ARIMA 2 experimento 1............................................................................... 107 Tabla 15 Evaluación Random Forest experimento 1 ...................................................................... 107 Tabla 16 Tabla de valores reales para el experimento 3 en la estación 27 el 22/06/2016 ............... 108 Tabla 17 Resultado de las predicciones del experimento 2 ............................................................. 108 Tabla 18 Evaluación ARIMA I experimento 2 ............................................................................... 109 Tabla 19 Evaluación Arista II experimento 2 ................................................................................. 109 Tabla 20 Evaluación Random Forest experimento 2 ...................................................................... 110 Tabla 21 Tabla con valores reales para el experimento 3 ............................................................... 110 Tabla 22 Resultados de las predicciones del experimento 3 ........................................................... 111
Tabla 23 Evaluación ARIMA II experimento 3 .............................................................................. 112 Tabla 24 Evaluación ARIMA II Experimento 4 ............................................................................. 112 Tabla 25 Evaluación Random Forest Experimento 3 ...................................................................... 112 Tabla 26 Valores reales experimento 4 ........................................................................................... 113 Tabla 27 Resultados de predicción del experimento 4 .................................................................... 113 Tabla 28 Evaluación ARIMA I Experimento 4............................................................................... 114 Tabla 29 Evaluación ARIMA II Experimento 4 ............................................................................. 114 Tabla 30 Evaluación Random Forest Experimento 4 ...................................................................... 115
13
Capítulo 1. Introducción.
En los últimos años los Sistemas de Bicicleta Pública han incrementado constantemente su
popularidad; dichos sistemas permiten a los ciudadanos que cuenten con una membresía del
servicio, realizar viajes entre las estaciones con una duración finita, ofreciendo una solución
de movilidad amigable con el medio ambiente, que además sirve como interconexión para
otros medios de transporte como el metro, tren suburbano, metrobus, autobus, etc. A pesar
de los beneficios significativos de los sistemas de Bicicletas Públicas, la operación diaria de
los mismos es una tarea complicada y compleja cuya eficacia y eficiencia impacta
directamente en la satisfacción de los usuarios del servicio. La dinámica de la movilidad de
los ciudadanos a menudo conduce a un desbalance en el sistema que ocasiona la falta de
disponibilidad en las Cicloestaciones, ya sea por falta de bicicletas para iniciar un viaje o por
falta de espacios para terminarlo. Usualmente es tarea de los proveedores del servicio
encontrar las mejores estrategias para que la redistribución de las bicicletas se realice de
manera adecuada, para asegurar cierto porcentaje de disponibilidad en el servicio.
Este trabajo se centra en el problema del rebalanceo de bicicletas y en la implementación de
un modelo computacional que permita su realización automática, con un enfoque particular
en la realidad del Sistema de Bicicletas Públicas de la Ciudad de México llamado ECOBICI.
Existen dos grandes desafíos que implicados en el problema de rebalanceo de estaciones. En
primer lugar se encuentra la determinación de la cantidad de bicicletas que necesita tener
cada Cicloestación(CE); para esto es necesario realizar una predicción de la cantidad de
viajes de salida (cuando un usuario toma una bicicleta para iniciar un viaje), como de llegada
(cuando un usuario deja la bicicleta para así terminar su viaje), en un intervalo de tiempo
específico para cada Cicloestación o grupo de Cicloestaciones; este problema ha sido
estudiado ya de manera previa y existen diversos modelos predictivos que han sido probados
en Sistemas de Bicicleta Pública de grandes ciudades como París, Barcelona y Nueva York,
todos basados en la información histórica existentes de los viajes, añadiendo consideraciones
importantes como lo son el clima, la hora del día o el día de la semana que se quiere predecir,
para esto se realizó la implementación de dos modelos. Primeramente, se utilizará un Modelo
Autorregresivo de Medía Móvil; con diferentes variantes en los parámetros de construcción
del modelo, de igual forma se implementó un modelo predictivo basado en un algoritmo de
Selvas Aleatorias, considerando diferentes variables de selección y comparando los
resultados de los mismos.
En segundo lugar se aborda el problema de redistribución de las bicicletas, el cual es posible
tratar como un problema de enrutamiento de vehículos transportistas con un mismo tipo de
producto de transporte (bicicletas), tomando la carga desde los puntos de baja demanda y
depositándola en los lugares donde son más necesarias las bicicletas, este problema es de más
reciente interés para la comunidad académica; existen diversos trabajos relacionados con el
rebalanceo de bicicletas abordando el problema desde diferentes enfoques y con distintas
consideraciones. Una forma prometedora de mejorar la precisión de la predicción de la
14
demanda de bicicletas es aprovechar una variedad de datos que están directa o indirectamente
relacionados con el servicio público de uso compartido de bicicletas.
1.1 Objetivo General.
Implementar un modelo que permita predecir la demanda de cada Cicloestación de un
Sistema de Bicicleta Pública, en una ventana de tiempo determinada, para establecer la
cantidad de bicicletas necesarias en cierta región geográfica acotada, generando la
información necesaria para alimentar otro modelo que determine un conjunto de rutas de
carga y descarga, para los vehículos encargados de la redistribución de las bicicletas.
1.2 Objetivos Específicos
• Implementar un modelo de predicción del inventario necesario de cada Cicloestación
para cubrir la demanda de viajes de los usuarios.
• Desarrollar un modelo de predicción de demanda basado en los estados del sistema.
• Definir un modelo de rebalanceo de un Sistema de Bicicleta Pública.
• Construir una herramienta web que pueda visualizar los resultados de los procesos de
reordenamiento y predicción de demanda.
• Generar un banco de datos complementario a los datos históricos del sistema
ECOBICI.
1.3 Planteamiento del problema.
La movilidad diaria de personas que usan el Sistema de Bicicletas Públicas de la Ciudad de
México ECOBICI ocasiona el agotamiento de bicicletas o espacios de estacionamiento(slots)
de algunas estaciones durante ciertos momentos del día; impidiendo a los usuarios poder
desplazarse desde o hacia los puntos geográficos de su preferencia; esta cantidad de
estaciones sin disponibilidad es muy variada, llegando a ser en algunos horarios pico hasta
de un 30% del total de CEs actuales (aproximadamente 135), un problema similar se presenta
con los Espacios de estacionamiento. A continuación, se muestran dos gráficas del
comportamiento de la cantidad de CEs sin bicicletas y posteriormente una con la cantidad de
CEs sin espacios durante un período de 24 horas.
15
Ilustración 2 Cantidad de Estaciones Sin Slots el 29 de septiembre de 2016
Como podrá observarse la cantidad de CEs sin bicicletas en prácticamente cualquier horario
del día es muy superior a la cantidad existente de Ces sin estacionamientos disponibles (este
comportamiento es muy similar en cada uno de los días que han sido observados), es por ello
que este trabajo estará centrado en mejorar la disponibilidad del número de Bicicletas en cada
Ilustración 1Cantidad de Estaciones Sin Bicicleta el 29 de septiembre de 2016
16
estación; se espera que mejorando la disponibilidad en las Bicicletas obtengamos un efecto
positivo en la cantidad de Slots disponibles.
17
Capítulo 2. Antecedentes de los Sistemas de Bicicleta Pública y del
Sistema ECOBICI.
2.1 Los Sistemas de Bicicleta Pública y el Sistema de Transporte Individual
ECOBICI.
Los sistemas de bicicletas compartidas ponen a disposición de un grupo de usuarios un
conjunto de bicicletas para que sean utilizadas temporalmente como medio de transporte[1].
Normalmente estos sistemas cuentan con un grupo de estaciones distribuidas a lo largo de la
ciudad y permiten recoger una bicicleta y devolverla en el mismo punto u otro diferente. Se
diferencian de los servicios tradicionales de alquiler de bicicletas, más orientados al ocio o
el turismo, por el hecho de prestar un servicio de movilidad práctico, rápido y pensado para
el uso cotidiano[2], [3].
Hoy en día, más de 712 ciudades ubicadas en 50 países en los 5 continentes tienen sus propios
sistemas de bicicletas públicas y cada año se inauguran más, contabilizando totales superiores
a las 806,200 bicicletas y 37500 estaciones[3], [4]. Los sistemas más grandes se encuentran
en China, en ciudades como Hangzhou y Shanghái. Los exitosos sistemas existentes en
diferentes partes del mundo han ayudado en gran medida a promover el ciclismo como un
sistema de transporte valioso y viable.
Las razones para la implementación de un sistema de bicicletas públicas se vinculan
principalmente en metas de reducción de la congestión vehicular, incremento del ciclismo,
mejoría de la calidad del aire y en ofertar a los residentes una opción de movilidad activa.
Las bicicletas públicas tienen dos ventajas clave cuando se comparan con otros proyectos de
transporte: los costos y tiempos de implementación son comparativamente más bajos, además
el sistema sirve como complemento al transporte público convencional, ya que cuando no
existe parada o estación en el destino final se puede continuar desde la más cercana en
bicicleta[2], [5].
ECOBICI es el sistema de bicicletas públicas compartidas de la Ciudad de México que ha
integrado a la bicicleta como parte esencial de la movilidad, es un modo de transporte dirigido
a los habitantes de la capital mexicana, de lugares vecinos como la población del Estado de
México y a los turistas.
ECOBI I permite a los usuarios registrados tomar una bicicleta de cualquier Cicloestación y
devolverla en la más cercana a su destino en trayectos ilimitados de 45 minutos. Quienes
quieran acceder al Sistema ECOBICI, pueden pagar una suscripción por un año, una semana,
tres días o un día.
ECOBICI inició operaciones en febrero de 2010 con 84 cicloestaciones y 1,200 bicicletas.
En sólo 6 años la demanda ha impulsado la expansión del sistema en un 400%[6].
18
2.2 Infraestructura del Sistema
ECOBICI cuenta con 452 cicloestaciones, más de 6,000 bicicletas y brinda servicio de lunes
a domingo a más de 100,000 usuarios en 43 colonias de tres delegaciones de la Ciudad de
México, dando cobertura en un área de 35Km2.
Ilustración 3 Mapa de Cicloestaciones del sistema ECOBICI
Cada una de las cicloestaciones tiene una capacidad de entre 11 a 38 bicicletas y están
clasificadas en cicloestaciones de tercera y cuarta generación, las cuales se definen de la
siguiente manera:
• Cicloestación de 3ª generación, acceso a tomar y dejar bicicletas.
19
• Cicloestación de 4ª generación, acceso a registro de usuarios temporales, tomar y
dejar bicicletas y reporte de incidencias.
Históricamente el sistema ha tenido 9295 bicicletas, de las cuales alrededor de 6000 son
distribuidas todos los días en cada una de las 452 estaciones; las otras han sido dadas de baja
o se encuentran en servicios de mantenimiento.
Dentro de la infraestructura del sistema también es importante mencionar que se cuenta con
vehículos de diferentes tipos (motocicletas, camiones y camionetas), los cuales sirven para
trasladar a los técnicos de mantenimiento a las cicloestaciones o para redistribuir las
bicicletas de las estaciones llenas a las estaciones vacías, estos últimos son de particular
interés para el desarrollo de esta tesis ya que estos vehículos son actores principales del
proceso de rebalanceo del sistema en el esquema a corto plazo.
2.3 Datos del Sistema
ECOBICI es el único sistema de transporte en la Ciudad de México que cuenta con datos
abiertos, dentro de la información que provee el sistema a través de su sitio web se encuentran
datos de los viajes realizados desde la apertura del servicio en febrero de 2010. Para el trabajo
realizado en esta tesis dichos datos han sido fundamentales y quizá los más importantes, pero
no los únicos, a continuación, se presenta un detalle del banco de datos con los que se contó.
2.3.1 Datos abiertos
Dentro de los datos provistos por el ECOBICI, los cuales que están disponibles para cualquier
persona que desee trabajar con ellos se encuentra la información histórica de los viajes
realizados, estos están presentados de la siguiente forma.
20
2.3.1.1 Los Viajes
A continuación de se presenta la información de disponible de los datos, junto con un ejemplo
de los datos en formato en su formato original (CSV).
Genero Edad Bicicleta
Estación
Retiro Fecha Retiro Hora Retiro
Estación
Arribo Fecha Arribo
Hora
Arribo
M 46 613 15 01/08/2012 00:52.7 10 01/08/2012 00:10:35
M 32 887 3 01/08/2012 00:01:22 29 01/08/2012 00:40:10
M 24 477 27 01/08/2012 01:33.1 85 01/08/2012 00:07:29
M 29 1099 83 01/08/2012 02:07.4 13 01/08/2012 00:25:23
M 35 1219 63 01/08/2012 02:50.3 37 01/08/2012 07:57.9
M 52 76 44 01/08/2012 06:10.8 54 01/08/2012 00:10:46
M 51 142 15 01/08/2012 06:16.1 73 01/08/2012 32:50.5
F 29 618 33 01/08/2012 06:19.9 36 01/08/2012 00:11:44
M 27 267 69 01/08/2012 09:21.4 79 01/08/2012 12:47.1
Tabla 2 Ejemplo de datos de viajes
Como se puede observar en la tabla, existen viajes realizados fuera del horario de servicio de
ECOBICI el cual es de las 5 de la mañana a las 00:30 horas, esto es debido a que en la noche
los vehículos del Sistema redistribuyen las bicicletas para que cada día inicie con una
distribución adecuada de bicicletas.
2.3.1.2 Las Cicloestaciones
Para el desarrollo de este trabajo es fundamental el conocimiento de la capacidad y la
ubicación de cada una de las estaciones de ECOBICI, estos junto con otros datos también
Genero de Usuario
Edad de Usuario
Bicicleta
Cicloestación Retiro
Fecha Retiro
Hora Retiro
Cicloestación Arribo
Fecha Arribo
Hora Arribo
Tabla 1 Datos Abiertos de Viajes
21
están disponibles para todo público, la información disponible de cada estación es la
siguiente.
Tabla 3 Datos Abiertos de Estaciones
id Ubicación Latitud Longitud
Zip
Coda
District
Code
District
Name Altitude
Nearby
Stations
Station
Type slots
251 251 GOETHE-DARWIN 19.429261 -99.17538 11510 2 Anzures S/A 248 249 252 BIKE 18
246 246 LEIBNITZ-THIERS 19.434147 -99.179835 11510 2 Anzures S/A 207 247 248 BIKE 15
247
247 HERSCHEL-
ROUSSEAU 19.432102 -99.180565 11510 2 Anzures S/A 226 239 246 BIKE 30
452
452 LEIBNITZ-AV.
EJERCITO NACIONAL 19.435031 -99.179838 -99 2 Anzures S/A 452 BIKE 16
Tabla 4 Ejemplo de datos de estaciones
Como es visible en la Tabla 4; dentro del set de datos proporcionados de manera abierta existen
errores, como el código postal de la estación 452 la cual tiene un valor de -99, así como este
ejemplo a lo largo de todo el conjunto de datos disponibles para la realización de este trabajo
se encontraron otros errores, como datos faltantes, datos imposibles, errores de ortografía,
etc. Por lo que fue necesario realizar un proceso de limpieza de datos, por motivos de
simplicidad no se detallarán en este documento.
2.3.2 Datos Cerrados
ID
Ubicación
Latitud
Longitud
Código Postal
Código de Distrito (colonia)
Nombre de Distrito
Altitud
Estaciones Cercanas
Tipo de Estación
Número de Slots
22
A partir del uso de los datos abiertos de ECOBICI la gente del Laboratorio de Ciencia de
Datos y Tecnología de Software del Centro de Investigación en Computación del Instituto
Politécnico Nacional desarrolló el sistema SAM (Sistema de Análisis de Movilidad), el cual
permite la visualización de datos relevantes del sistema, SAM fue presentado en la Dirección
de Cultura, Diseño e Infraestructura Ciclista de la Ciudad de México, quienes son usuarios
constantes del sistema y con quien se inició junto con el Instituto de Políticas para el
Transporte y el Desarrollo (ITDP por sus siglas en inglés) el desarrollo de este trabajo; gracias
a esta colaboración se obtuvieron set de datos más extensos como lo es la información de los
usuarios que realizan los viajes (ninguno de los datos proporcionados es catalogado como
sensible).
Además de contar con el identificador del usuario que realiza cada viaje, para cada uno de
dichos usuarios se obtuvo la siguiente información.
Tabla 5 Datos Cerrados de Usuarios
Si bien esta información no fue utilizada directamente en la elaboración de los modelos de
predicción y rebalanceo que representan el tema central de este trabajo, el contar ella permite
la oportunidad de desarrollar trabajos futuros complementarios al presentado en esta tesis.
2.3.3 Datos Adicionales
2.3.3.1 Histórico del Estado del Sistema
Otro conjunto de datos proporcionado por ECOBICI a través de su portal, es la disponibilidad
en tiempo real de cada una de las Cicloestaciones del sistema; es decir la información de
cuantas bicicletas y espacios de estacionamiento disponibles hay en cada momento. La
información es visualizada como se muestra en la Ilustración 4 y obtenida por medo de la API
apreciable en la Ilustración 5
Esta información es valiosa en primera instancia para que los ciclistas puedan conocer las
CEs más cercanas con disponibilidad, pero también es información que permite analizar
desde una perspectiva histórica el comportamiento del Sistema y poder clasificar a las CEs
según su disponibilidad.
ID
Género
Fecha de Nacimiento
Dirección
Fecha de Inscripción
23
Como parte del desarrollo te software correspondiente a este trabajo se desarrolló un
programa demonio que consume la API de disponibilidad para cada una de las CEs minuto
a minuto para posteriormente ingresarlos en la base de datos del proyecto, generando la
cantidad de 650,880 registros todos los días.
Ilustración 5 API de consumo de disponibilidad
Ilustración 4 Mapa con disponibilidad de las Cicloestaciones
24
2.3.3.2 Clima de la Ciudad de México
Las condiciones climatológicas representan un factor importante que afecta la movilidad
general de cualquier población, la Ciudad de México y el Sistema ECOBICI no son la
excepción; el uso de la Bicicleta Pública disminuye de manera notable en días con mucha
humedad, bajas temperaturas o lluviosos; esta información puede ser considerada en los sets
de datos de entrenamiento para los modelos de predicción. Con motivo de tener más
información disponible para alimentar los modelos de predicción de demanda, además del
estado de las Cicloestaciones mencionado en la sección anterior, el clima de cada una de las
colonias de la ciudad de México es almacenado por cada hora dentro de la base de datos del
proyecto.
25
Capítulo 3 Estado del Arte.
El incremento en la popularidad de los Sistemas de Bicicletas Públicas en los últimos años también
ha incrementado el interés de la comunidad científica en estudiar el comportamiento de los mismos
con el fin de entender patrones de movilidad y encontrar áreas de oportunidad en la operación diaria.
Existen diversas investigaciones de movilidad basadas en datos históricos(abiertos) de diferentes
sistemas en todo el mundo, uno de los primeros en ser sometido a técnicas de minería de datos para
el entendimiento de los patrones de movilidad fue el Sistema de Bicicleta Pública de Barcelona, en
[7] se utilizaron diferentes técnicas para inferir los ciclos de actividad del sistema, así como la
distribución espacio-temporal de los desplazamientos. Se encontraron patrones claros de
comportamiento de los usuarios por estación y tipo de día, esto por supuesto es importante, ya que
dichos patrones son inapreciables al momento de construir los modelos de predicción y rebalanceo,
el autor de este trabajo considera que encontrar la información particular de cada Sistema de Bicicleta
Pública es fundamental para la toma de decisiones, inclusive si los procesos no son totalmente
automatizables. La visualización de la variación diaria promedio del SBP de Barcelona, permitió
observar estaciones con comportamiento similar, lo cual es información valiosa para realizar clusters
de estaciones para un rebalanceo más sencillo. En el trabajo se utilizaron técnicas de análisis de series
de tiempo como ARMA y, en particular, la incorporación de información de las estaciones
circundantes permitió tener buenos resultados en las predicciones. En las ilustraciones tomadas de [7]
es posible apreciar un ejemplo de los datos recuperados de series de tiempo de una estación cercana
a la playa, un hospital y algunos edificios de oficinas y universidades. Las líneas negras indican la
cantidad de bicicletas disponibles. También se extrajo la suma de bicicletas y espacios vacíos (línea
roja). Aunque la información es bastante ruidosa con algunas caídas repentinas en el número de
bicicletas, tal vez causadas por los camiones de reemplazo que mueven bicicletas de estaciones
ocupadas a vacías y que son objeto de estudio de este trabajo, el patrón de actividad semanal promedio
que se muestra en la parte inferior de la Ilustración 7 permite promediar a cabo esas fluctuaciones sin
ningún problema.
26
-
Ilustración 6 Serie de tiempo de la cantidad de bicicletas disponibles en el SBP de Barcelona (línea negra) y el número
total de espacios (línea roja) en una estación de ejemplo junto a la playa en Barcelona. Las dos series temporales se
agrupan por semanas y se ordenan de abajo hacia arriba según su secuencia temporal. La fila inferior muestra el promedio
de estos patrones semanales para esta estación. Las áreas grises corresponden a la media ± una desviación estándar.
27
Ilustración 7 promedio de bicicletas disponibles durante días hábiles (negro) y fines de semana (líneas azules) para cuatro
estaciones de ejemplo con diferentes tipos de ciclos de actividad. La curva roja representa el número total promedio de
slots en la estación. Las áreas grises y azules corresponden a la media ± una desviación estándar.
El autor de este trabajo está convencido que cualquier decisión basada en el análisis de datos tiene un
efecto positivo en la redistribución comparado con la toma de decisiones basada únicamente en el
estado del sistema en tiempo real. Es posible utilizar técnicas GRASP (Greedy randomized adaptive
search procedure), como la presentada en [8] en donde se proponen una serie de heurísticas que
mejoran el los resultados de rebalanceo promedio. En ese trabajo se aborda el problema
matemáticamente construyendo un grafo completo Los nodos se clasificaron en tres categorías: nodos
de recolección, nodos de entrega y depósito. Cada nodo de recolección suministra el mismo tipo de
producto, pero el suministro varía de un nodo de recolección a otro. Se asocia una demanda con cada
nodo de entrega y la demanda puede variar entre los nodos de entrega. El depósito no requiere ni
suministra ninguna mercancía, pero el vehículo puede regresar al depósito no vacío. Se utiliza un
único vehículo con capacidad limitada para transportar la carga del vehículo desde algunos nodos de
recogida a todos los nodos de entrega para satisfacer las necesidades de cada nodo de entrega. Cada
nodo de recolección se visita como máximo una vez. Por cada visita a un nodo de recogida, se requiere
cargar todo el suministro en el vehículo y la carga resultante del vehículo no debe exceder la capacidad
del vehículo. Cada nodo de entrega se visita exactamente una vez. Por cada visita a un nodo de
entrega, la carga del vehículo debe ser suficiente para satisfacer la demanda. Hay un costo asociado
con cada viaje entre nodos. El objetivo del trabajo es determinar la ruta de costo mínimo desde y
hacia el depósito para cumplir con los requisitos mencionados, el problema principal que se encuentra
28
en este trabajo es la consideración de un solo vehículo, condición que dista mucho de la realidad de
los SBP en todo el mundo, sin embargo, se tomaron ideas del planteamiento matemático y del
problema de minimización para la realización del trabajo.
En [9] se propone un modelo de predicción jerárquica para estimar el número de bicicletas que serán
rentadas / devueltas en grupos o clusters de estaciones en un intervalo futuro de tiempo, para que la
reasignación pueda ejecutarse con anticipación. Para lograrlo se plantea un algoritmo de clustering
bipartito para agrupar cicloestaciones, formulando una jerarquía de estaciones de dos niveles. El
número total de bicicletas que se rentarán en una ciudad se pronostica mediante un árbol de regresión
(Gradient Boosting Regression Tree, GBRT). Luego, se propone un modelo de inferencia basado en
múltiples similitudes para predecir la proporción de renta entre los grupos y la transición entre los
grupos, en función de la cual se puede inferir fácilmente el número de bicicletas alquiladas en cada
cluster, este trabajo contempla un concepto de agrupamiento de estaciones, el cual tiene muchas
ventajas, como disminuir el tamaño del grafo de reorden y por consiguiente el tiempo de
procesamiento; es importante mencionar que la estrategia implementada por el actual proveedor de
servicios de ECOBICI , implementa una estrategia de clustering para el rebalanceo de estaciones, sin
embargo no se conocen los grupos considerados ni la técnica utilizada para la construcción de los
grupos. Un análisis muy interesante, que incorpora información acerca de las condiciones
sociodemográficas de cada CE, además de un mapa de puntos de interés en una ciudad se puede
encontrar en [10]. A través de un análisis empírico se probaron los supuestos sobre los factores que
influyen en las llegadas y salidas de los usuarios y reequilibrar la recarga y eliminación basada en
modelos mixtos lineales, de igual forma presentan un modelo empírico del rebalanceo del sistema
por parte del operador enfocado en comprender los factores que crean los desequilibrios.
29
Capítulo 4 Marco Teórico.
El problema de la estimación de demanda puede tratarse de diversas formas; existen diversos
algoritmos que permiten obtener estimaciones o pronósticos de valores futuros de una serie temporal
a partir de la información histórica contenida en la serie observada hasta el momento actual. Estas
técnicas pueden no requerir la especificación de los factores que determinan el comportamiento de la
variable, sino que se basan únicamente en la modelización del comportamiento sistemático de la serie.
La información disponible del uso del sistema ECOBICI son adecuados para alimentar un modelo de
series de tiempo. Básicamente una serie de tiempo se le denomina a cualquier variable que conste de
datos reunidos, registrados u observados sobre incrementos sucesivos de tiempo. Por lo tanto, se
concluye que es una secuencia ordenada de observaciones sobre una variable en particular[11].
4.1 El análisis de series de tiempo.
El análisis clásico de las series temporales se basa en la suposición de que los valores que toma la
variable de observación es la consecuencia de tres componentes, cuya actuación conjunta da como
resultado los valores medidos, estos componentes son:
a) Componente tendencia. – es posible definir este componente como un cambio producido en
relación con el nivel de la media a largo plazo. Es identificable con un movimiento suavizado
de la serie en el largo plazo.
b) Componente estacional. – Es también conocido como el componente periódico, ya que es
una característica que presentan varias series (componente armónico), en otras palabras, es
una variación en cierto período temporal (semanal, mensual, anual, etc.). Por ejemplo, si
analizáramos las ventas de una juguetería a lo largo de un año, sería natural esperar un
incremento en los meses de abril y diciembre por el mes del niño y las celebraciones
navideñas.
c) Componente aleatoria. - Este componente no responde a ningún patrón de comportamiento,
es el resultado de factores fortuitos o aleatorios (poco predecibles) que inciden de forma
aislada en una serie de tiempo. En el contexto del sistema de bicicletas públicas, un ejemplo
claro de esto es la realización de marchas o manifestaciones en la Ciudad de México, los
cuales provocan el cierre de calles que afectan las rutas ciclistas y las demandas de ciertas
estaciones.
De estos tres componentes los dos primeros son componentes determinísticos, mientras que la última
es aleatoria. Así se puede denotar la serie de tiempo como:
𝑋𝑡 = 𝑇𝑡 + 𝐸𝑡 + 𝐼𝑡
Donde 𝑇𝑡 es la tendencia, 𝐸𝑡 es la componente estacional e 𝐼𝑡 es la componente aleatoria.
4.1.1 Clasificación descriptiva de las series temporales
Las series temporales se pueden clasificar en:
a) Estacionarias. Una serie es estacionaria cuando es estable a lo largo del tiempo, es decir,
cuando la media y varianza son constantes en el tiempo. Esto se refleja gráficamente en que
los valores de la serie tienden a oscilar alrededor de una media constante y la variabilidad con
respecto a esa media también permanece constante en el tiempo.
30
b) No estacionarias. Son series en las cuales la tendencia y/o variabilidad cambian en el tiempo.
Los cambios en la media determinan una tendencia a crecer o decrecer a largo plazo, por lo
que la serie no oscila alrededor de un valor constante.
4.1.2 Procesos Estocásticos
Desde un punto de vista intuitivo, un proceso estocástico se describe como una secuencia de datos
que evolucionan en el tiempo. Las series temporales se definen como un caso particular de los
procesos estocásticos.
4.1.3 Procesos estocásticos estacionarios
Un proceso estocástico se dice que es estacionario si su media y su varianza son constantes en el
tiempo y si el valor de la covarianza entre dos periodos depende solamente de la distancia o rezago
entre estos dos periodos de tiempo y no del tiempo en el cual se ha calculado la covarianza.
Sea 𝑋𝑡 una serie de tiempo entonces con estas propiedades:
𝑀𝑒𝑑𝑖𝑎 𝐸(𝑋𝑡) = 𝐸(𝑋𝑡+𝑘) = 𝜇
𝑉𝑎𝑟𝑖𝑎𝑛𝑧𝑎 𝑉(𝑋𝑡) = 𝑉(𝑋𝑡+𝑘) = 𝜎2
𝐶𝑜𝑣𝑎𝑟𝑖𝑎𝑛𝑧𝑎 𝛾𝑘 = 𝐸[(𝑋𝑡 − 𝜇)(𝑋𝑡+𝑘 − 𝜇)]
Donde 𝛾𝑘, la covarianza (o autocovarianza) al rezago 𝑘 , es la covarianza entre los valores de 𝑋𝑡 y
𝑋𝑡+𝑘, que están separados 𝑘 periodos.
En resumen, si una serie de tiempo es estacionaria, su media, su varianza y su autocovarianza (en
diferentes rezagos) permanecen iguales sin importar el momento en el cual se midan; es decir, son
invariantes respecto al tiempo.
4.1.4 Ruido Blanco
Un ruido blanco es un caso simple de los procesos estocásticos, donde los valores son independientes
e idénticamente distribuidos a lo largo del tiempo con media cero e igual varianza, se denota por 휀𝑡.
휀𝑡~𝑁(0, 𝜎2) 𝑐𝑜𝑣 (휀𝑡𝑖 , 휀𝑡𝑗) = 0 ∀𝑡𝑖 ≠ 𝑡𝑗
4.1.5 Camino aleatorio
31
Es camino aleatorio o camino al azar es un proceso estocástico 𝑋𝑡, donde la primera diferencia de
este proceso estocástico es un ruido blanco, esto es ∇𝑋𝑡 = 휀𝑡.
4.1.6 Autocorrelación
En ocasiones en una serie de tiempo acontece, que los valores que toma una variable en el tiempo no
son independientes entre sí, sino que un valor determinado depende de los valores anteriores, existen
dos formas de medir esta dependencia de las variables.
4.1.7 Función de autocorrelación (ACF)
La autocorrelación mide la correlación entre dos variables separadas por 𝑘 periodos.
𝜌𝑗 = 𝑐𝑜𝑟𝑟(𝑋𝑗, 𝑋𝑗 − 𝑘) =𝑐𝑜𝑣(𝑋𝑗, 𝑋𝑗−𝑘)
√𝑉(𝑋𝑗)√𝑉(𝑋𝑗−𝑘)
La función de autocorrelación simple tiene las siguientes propiedades:
• 𝜌0 = 1
• −1 ≤ 𝜌𝑗 ≤ 1
• 𝑆𝑖𝑚𝑒𝑡𝑟í𝑎 𝜌𝑗 = 𝜌−𝑗
4.1.8 Función de Autocorrelación Parcial (PACF)
Ilustración 8 ruido blanco con media cero y varianza constante igual a uno
Ilustración 9 proceso estocástico X_t y su autocorrelación simple, y la primera diferencia del proceso estocástico y su
gráfica de autocorrelación.
32
La autocorrelación parcial mide la correlación entre dos variables separadas por 𝑘 periodos cuando
no se considera la dependencia creada por los retardos intermedios existentes entre ambas.
𝜋𝑗 = 𝑐𝑜𝑟𝑟(𝑋𝑗 , 𝑋𝑗−𝑘 𝑋𝑗−1𝑋𝑗−2⁄ …𝑋𝑗−𝑘+1)
𝜋𝑗 =𝑐𝑜𝑣(𝑋𝑗 − �̂�𝑗, 𝑋𝑗−𝑘 − �̂�𝑗−𝑘)
√𝑉(𝑋𝑗 − �̂�𝑗)√𝑉(𝑋𝑗−𝐾 − �̂�𝑗−𝑘)
4.1.9 Prueba de Ljung-Box
Esta prueba permite probar en forma conjunta de que todos los coeficientes de autocorrelación son
simultáneamente iguales a cero, esto es que son independientes, está definida como
𝐿𝐵 = 𝑛(𝑛 + 2)∑(�̂�𝑘2
𝑛 − 𝑘)~𝜒(𝑚)
2
𝑚
𝑘=1
Donde 𝑛 tamaño de la muestra, 𝑚 longitud del rezago.
Ho: Las autocorrelaciones son independientes.
Ha: Las autocorrelaciones no son independientes.
En una aplicación, si el 𝑄 calculada excede el valor 𝑄 crítico de la tabla 𝑗𝑖 cuadrada al nivel de
significancia seleccionado, no se acepta la hipótesis nula de que todos los coeficientes de
autocorrelación son iguales a cero; por lo menos algunos de ellos deben ser diferentes de cero.
4.2 Procesos Lineales Estacionarios
4.2.1 Procesos Autorregresivos AR(p)
4.2.2 Proceso Autorregresivo de Orden 1: AR(1)
En los procesos 𝐴𝑅(1) la variable 𝑋𝑡 está determinada únicamente por el valor pasado, esto es 𝑋𝑡−1.
𝑋𝑡 = ∅𝑋𝑡−1 + 휀𝑡
Donde 휀𝑡 es un proceso de ruido blanco con media 0 y varianza constante 𝜎2, es el parámetro. Recuérdese además que suponemos que el proceso es no anticipante, es decir, el futuro no incluye en
el pasado.
Para verificar que el modelo 𝐴𝑅(1) es estacionario para cualquier valor del parámetro, es necesario
probar las siguientes condiciones.
a) Estacionario en media:
𝐸(𝑋𝑡) = 𝐸(𝑋𝑡 = ∅𝑋𝑡−1 + 휀𝑡) = ∅𝐸(𝑋𝑡−1)
Para que el proceso sea estacionario, la media debe ser constante y finita en el tiempo, esto implica
que:
𝐸(𝑋𝑡) = ∅𝐸(𝑋𝑡) (1 − ∅)𝐸(𝑋𝑡) = 0
33
𝐸(𝑋𝑡) =0
1 − ∅= 0
Por tanto, para que el proceso sea estacionario el parámetro ∅ ≠ 1.
b) Estacionario en covarianza:
Para que un proceso 𝐴𝑅(1) sea estacionario, la varianza tiene que ser constante y finita en el tiempo:
𝛾0 = 𝐸(𝑋𝑡 − 𝐸(𝑋𝑡))2= 𝐸(∅𝑋𝑡−1 + 휀𝑡 − 0)
2 = ∅2𝑉(𝑋𝑡−1) + 𝜎2
Dada la autocorrelación del proceso
𝐸(𝑋𝑡−1휀𝑡) = 𝐸[(𝑋𝑡−1 − 0)(휀𝑡 − 0)] = 𝑐𝑜𝑣(𝑋𝑡−1휀𝑡) = 0
Bajo el supuesto de que el proceso es estacionario,
𝐸(𝑋𝑡−1)2 = 𝑉(𝑋𝑡−1) = 𝑉(𝑋𝑡) = 𝛾0
Por tanto 𝛾0 = ∅𝛾0 + 𝜎2, entonces 𝛾0 =
𝜎2
1−∅2
Para que un proceso sea estacionario, varianza constante y finita, es necesario que |∅| < 1
La función de autocovarianza de orden 𝑘 es:
𝛾𝑘 = 𝐸(𝑋𝑡 − 𝐸(𝑋𝑡))(𝑋𝑡−𝑘 − 𝐸(𝑋𝑡−𝑘)) = 𝐸[(∅𝑋𝑡−1 + 휀𝑡)𝑋𝑡−𝑘]
𝛾𝑘 = ∅𝐸(𝑋𝑡𝑋𝑡−𝑘) + 𝐸(휀𝑡𝑋𝑡−𝑘) = ∅𝛾𝑘−1
Por lo que:
𝛾1 = ∅𝛾0
𝛾2 = ∅𝛾1
𝛾3 = ∅𝛾2
⋮
Se puede concluir, por lo tanto, que el proceso 𝐴𝑅(1) es estacionario si y solo si |∅| < 1.
La función de autocovarianza de un proceso 𝐴𝑅(1) estacionario es:
𝛾𝑘 =
{
𝜎2
1 − ∅2
∅𝛾𝑘−1
𝑘 = 0𝑘 > 0
Los coeficientes de autocorrelación de un proceso estacionario 𝐴𝑅(1) son:
𝜌𝑘 =𝛾𝑘𝛾0=∅𝛾𝑘−1𝛾0
= ∅𝜌𝑘−1
La función de autocorrelación de un proceso 𝐴𝑅(1) estacionario es:
𝜌𝑘 = {1
∅𝜌𝑘−1 𝑘 = 0𝑘 > 0
34
Se puede demostrar fácilmente que la Función de Autocorrelación de un modelo 𝐴𝑅(1) es una
función exponencial.
𝜌1 = ∅𝜌0 = ∅
𝜌2 = ∅𝜌1 = ∅2
𝜌3 = ∅𝜌2 = ∅3
⋮
Por lo que:
𝑝𝑘 = ∅𝑘, donde 𝑘 = 1,2,3,…
Una forma alterna de escribir el modelo 𝐴𝑅(1) es la siguiente:
𝑋𝑡 = ∅𝑋𝑡−1 + 휀𝑡 (1 − ∅𝐿)𝑋𝑡 = 휀𝑡
𝑋𝑡 =1
1 − ∅𝐿휀𝑡
El cociente 1
1−∅𝐿 podemos expresarlo como un polinomio infinito, esto es:
1
1 − ∅𝐿= 1 + ∅𝐿 + ∅2𝐿2 +⋯
Sustituyendo se tiene
𝑋𝑡 =1
1 − ∅𝐿휀𝑡 = (1 + ∅𝐿 + ∅
2𝐿2 +⋯)휀𝑡
𝑋𝑡 = 휀𝑡 + ∅휀𝑡−1 + ∅2휀𝑡−2 + ∅
3휀𝑡−3 +⋯
Por lo que un modelo 𝐴𝑅(1) es una versión restringida de un modelo general de medias móviles.
De los resultados obtenidos podemos señalar como características más relevantes del modelo 𝐴𝑅(1)
como:
• El modelo 𝐴𝑅(1) es siempre invertible.
• El modelo 𝐴𝑅(1) es estacionario siempre que se cumpla |∅| < 1.
La, representación gráfica de la función de autocorrelación, tendrá un comportamiento
amortiguado hacia cero con todos los valores positivos, en caso de que ∅ > 0, o bien
alternando el signo, comenzando con negativo, si ∅ < 0.
• La función de autocorrelación parcial se anula para retardos superiores a uno (el orden del
modelo), coincidiendo, como es norma, este coeficiente de autocorrelación parcial.
4.2.3 Proceso Autorregresivo de Orden 2: AR(2)
En los procesos 𝐴𝑅(2) la variable 𝑋𝑡 está determinado por el valor pasado y el anterior a este.
𝑋𝑡 = ∅1𝑋𝑡−1 + ∅2𝑋𝑡−2 + 휀𝑡
Donde 휀𝑡 es un ruido blanco.
35
Asumiendo estacionalidad las características del proceso son:
a) Media
𝐸[(1 − ∅1𝐿 − ∅2𝐿2)𝑋𝑡] = 𝐸[휀𝑡]
(1 − ∅1𝐿 − ∅2𝐿2)𝐸[𝑋𝑡] = 0
𝐸[𝑋𝑡] =0
1 − ∅1𝐿 − ∅2𝐿2
𝐸[𝑋𝑡] = 0
b) Función de autocovarianza
𝛾0 = 𝐸(𝑋𝑡 − 𝐸[𝑋𝑡])2 = 𝐸(𝑋𝑡)
2 = 𝐸(∅1𝑋𝑡−1 + ∅2𝑋𝑡−2 + 휀𝑡)2
𝛾0 = ∅12𝛾0 + ∅2
2𝛾0 + 𝜎2 + 2∅1∅2𝛾1
(1 − ∅12 − ∅2
2)𝛾0 = 𝜎2 + 2∅1∅2𝛾1
𝛾0 = 𝛿2 +
2∅1∅2γ1
1 − ∅12 − ∅2
2
𝛾1 = 𝐸(𝑋𝑡 − 𝐸[𝑋𝑡])(𝑋𝑡−1 − 𝐸[𝑋𝑡−1]) = 𝐸(𝑋𝑡𝑋𝑡−1)
𝛾1 = 𝐸[(∅1𝑋𝑡−1 + ∅2𝑋𝑡−2 + 휀𝑡)𝑋𝑡−1]
𝛾1 = ∅1𝐸(𝑋𝑡−1)2 + ∅2𝐸(𝑋𝑡−2𝑋𝑡−1) + 𝐸(휀𝑡𝑋𝑡−1)
𝛾1 = ∅1𝛾0 + ∅2𝛾1
𝛾1 =∅1𝛾01 − ∅2
𝛾0 Y 𝛾1 proporcionan las dos primeras autocovarianzas en función de los parámetros ∅1 y ∅2 y de la
varianza del ruido blanco 𝜎2.
Las autocovarianzas de orden k, para todo k> 1 son:
𝛾𝑘 = 𝐸(𝑋𝑡 − 𝐸(𝑋𝑡))(𝑋𝑡−𝑘 − 𝐸(𝑋𝑡−𝑘)) = 𝐸(𝑋𝑡𝑋𝑡−𝑘)
𝛾𝑘 = 𝐸((∅1𝑋𝑡−1 + ∅2𝑋𝑡−2휀𝑡)𝑋𝑡−𝑘
𝛾𝑘 = ∅1𝛾𝑘−1 + ∅2𝛾𝑘−2
La función de autocovarianza de un modelo AR (2) es:
𝛾𝑘 = {
𝛾0, 𝑘 = 0𝛾1, 𝑘 = 1
𝛾𝑘 = ∅1𝛾𝑘−1 + ∅2𝛾𝑘−2, 𝑘 > 1
c) Coeficiente de autocorrelación
𝜌𝑘 =𝛾𝑘𝛾0= ∅1𝛾𝑘−1 +
∅1𝛾𝑘−1 + ∅2𝛾𝑘−2𝛾0
= ∅1𝜌𝑘−1 + ∅2𝜌𝑘−2 𝑝𝑎𝑟𝑎 𝑘 = 1,2,3,…
36
Una forma general de escribir los coeficientes de autocorrelación es:
𝜌𝑘 = {1, 𝑘 = 0𝜌𝑘 = ∅1𝜌𝑘−1 + ∅2𝜌𝑘−2, 𝑘 > 0
4.2.5 Condiciones de estacionalidad
Modelo AR (1): 𝑋𝑡 = ∅𝑋𝑡−1 + 휀𝑡 , 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 (1 − ∅𝐿)𝑋𝑡 = 휀𝑡
Polinomio auto regresivo: ∅1(𝐿) = 1 − ∅𝐿, 𝐿𝑎𝑠 𝑟𝑎𝑖𝑐𝑒𝑠 𝑑𝑒 1 − ∅𝐿 = 0 son:
𝐿 =1
∅
La condición de estacionalidad del modelo AR (1) es:
|𝐿| = |1
∅| > 0, 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 |∅| < 1
Modelo AR (2): 𝑋𝑡 = ∅1𝑋𝑡−1 + ∅2𝑋𝑡−2 + 휀𝑡 , 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 (1 − ∅1𝐿 − ∅2𝐿2)𝑋𝑡 = 휀𝑡
Polinomio auto regresivo ∅2(𝐿) = 1 − ∅1𝐿 − ∅2𝐿2, 𝑙𝑎𝑠 𝑟𝑎𝑖𝑐𝑒𝑠 𝑑𝑒 1 − ∅1𝐿 − ∅2𝐿
2 = 0 𝑠𝑜𝑛:
𝐿1, 𝐿2 =∅1 ± √∅1
2 + 4∅2−2∅2
La condición de estacionalidad del modelo AR (2) es:
|𝐿1| =∅1 +√∅1
2 + 4∅2−2∅2
|> 1 y |𝐿2| =∅1 −√∅1
2 + 4∅2−2∅2
| > 1
- Si el radicando (∅12 + 4∅2) > 0, las raices son reales.
- Si el radicando (∅12 + 4∅2) < 0, las raices son complejas.
37
Ilustración 10 simulación de un proceso auto regresivo de orden uno esto es X_t=0.4X_(t-1)+ε_t con sus respectivas
graficas de autocorrelación simple y parcial
Proceso de Medias Móviles MA (q)
Modelo “determinados por una fuente externa”. Estos modelos suponen linealidad, el valor actual de
la serie, 𝑋𝑡 , está influenciado por los valores de la fuente externa.
El modelo de promedio móviles de orden q está dado por:
𝑋𝑡 = 𝜃0 − 𝜃1휀𝑡−1 − 𝜃2휀𝑡−2 −⋯− 𝜃𝑞휀𝑡−𝑞 − 휀2…(2)
Expresado en términos del polinomio operador de retardos se tiene:
𝑋𝑡 = (1 − 𝜃1𝐿 − 𝜃2𝐿2 −⋯− 𝜃𝑞𝐿
𝑞)휀𝑡
𝑋𝑡 = 𝜃𝑞(𝐿)휀𝑡
Donde 휀𝑡 es un proceso de ruido blanco, y 𝜇, 𝜃1, 𝜃2, … , 𝜃𝑞 son los parámetros del modelo.
Proceso de Media Móvil de orden 1: MA (1)
Los modelos de medias móviles determinan el valor de 𝑋𝑡 en función de la innovación actual y su
primer retardo, esto es:
𝑋𝑡 = 휀𝑡 − 𝜃휀𝑡−1
Expresado en función del polinomio operador de retardos es:
𝑋𝑡 = (1 − 𝜃)휀𝑡
𝑋𝑡 = 𝜃1(𝐿)휀𝑡
38
Donde 휀𝑡 es un proceso de ruido blanco y 𝜃 es el parámetro.
a) Estacionario en media
𝐸(𝑋𝑡) = 𝐸(휀𝑡 − 𝜃휀𝑡−1)
𝐸(𝑋𝑡) = 𝐸(휀𝑡) − 𝜃𝐸(휀𝑡−1)
𝐸(𝑋𝑡) = 0
Es estacionario en media para todo valor del parámetro
b) Estacionario de covarianza
𝛾0 = 𝐸(𝑋𝑡 − 𝐸(𝑋𝑡))2= 𝐸(𝑋𝑡)
2 = 𝐸(휀𝑡 − 𝜃휀𝑡−1)2
𝛾0𝐸(휀𝑡)2 + 𝜃2(휀𝑡−1)
2 − 2𝜃𝐸(휀𝑡휀𝑡−1) = 𝜎2 + 𝜃2𝜎2 − 0
𝛾0 = (1 + 𝜃2)𝜎2 < ∞
La autocovarianza para 𝛾1 Y γ2 es:
𝛾1 = 𝐸(𝑋𝑡 − 𝐸(𝑋𝑡))(𝑋𝑡−1 − 𝐸(𝑋𝑡−1)) = 𝐸(휀𝑡 − 𝜃휀𝑡−1)(휀𝑡−1 − 𝜃휀𝑡−2)
𝛾1 = 𝐸(휀𝑡휀𝑡−1) − 𝜃𝐸(휀𝑡−1)2 − 𝜃𝐸(휀𝑡휀𝑡−2) + 𝜃
2𝐸(휀𝑡−1휀𝑡−2) = −𝜃𝜎2 < ∞
𝛾2 = 𝐸(𝑋𝑡 − 𝐸(𝑋𝑡))(𝑋𝑡−2 − 𝐸(𝑋𝑡−2)) = 𝐸(휀𝑡 − 𝜃휀𝑡−1)(휀𝑡−2 − 𝜃휀𝑡−3)
𝛾2𝐸(휀𝑡휀𝑡−2) − 𝜃𝐸(휀𝑡−1휀𝑡−2) − 𝜃𝐸(휀𝑡휀𝑡−3) + 𝜃2𝐸(휀𝑡−1휀𝑡−3) = 0
Una forma general de la función de autocovarianza es:
𝛾2 = {
𝛾0 = (1 + 𝜃2)𝜎2, 𝑘 = 0
𝛾1 = −𝜃𝜎2, 𝑘 = 1
𝛾2 = 0, 𝑘 > 1
La función de autocovarianza es finita y depende sólo de k mas no del tiempo, esto para cualquier
valor del parámetro 𝜃. Esto implica que no es necesario poner restricciones al parámetro 𝜃 para que
el MA (1) sea estacionario.
La función de autocorrelación de un proceso MA (1) es:
𝜌𝑘 = {
1, 𝑘 = 0
−𝜃
1 + 𝜃2, 𝑘 = 1
0, 𝑘 > 1
Proceso de media móvil de orden 2: MA (2)
Consideremos el modelo de medias móviles de orden 2:
𝑋𝑡 = 휀𝑡 − 𝜃1휀𝑡−1 − 𝜃2휀𝑡−2
Donde los parámetros son 𝜃1 y 𝜃2, además de 휀𝑡 es un proceso de ruido blanco. Este proceso es
estacionario para cualquier valor de 𝜃1 y 𝜃2.
39
Las características más importantes son:
a) Estacionario en media
𝐸(𝑋𝑡) = 𝐸(휀𝑡 − 𝜃1휀𝑡−1 − 𝜃2휀𝑡−2) = 0
b) Función de autocovarianza 𝜸𝒌, 𝒌 = 𝟎, 𝟏, 𝟐, 𝟑, …
𝛾0 = 𝐸(𝑋𝑡 − 𝐸(𝑋𝑡))2= 𝐸(𝑋𝑡)
2
𝛾0 = 𝐸(휀𝑡 − 𝜃1휀𝑡−1 − 𝜃2휀𝑡−2)2
𝛾0 = (1 + 𝜃12 + 𝜃2
2)𝜎2
𝛾1 = 𝐸[(𝑋𝑡 − 𝐸(𝑋𝑡))(𝑋𝑡−1 − 𝐸(𝑋𝑡))] = 𝐸(𝑋𝑡𝑋𝑡−1)
𝛾1 = 𝐸[(휀𝑡 − 𝜃1휀𝑡−1 − 𝜃2휀𝑡−2)(휀𝑡−1 − 𝜃1휀𝑡−2 − 𝜃2휀𝑡−3)]
𝛾1 = (−𝜃1 + 𝜃1𝜃2)𝜎2
𝛾2 = 𝐸[(𝑋𝑡 − 𝐸(𝑋𝑡))(𝑋𝑡−2 − 𝐸(𝑋𝑡))] = 𝐸(𝑋1𝑋𝑡−2)
𝛾2 = 𝐸[(휀𝑡 − 𝜃1휀𝑡−1 − 𝜃2휀𝑡−2)(휀𝑡−2 − 𝜃1휀𝑡−3 − 𝜃2휀𝑡−4)]
𝛾2 = −𝜃2𝜎2
𝛾3 = 𝐸[(𝑋𝑡 − 𝐸(𝑋𝑡))(𝑋𝑡−3 − 𝐸(𝑋𝑡))] = 𝐸(𝑋𝑡𝑋𝑡−3)
𝛾3 = 𝐸[(휀𝑡 − 𝜃1휀𝑡−1 − 𝜃2휀𝑡−2)(휀𝑡−3 − 𝜃1휀𝑡−4 − 𝜃2휀𝑡−5)]
𝛾3 = 0
En resumen, las autocovarianzas de un MA (2) son:
𝛾𝑘 =
{
𝛾0 = (1 + 𝜃1
2 + 𝜃22)𝜎2, 𝑘 = 0
𝛾1 = (−𝜃1 + 𝜃1𝜃2)𝜎2, 𝑘 = 1
𝛾2 = −𝜃2𝜎2, 𝑘 = 2
𝛾3 = 0, 𝑘 > 2
Las funciones de autocorrelación están dadas por:
𝑓(𝑥) =
{
𝜌1 =
−𝜃1 + 𝜃1𝜃2
1 + 𝜃12 + 𝜃2
2 , 𝑘 = 1
𝜌2 =−𝜃2
1 + 𝜃12 + 𝜃2
2 , 𝑘 = 2
𝜌3 = 0, 𝑘 > 2
40
4.2.4 Condiciones de invertibilidad
Modelo MA (1): 𝑋𝑡 = 휀𝑡 − 𝜃휀𝑡−1, entonces 𝑋𝑡 = (1 − 𝜃𝐿)휀𝑡.
El polinomio de medias móviles está dado por 𝜃1(𝐿) = 1 − 𝜃𝐿, para encontrar las raíces del
polinomio se tiene que resolver la ecuación 1 − 𝜃𝐿 = 0, entonces 𝐿 =1
𝜃.
La condición de invertibilidad para un modelo MA (1) está dado por: |𝐿| = |1
𝜃| > 1, esto es |θ| < 1.
Modelo MA (2): 𝑋𝑡 = 휀𝑡 − 𝜃1휀𝑡−1 − 𝜃2휀𝑡−2, entonces Xt = (1 − 𝜃1𝐿 − 𝜃2𝐿2)휀𝑡.
El polinomio de medias móviles está dado por 𝜃2(𝐿) = 1 − 𝜃1𝐿 − 𝜃1𝐿2, para encontrar las raíces del
polinomio se tiene que resolver la ecuación 1 − 𝜃1𝐿 − 𝜃1𝐿2 = 0, las raíces son:
𝐿1, 𝐿2 =𝜃1 ± √𝜃1
2 + 4𝜃2−2𝜃2
Las condiciones de invertibilidad para el modelo MA (2) están dados por:
|𝐿1 |= |𝜃1 + √𝜃1
2 + 4𝜃2−2𝜃2
| > 1 𝑦 |𝐿2| = |𝜃1 − √𝜃1
2 + 4𝜃2−2𝜃2
| > 1
Ilustración 11 proceso de medias móviles de orden uno, esto es X_t=ε_t+0.5ε_(t-1) con sus respectivas graficas de
autocorrelación simple y parcial.
Los procesos de medias móviles se suelen denominar procesos de memoria corta, mientras que a los
autoregresivos se les denomina procesos de memoria larga.
41
4.3 Proceso Auto regresivo de Medias Móviles ARMA (p, q)
Es muy probable que una serie de tiempo,𝑋𝑡 , tenga características de AR y de MA a la vez y, por
consiguiente, sea ARMA. Así, 𝑋𝑡 sigue un proceso 𝐴𝑅𝑀𝐴(𝑝, 𝑞), en este proceso habrá términos
autoregresivos y términos de media móvil.
𝑋𝑡 = 𝑐 + ∅1𝑋𝑡−1 +⋯+ ∅𝑝𝑋𝑡−𝑝⏟ 𝑨𝑹(𝒑)
+ 𝜃1휀𝑡−1 + 𝜃2휀𝑡−2 +⋯+ 𝜃𝑞휀𝑡−𝑞 + 휀𝑡⏟ 𝑴𝑨(𝒒)
Donde 휀𝑡 es un proceso de ruido blanco, y 𝑐, ∅1, … , ∅𝑝, ∅1, … , ∅𝑞 son los parámetros del modelo.
Para un proceso ARMA (p, q) una condición de estacionalidad es la misma que para un proceso AR
(p), del mismo modo una condición de invertibilidad es la misma que para el proceso MA (q). El
modelo se ARMA (p, q) se puede escribir en términos del operador de retardos como sigue:
(1 − ∅1𝐿 − ∅2𝐿2 −⋯− ∅𝑝𝐿
𝑝)𝑋𝑡 = (1 − 𝜃1𝐿 − 𝜃2𝐿2 −⋯− 𝜃𝑞𝐿
𝑞)휀𝑡
∅𝑝(𝐿)𝑋𝑡 = 𝜃𝑞(𝐿)휀𝑡
Donde
∅𝑝(𝐿): es el polinomio autoregresivo.
𝜃𝑞(𝐿): es el polinomio de medias móviles.
Si el proceso es estacionario su representación 𝑀𝐴(∞) es
𝑋𝑡 =𝜃𝑞(𝐿)
∅𝑝(𝐿)휀𝑡 , entonces 𝑋𝑡 = 휀𝑡 + 𝜑1휀𝑡−2 + 𝜑3휀𝑡−3 +⋯
Si el proceso es invertible una representación 𝐴𝑅(∞) es
∅𝑝(𝐿)
𝜃𝑞(𝐿)𝑋𝑡 = 휀𝑡 , entonces 𝑋𝑡 = 휀𝑡 + 𝜋1𝑌𝑡−1 + 𝜋2𝑌𝑡−2 + 𝜋3𝑌𝑡−3 +⋯
Los pesos de la representación 𝑀𝐴(∞), como de la forma 𝐴𝑅(∞), están restringidos a depender del
vector finito de parámetros del modelo 𝐴𝑅𝑀𝐴(𝑝, 𝑞): ∅1, … , ∅𝑝, 𝜃1, … , 𝜃𝑞.
• Un proceso autoregresivo de medias móviles 𝐴𝑅𝑀𝐴(𝑝, 𝑞) es estacionario sí y solo sí el
módulo de las raíces del polinomio autoregresivo ∅𝑝(𝐿) está fuera del círculo unitario.
Las condiciones de estacionalidad del modelo 𝐴𝑅𝑀𝐴(𝑝, 𝑞) vienen impuestas por la parte
autoregresiva, dado que la parte de medias móviles finita siempre es estacionaria.
• Un proceso autoregresivo de medias móviles 𝐴𝑅𝑀𝐴(𝑝, 𝑞) es invertible sí y solo sí el módulo
de las raíces del polinomio de medias móviles 𝜃𝑝(𝐿) está fuera del circulo unitario.
Las condiciones de invertibilidad del modelo 𝐴𝑅𝑀𝐴(𝑝, 𝑞) vienen impuestas por la parte de medias
móviles, dado que la parte autoregresiva es siempre invertible, porque siempre está directamente
escrita en forma autoregresiva.
42
Los modelos 𝐴𝑅𝑀𝐴(𝑝, 𝑞) siempre va a compartir las características de los modelos 𝐴𝑅(𝑝) y 𝑀𝐴(𝑞)
, esto es porque contiene a ambas estructuras a la vez. El modelo 𝐴𝑅𝑀𝐴(𝑝, 𝑞) tiene media cero,
varianza constante y finita y una función de autocorrelación infinita. La función de autocorrelación
es infinita decreciendo rápidamente hacia cero.
4.4 Proceso autoregresivo de media móvil de orden (1,1): ARMA(1, 1)
Consideremos el modelo 𝐴𝑅𝑀𝐴(1,1), donde 𝑋𝑡 se determina en función de su pasado hasta el primer
retardo, la innovación contemporánea y el pasado de la innovación hasta el retardo 1.
𝑋𝑡 = ∅𝑋𝑡−1 + 휀𝑡 − 𝜃휀𝑡−1
Donde 휀𝑡 sigue un proceso de ruido blanco, ∅ y 𝜃 son los parámetros del modelo.
Para comprobar la estacionalidad del modelo se calculan las raíces del polinomio autoregresico:
1 − ∅𝐿 = 0, entonces |𝐿| = |1
∅| esto es |∅| < 1
Para comprobar la condición de invertibilidad del modelo se calculan las raíces del polinomio de
media móviles:
1 − 𝜃𝐿 = 0, entonces |𝐿| = |1
𝜃| esto es |𝜃| < 1
Características de un proceso 𝐴𝑅𝑀𝐴(1,1) estacionario
a) Media
𝐸(𝑋𝑡) = 𝐸(∅𝑋𝑡−1 + 휀𝑡 − 𝜃휀𝑡−1) = ∅𝐸(𝑋𝑡−1)
𝐸(𝑋𝑡) = 0
b) Función de autocovarianzas
𝛾0 = 𝐸(𝑋𝑡 − 𝐸(𝑋𝑡))2= 𝐸(𝑋𝑡)
2
𝛾0 = 𝐸(∅𝑋𝑡−1 + 휀𝑡 − 𝜃휀𝑡−1)2
𝛾0 =(1 + 𝜃2 − 2∅𝜃)𝜎2
1 − ∅2
𝛾1 = 𝐸(𝑋𝑡 − 𝐸(𝑋𝑡))(𝑋𝑡−1 − 𝐸(𝑋𝑡−1)) = 𝐸(𝑋𝑡𝑋𝑡−1)
𝛾1 = 𝐸[(∅𝑋𝑡−1 + 휀𝑡 − 𝜃휀𝑡−1)𝑋𝑡−1]
𝛾1 = ∅𝛾0 − 𝜃𝜎2
𝛾1 = 𝐸(𝑋𝑡 − 𝐸(𝑋𝑡))(𝑋𝑡−2 − 𝐸(𝑋𝑡−2)) = 𝐸(𝑋𝑡𝑋𝑡−2)
Resumiendo las autocovarianzas de un 𝐴𝑅𝑀𝐴(1,1)
𝛾1 = ∅𝛾1
43
𝛾𝑘 =
{
𝛾0 =(1 + 𝜃2 − 2∅𝜃)𝜎2
1 − ∅2, 𝑘 = 0
𝛾1 = ∅𝛾0 − 𝜃𝜎2, 𝑘 = 1
𝛾𝑘 = ∅𝛾𝑘−1, 𝑘 > 1
La función de autocorrelación de un 𝐴𝑅𝑀𝐴(1,1)
𝜌𝑘 = {𝜌1 = ∅ −
𝜃𝜎2
𝛾0, 𝑘 = 0
𝜌𝑘 = ∅𝜌𝑘−1, 𝑘 > 1
Procesos Lineales no Estacionarios
Proceso Autoregresivo Integrado y de Media Móvil
Los modelos de series de tiempo analizados hasta ahora se basan en el supuesto de estacionalidad,
esto es, la media y la varianza para una serie de tiempo son constantes en el tiempo y la covarianza
es invariante en el tiempo. Pero se sabe que muchas series de tiempo y en especial las series
económicas no son estacionarias, porque pueden ir cambiando de nivel en el tiempo o sencillamente
la varianza no es constante en el tiempo, a este tipo de proceso se les considera procesos integrados.
Por consiguiente, se debe diferencias una serie de tiempo 𝑑 veces para hacerla estacionaria y luego
aplicarla a esta serie diferenciada un modelo 𝐴𝑅𝑀𝐴(𝑝, 𝑞), se dice que la serie original es
𝐴𝑅𝐼𝑀𝐴(𝑝, 𝑑, 𝑞) , es decir, una serie de tiempo autoregresiva integrada de media móvil. Donde 𝑝
denota el número de términos autoregresivos, 𝑑 el número de veces que la serie debe ser diferenciada
para hacerla estacionaria y 𝑞 el número de términos de la media móvil invertible.
Su expresión algebraica es:
𝑋𝑡𝑑 = 𝑐 + ∅1𝑋𝑡−1
𝑑 +⋯+ ∅𝑝𝑋𝑡−𝑝𝑑
⏟ 𝑨𝑹(𝒑)
+ 𝜃1휀𝑡−1 + 𝜃2휀𝑡−2𝑑 +⋯+ 𝜃𝑞휀𝑡−𝑞
𝑑 + 휀𝑡𝑑
⏟ 𝑴𝑨(𝒒)
Expresado en forma del polinomio operador de retardos el modelo 𝐴𝑅𝐼𝑀𝐴(𝑝, 𝑑, 𝑞) es:
𝜙(𝐿)(1 − 𝐿)𝑑𝑋𝑡 = 𝑐 + Θ(𝐿)휀𝑡
Donde 𝑋𝑡𝑑 es a la serie de las diferencias de orden 𝑑, 휀𝑡
𝑑 es un proceso de ruido blanco, y
𝑐, ∅1,… , ∅𝑝, 𝜃1, … , 𝜃𝑞 son los parámetros del modelo.
La construcción de los modelos 𝐴𝑅𝐼𝑀𝐴(𝑝, 𝑑, 𝑞) se lleva de manera iterativa mediante un proceso en
el que se puede distinguir cuatro etapas:
• Identificación. Utilizando los datos ordenados cronológicamente se intentara sugerir un
modelo 𝐴𝑅𝐼𝑀𝐴(𝑝, 𝑑, 𝑞) que merezca la pena ser investigada. El objetivo es determinar los
valores 𝑝, 𝑑 𝑦 𝑞 que sean apropiados para reproducir la serie de tiempo. En esta etapa es
posible identificar más de un modelo candidato que pueda describir la serie.
44
• Estimación. Considerando el modelo apropiado para la serie de tiempo se realiza inferencia
sobre los parámetros.
• Validación. Se realizan contraste de diagnóstico para validar si el modelo seleccionado se
ajusta a los datos, so no es así, escoger el próximo modelo candidato y repetir los pasos
anteriores.
• Predicción. Una vez seleccionado el mejor modelo candidato 𝐴𝑅𝐼𝑀𝐴(𝑝, 𝑑, 𝑞) se pueden
hacer pronósticos en términos probabilísticos de los valores futuros.
Ilustración 12 serie original del IPC y la serie estimada por el modelo ARIMA(1,1,1)
45
IPC proyectado a 5 meses, esto es hasta Julio de 2011.
Ilustración 14 residuales del modelo ARIMA(1,1,1) seleccionado para el IPC y sus respectivas autocorrelaciones.
Ilustración 13 IPC proyectado a 5 meses, esto es hasta Julio de 2011.
46
4.5 Proceso Estacional Autorregresivo Integrado y de Media Móvil
ARIMA(p,d,q) (P,D,Q)s Cuando una serie de tiempo en estudio tiene intervalos de observación menores a un año, entonces es
frecuente que estas tengan variaciones ó patrones sistemáticos cada cierto periodo, estas variaciones
sistemáticas inferiores a un año por ejemplo semestral, mensual, diario, etc. Deben ser captadas en
los llamados Factores Estacionales, dentro de la estructura del modelo a construirse.
Las series de tiempo estacionales pueden ser de dos tipos:
• Aditivas
• Multiplicativas
Y al mismo tiempo cada una de estas series puede ser estacionaria o no estacionaria.
Usualmente se presentan con mayor frecuencia los modelos multiplicativos comparados con los
modelos aditivos, de esta manera se combinan términos ordinarios del proceso 𝐴𝑅𝑀𝐴 y términos
estacionales, así como diferencias regulares y diferencias estacionales para transformar en series
estacionarias, esto es ∇𝑆𝐷∇𝑑𝑋𝑡. Este tipo de procesos tiene las siguientes características:
• Contiene una componente 𝐴𝑅𝐼𝑀𝐴(𝑝, 𝑑, 𝑞) que modela la dependencia regular, que es la
dependencia asociada a observaciones consecutivas.
• Contiene una componente 𝐴𝑅𝐼𝑀𝐴(𝑃, 𝐷, 𝑄) que modela la dependencia estacional, que está
asociada a observaciones separadas por periodos.
La estructura general de un modelo 𝐴𝑅𝐼𝑀𝐴(𝑝, 𝑑, 𝑞)(𝑃, 𝐷, 𝑄)𝑠, es:
𝑋𝑡 = 𝑐 + ∅1𝑋𝑡−1 +⋯+ ∅𝑝𝑋𝑡−𝑝⏞ 𝑨𝑹(𝒑)
+ 𝜃1𝑋𝑡−𝑠 +⋯+ 𝜃𝑝𝑋𝑡−𝑃𝑠⏞ 𝑺𝑨𝑹(𝑷)
+휀𝑡 − 𝜑1휀𝑡−1 −⋯− 𝜑𝑞휀𝑡−𝑞⏟ 𝑴𝑨(𝒒)
− 𝜗1휀𝑡−𝑠 −⋯− 𝜗𝑄휀𝑡−𝑄𝑠⏟ 𝑺𝑴𝑨(𝑸)
Los parámetros son ∅1, … , ∅𝑝, 𝜃1, … , 𝜃𝑝, 𝜑1, … , 𝜑𝑞 , … , 𝜗𝑄 , … , 𝜗𝑄 y 휀𝑡~𝑁(0, 𝜎2).
Prueba de estacionalidad de los residuales
Ho: Los residuales del modelo ARIMA (2,1,1) (2,1,0) son estacionarios
Ha: Los residuales del modelo ARIMA (2,1,1) (2,1,0) no son estacionarios
Augmented Dickey-Fuller Test 24
data: residuales
Dickey-Fuller = -5.5384, Lag order = 7, p-value = 0.01
alternative hypothesis: stationary
Prueba de independencia de los residuales
47
Ho: Los residuales del modelo ARIMA(2,1,1)(2,1,0) son independientes.
Ha: Los residuales del modelo ARIMA(2,1,1)(2,1,0) no son independientes.
Box-Pierce test
data: residuales
X-squared = 9e-04, df = 1, p-value = 0.976
4.6 Protocolo para la identificación de los modelos ARIMA y ARIMA
estacional (según los pasos de Box-Jenkins)
a) Identificación
Representar gráficamente la serie, además de su función de autocorrelación simple (ACF) y función
de autocorrelación parcial (PACF). La gráfica de la serie nos indica si la serie es estacionaria o no.
Según los motivos por los que la serie no es estacionaria, tendremos que aplicar los siguientes
procedimientos hasta hacerla estacionaria.
• Si tiene tendencia: Tomaremos diferencias regulares hasta que desaparezca. Normalmente el
orden de la diferencia es 1, y raramente será mayor a 3.
• Si la serie tiene estacionalidad: Tomaremos diferencias estacionales hasta que desaparezca el
patrón estacional. En la práctica es muy raro tener que aplicar más de una diferencia
estacional.
• Si es heterocedástica, es decir, no tiene varianza constante, habrá que transformar la serie.
Con tomar el logaritmo en muchos casos es suficiente, aunque existen algunas
transformaciones más sofisticadas, como las de Box-Cox.
Una vez que el gráfico de la nueva serie (transformación de la original) indica que es estacionaria,
podemos intentar deducir la estructura de la serie (¡no la de la serie original!) observando su ACF y
PACF.
b) Estimación y verificación
Observando las dos gráficas del ACF y PACF de la serie transformada podemos hacernos una idea
del modelo que describe nuestra serie, o al menos de cuáles son los primeros candidatos que debemos
probar. Para comprobar analíticamente (no visualmente) un modelo frecuentemente se ajusta varios
modelos candidatos ARIMA(p,d,q) y escogeremos como un buen modelo aquel que tenga los
residuales semejantes al de un ruido blanco, además que tenga los valores del AIC (Criterio de
Información de Akaike) y BIC (Criterio de Información Bayesiana) menores con relación al resto de
los modelos candidatos.
c) Predicción
Una de las razones de la popularidad del proceso de construcción de modelos 𝐴𝑅𝐼𝑀𝐴 es su éxito en
la predicción. Los modelos 𝐴𝑅𝐼𝑀𝐴 son buenos para realizar predicciones a corto plazo.
48
4.7 Arboles de decisión y Conjuntos de Clasificadores
Los árboles son una técnica poderosa en las ciencias de la computación, utilizada en un sinfín de
tareas; dentro de las cuales se encuentran tareas de regresión y clasificación, es parte importante del
estudio de este trabajo de tesis la predicción de la demanda de las Cicloestaciones, por lo cual se
abordará una técnica poderosa para la realización de predicción llamada Random Forest, con motivo
de brindar al lector una idea más clara se proporciona a continuación la teoría básica de árboles de
decisión que evoluciona hasta llegar al concepto de Random Forest, tomando los conceptos y la
estructura de las información de [12]. Algunas de las técnicas basadas en árboles como Bagging
también son utilizados por otros autores en la elaboración de propuestas para la solución del problema
de rebalanceo, por lo cual es interesante conocer toda la gama de posibilidades que nos ofrecen los
árboles de decisión, entendiendo que los modelos más precisos suelen ser los más costosos
computacionalmente hablando, factor que deberá considerarse al elegir el algoritmo de predicción
adecuado.
4.7.1 Arboles de decisión
Un árbol de decisión T se puede definir como una secuencia ordenada de preguntas en las que la
pregunta actual depende de la respuesta del nodo anterior. Estas preguntas son formuladas sobre las
variables que definen cada elemento x con el fin de asignarlas a una clase, en el caso de la
clasificación. Este procedimiento, con sus correspondientes interrogantes y sus ramificaciones puede
representarse de lógica como una estructura de datos de tipo árbol.
El primer nodo en un árbol se conoce como nodo raíz, este nodo está conectado sucesivamente con
el resto de los nodos hasta alcanzar los nodos hoja (en caso de existir), es decir aquellos que no tienen
nodos de jerarquía inferior. A cada nodo interno se le asigna una de las preguntas de la secuencia
mientras que a cada nodo hoja le es asignada una etiqueta de clase. De esta forma, la pregunta del
nodo raíz es formulada a todo el conjunto L, el cual se va subdividiendo hasta alcanzar los nodos hoja,
que constituyen una partición disjunta del espacio de características inicial. Esto ocurre porque dado
un nodo, una y sólo una rama será seguida por cada ejemplo x del conjunto de entrenamiento.
Antes de describir los métodos de construcción de árboles, se ilustrará el procedimiento de
clasificación mediante un ejemplo.
49
Ilustración 15 árbol de decisión
En la Ilustración 15 se ha representado un conjunto de datos en ℝ2 en el que se pueden
distinguir dos clases. Un posible árbol de decisión para dicho problema de clasificación es el que se
encuentra a su derecha, el cual define las cuatro regiones marcadas en el espacio de características.
En este caso, sólo dos de todos los ejemplos representados serían incorrectamente clasificados por el
árbol de la derecha, en el que se ilustra la clasificación de uno de los datos cuya etiqueta se predice
correctamente
Como podemos observar, el árbol anterior divide el espacio de características mediante híper planos
paralelos a los ejes, lo que significa que cada una de las preguntas asignadas a los nodos hace
referencia a una sola variable (son del tipo ¿ 𝑥𝑛 ≤ 𝛼? ). Pese a que divisiones oblicuas son también
usadas para ciertos problemas, no serán tratadas en este estudio.
Una vez explicados los fundamentos de los árboles de decisión, es interesante remarcar dos grandes
ventajas respecto de otros algoritmos de clasificación:
Permiten incluir variables categóricas dentro del conjunto de atributos de los elementos x. En
este caso, a la hora de realizar las preguntas de los nodos, en vez de usar relaciones de orden,
se utilizan subconjuntos de valores dentro de todos los posibles para una determinada variable.
No serán incluidas más referencias a este tipo de atributos ya que su tratamiento queda fuera
del ámbito de este estudio.
Pueden ser interpretados y entendidos como conjuntos de reglas (del tipo 𝑖𝑓 [𝑥1 > 2 𝑎𝑛𝑑 𝑥3 <
8] 𝑡ℎ𝑒𝑛 𝑥 ∈ 𝑦1), lo cual hace que las decisiones tomadas a partir de ellos puedan ser
justificadas. Otros algoritmos de aprendizaje, como las redes neuronales, actuán como cajas
negras en las que la decisión tomada es difícilmente explicable.
X1
≤4
X1 ≤4
X1 ≤4
X2
4
X1
50
A continuación, en la sección 4.7.1.1 se describirá el algoritmo CART[13]
4.7.1.1 Arboles CART´
El procedimiento de construcción de un árbol CART (Classification and Regression Trees) parte del
conjunto total de datos y sobre él define el mejor corte posible dividiendo el conjunto inicial en dos
subconjuntos. Sobre ellos y recursivamente, se obtendrán los sucesivos cortes que definirán el árbol.
Por tanto, los tres problemas a resolver son:
1. Seleccionar la variable y el valor de corte en cada nodo.
2. Asignar una clase a cada nodo hoja.
3. Decidir el criterio para definir un nodo como hoja o continuar construyendo el árbol.
A continuación, se detalla cómo el algoritmo CART resuelve estos puntos.
Selección de la variable y el valor de corte.
El objetivo fundamental al seleccionar el corte en un árbol de decisión es que dado un nodo t, su hijo
izquierdo 𝑡𝐿 y derecho 𝑡𝑅 sean lo más puros posible con respecto a su padre. Es decir, que las clases
estén siempre mejor separadas en los descendientes que en los progenitores. Antes de explicar cómo
se obtiene este valor de corte, es importante remarcar que CART se centra en la construcción de
árboles binarios (cada nodo tiene o dos hijos o ninguno) debido a su simplicidad y a que todo árbol
con más ramas en alguno de sus nodos puede ser reducido a un árbol binario aumentando su
profundidad. De la misma manera, se particularizará de ahora en adelante a problemas de clasificación
de dos clases, ya que el problema abordado en este trabajo, la clasificación de fraude es un problema
de este tipo (capítulo 3).
Por tanto, se debe definir una medida de la impureza para cada nodo 𝑖(𝑡), la cual debe ser máxima
cuando las clases estén presentes en t en la misma proporción (nodo menos puro posible) y ser 0
cuando sólo haya elementos de una de las clases (nodo más puro posible). Formalmente, una función
de impureza es una función φ definida sobre (𝑝1, 𝑝2) 𝑡𝑎𝑙 𝑞𝑢𝑒 𝑝1, 𝑝2 ≥ 0 𝑦 𝑝1 + 𝑝2 = 1 y cumple
las siguientes propiedades:
1. φ alcanza su máximo en el punto (1
2,1
2)
2. φ alcanza su mínimo en los puntos (1,0), (0,1).
3. φ es una función simétrica.
Dada una función de impureza φ podemos definir entonces la impureza de un nodo t como
𝑖(𝑡) = ∅(𝑝(1|𝑡), 𝑝(2|𝑡)) ,
51
Donde 𝑝(𝑦|𝑡) es la probabilidad de pertenecer a la clase y dado el nodo t y se calcula (en el caso de
dos clases) de la siguiente forma:
𝑝(1|𝑡) =𝑁1(𝑡)
𝑁(𝑡) , 𝑝(2|𝑡) =
𝑁2(𝑡)
𝑁(𝑡)= 1 −
𝑁1(𝑡)
𝑁(𝑡) ,
Donde 𝑁(𝑡) son el número de ejemplos del nodo 𝑡 y 𝑁1(𝑡) 𝑦 𝑁2(𝑡) los pertenecientes a la clase 1 y
2, respectivamente. Se cumple, por tanto, que 𝑁(𝑡) = 𝑁1(𝑡) + 𝑁2(𝑡)
La función de impureza utilizada por el algoritmo CART (por ser la más simple en el caso de dos
clases) es la impureza GINI, la cual cumple las propiedades anteriores y se define como
𝑖(𝑡) = 𝑝(1|𝑡) · 𝑝(2|𝑡) .
Por tanto, se puede también expresar como
𝑖(𝑡) =𝑁1(𝑡)
𝑁(𝑡). (1 −
𝑁1(𝑡)
𝑁(𝑡)) = 𝑝(1|𝑡) . (1 − 𝑝(1|𝑡)) .
La impureza GINI no es la única medida de impureza. Existen también otras como la entropía: 𝑖(𝑡) =
−(𝑝(1|𝑡) · log2 𝑝(1|𝑡) + 𝑝(2|𝑡) · log2 𝑝(2|𝑡)) ,
o el error de clasificación:
𝑖(𝑡) = 𝑚𝑖𝑛{𝑝(1|𝑡), 𝑝(2|𝑡)} .
Aunque existen distintas funciones de impureza, se ha observado que la elección de una u otra no es
muy determinante en cuanto a la capacidad de generalización del árbol final [13]. En la Ilustración
16 se observan las tres medidas para el caso de dos clases ajustadas en escala para facilitar la
comparación.
MEDIDAS DE IMPUREZA
Ilustración 16 Comparación entre funciones de impureza
Error de clasificación Entropía GINI
Una vez definida la función de impureza, el corte óptimo será aquel que maximice la diferencia entre
la impureza del nodo padre y la de sus hijos, teniendo en cuenta la proporción de datos que van a cada
uno de ellos. Es decir, el corte óptimo será aquel que maximice
∆𝑖(𝑡) = 𝑖(𝑡) − 𝑝𝐿 · 𝑖(𝑡𝐿) − 𝑝𝑅 · 𝑖(𝑡𝑅) ,
Donde 𝑖(𝑡𝐿) 𝑦 𝑖(𝑡𝑅) son las impurezas del hijo izquierdo y derecho y 𝑝𝐿 𝑦 𝑝𝑅 la proporción de datos
de t que van hacia cada uno de los nodos hijos.
La forma de obtener este valor óptimo es realizar una búsqueda exhaustiva en todas las variables
posibles con todos los posibles cortes. Los valores candidatos son todos aquellos que dada una
0
0 2 ,
0 4 ,
6 0 ,
8 , 0
1
0 0 , 2 0 , 4 0 , 6 0 , 8 1
i(t)
P(1|t)
52
variable xi conducen a distintas divisiones de los datos. Supongamos que la variable xi tiene V valores
distintos que ordenados se pueden representar como {𝑢1, 𝑢2, . . . , 𝑢𝑉 }. Para esta variable xi se evaluará
la diferencia de impureza 𝑉 − 1 veces (para 𝑥𝑖 ≤ 𝑢1? , . . . , 𝑥𝑖 ≤ 𝑢𝑉 − 1?) y se elegirá el valor que
la maximice. CART fija el valor de corte en 𝑢𝑖 +𝑢𝑖+1
2 si el valor máximo se alcanza en ui (se toma el
punto medio ya que cualquier valor en el intervalo [𝑢𝑖, 𝑢𝑖 + 1) supone la misma separación y por
tanto la misma reducción de impureza). Dicho procedimiento será repetido para cada variable y se
tomará el valor máximo entre todas ellas.
La búsqueda en las variables se realizará en cada uno de los nodos hasta que o bien todos los nodos
contengan elementos de una sola de las clases (impureza 0) o bien se cumpla un criterio de parada.
Asignación de clase a los nodos hoja.
Una vez se ha decidido que el nodo actual t debe pertenecer al conjunto de nodos terminales T˜,
asignarle una clase es inmediato. Si el árbol ha sido construido hasta que los nodos hoja contienen
elementos de una sola clase (impureza 0), la clase a la que pertenecen todos los elementos será la
asignada al nodo. Si el nodo no es puro, bien porque ha sido aplicada poda (pruning) o bien porque
se utilizó algún criterio de parada, la clase asignada será aquella a la que corresponda la mayoría de
los ejemplos del nodo. En caso de que ambas clases estén presentes en el nodo en la misma
proporción, la etiqueta se asignará de forma arbitraria. Esto es
𝑡 𝑒𝑠 𝑒𝑡𝑖𝑞𝑢𝑒𝑡𝑎𝑑𝑜 𝑐𝑜𝑚𝑜 𝑦 ⇔ 𝑦 = argmax𝑝(𝑦|𝑡).
y
Criterios de parada. Poda.
Los árboles de decisión construidos hasta que todos los nodos tienen impureza 0 han resultado ser
muy ineficientes, ya que no tienen capacidad de generalización. Esto ocurre porque, aunque todos los
patrones están bien clasificados en el conjunto de entrenamiento, los errores de clasificación en el
conjunto de test suelen ser elevados (overfitting). Esta situación puede ser resuelta de dos formas:
utilizando criterios de parada (prepoda) o podando el árbol una vez ha sido construido hasta el final
(postpoda, denotada de ahora en adelante simplemente como poda).
La primera aproximación consiste en utilizar una regla de parada en la que fijado un cierto umbral
β, un nodo t se considera terminal si el mejor corte posible a partir de él cumple que ∆𝑖(𝑡) < 𝛽. De
acuerdo con [Breiman et al., 1984], los resultados obtenidos con este tipo de reglas nunca han
conseguido ser satisfactorios. Por un lado, si el valor de β es demasiado pequeño, el problema es el
mismo que para el árbol construido hasta el final: árboles demasiado grandes sobre ajustados al
conjunto de entrenamiento. Por otro lado, incrementar el valor de β puede conducir a que la
construcción del árbol se pare en un cierto nodo con el máximo ∆𝑖(𝑡) pequeño pero cuyos
descendientes tL y tR podrían haber conducido a descensos de impureza significativos. Por tanto,
optimizar el criterio de parada no parece la forma correcta de atacar el problema mientras que realizar
una poda al árbol una vez construido hasta el final sí parece el enfoque correcto para conseguir que
el árbol tenga capacidad de generalización [14]
Para aplicar el procedimiento de poda, se debe comenzar definiendo el estimador del error local de
clasificación 𝑅(𝑡) para un nodo t:
53
𝑅(𝑡) = 𝑟(𝑡) · 𝑝(𝑡) ,
Donde 𝑟(𝑡) = 𝑚𝑖𝑛{𝑝(1|𝑡), 𝑝(2|𝑡)} o, lo que es lo mismo, la probabilidad de que un elemento sea
mal clasificado y 𝑝(𝑡) = 𝑁(𝑡)/𝑁 con N el número total de ejemplos del entrenamiento y N(t) el
número de elementos de este mismo conjunto que pertenecen al nodo t. Cuando los árboles son
construidos según el método anterior, siempre se cumple que
𝑅(𝑡) ≥ 𝑅(𝑡𝐿) + 𝑅(𝑡𝑅) .
A partir de los errores locales 𝑅(𝑡) se define el error global 𝑅(𝑇):
𝑅(𝑇) = ∑ 𝑅(𝑡)𝑡∈�̅� ,
Donde T˜ hace referencia al conjunto de nodos terminales de T. La idea intuitiva de este error es muy
clara ya que corresponde a la suma en todos los nodos hoja de la probabilidad de caer en un
determinado 𝑡 ∈ �̅� multiplicado por la probabilidad de ser mal clasificado en dicho nodo.
En el caso de los árboles construidos hasta el final, 𝑅(𝑇) es 0 para el conjunto de entrenamiento, lo
cual constituye un estimador demasiado optimista del error de clasificación esperado para nuevos
ejemplos (al que denotaremos como 𝑅 ∗ (𝑇)). Esto ocurre porque mientras que 𝑅(𝑇) siempre
disminuye para el conjunto de entrenamiento según avanza la construcción del árbol, 𝑅 ∗ (𝑇) disminuye hasta alcanzar un mínimo a una cierta profundidad, pero a partir de ese punto empieza a
aumentar. Dicho mínimo es el que se espera alcanzar tras aplicar la poda al árbol ya que es en ese
punto donde se consigue el equilibrio sesgo-varianza. De la misma forma, mediante la poda, se
conseguirá que 𝑅(𝑇) constituya un mejor estimador del error esperado 𝑅 ∗ (𝑇).
El primer paso consiste en construir un árbol 𝑇𝑚𝑎𝑥 a partir de todo el conjunto de datos de
entrenamiento de tal forma que los nodos terminales contengan elementos de una sola clase. Una vez
construido, CART utiliza un criterio de poda denominado criterio de coste-complejidad, el cual
selecciona un sub-árbol de entre todos los contenidos en 𝑇𝑚𝑎𝑥 (un sub-árbol T de 𝑇𝑚𝑎𝑥 se denota
como 𝑇 ≺ 𝑇𝑚𝑎𝑥 ). Dicho criterio trata de buscar un equilibrio entre coste y complejidad en el sentido
de que dados dos árboles con el mismo error, será preferible el de menor complejidad mientras que
entre dos árboles del mismo tamaño (complejidad) se optará por el que tenga menor error. Por tanto,
la medida coste-complejidad se define para cada 𝑇 ≺ 𝑇𝑚𝑎𝑥 como
𝑅𝛼(𝑇) = 𝑅(𝑇) + 𝛼|�̃�| ,
Donde α es el parámetro de complejidad (𝛼 ≥ 0) y |�̃�| el número de nodos terminales de T.
El objetivo es encontrar, para cada valor de α, el árbol T(α) que minimiza la ecuación anterior. Cuando
α = 0, la complejidad del árbol no es penalizada por lo que 𝑇(0) = 𝑇𝑚𝑎𝑥 (ya que 𝑅(𝑇max ) = 0,
mientras que al aumentar el valor de α, los árboles 𝑇(𝛼) tendrán cada vez menos nodos terminales (la
complejidad empieza a penalizarse más). El caso extremo se da para un cierto valor αK en el que la
penalización por la complejidad prevalece totalmente frente al error 𝑅(𝑇) y el árbol elegido será sólo
el nodo raíz. Por tanto, existe una secuencia finita de sub-árboles obtenida a partir de los distintos
valores de α en los que el árbol minimizador cambia (𝛼0 = 0, 𝛼1, . . . , 𝛼𝐾):
) 𝑇𝑚𝑎𝑥 = 𝑇(0) ≻ 𝑇(𝛼1) ≻ …𝑇(𝛼𝑘) = 𝑟𝑎𝑖𝑧(𝑇) .
El procedimiento para obtener dicha secuencia es el siguiente:
54
1. Obtener 𝑇(𝛼1). El árbol de partida 𝑇(𝛼1) debe ser el árbol más pequeño posible cuyo error global
de clasificación es el mismo que el de 𝑇𝑚𝑎𝑥. En caso de haber construido 𝑇𝑚𝑎𝑥 hasta que los nodos
terminales tienen sólo elementos de una clase, el propio 𝑇𝑚𝑎𝑥 es ya el árbol más pequeño posible
ya que todos sus nodos hoja implicaron un descenso de impureza respecto de la de sus nodos padre
(todos sus nodos hoja tienen impureza 0 mientras que no era así para sus padres ya que se hubiera
dejado de construir en ellos). Por tanto, es imposible reducirlo y a la vez mantener su error
𝑅(𝑇𝑚𝑎𝑥).
En el caso de que 𝑇𝑚𝑎𝑥 haya sido obtenido mediante otro procedimiento (criterio de parada, sólo
un ejemplo en los nodos terminales, etc.) se debe podar todo par de nodos terminales 𝑡𝐿 𝑦 𝑡𝑅 que
compartan como padre inmediato a t y cumplan 𝑅(𝑡) = 𝑅(𝑡𝐿) + 𝑅(𝑡𝑅) hasta que la igualdad
no se cumpla para ningún par de nodos terminales.
De esta forma, 𝑇(𝛼1) cumple que 𝑅(𝑡) > 𝑅(𝑇𝑡) (nótese la desigualdad estricta) para todo nodo
no terminal t donde Tt es el sub-árbol que tiene t como nodo raíz y contiene todos los descendientes
de t en T.
2. Obtener α2 y el sub-árbol T(α2) asociado. Para todo nodo no terminal t ∈ T(α1) podemos definir
dos medidas de coste-complejidad:
Asociada al nodo individual t: 𝑅𝛼(𝑡) = 𝑅(𝑡) + 𝛼 (con R(t))
Asociada al sub-árbol 𝑇𝑡: 𝑅𝛼(𝑇𝑡) = 𝑅(𝑇𝑡) + 𝛼|�̌�𝑡| (con R(Tt) )
Para α = 0 se cumple 𝑅𝛼(𝑡) > 𝑅𝛼(𝑇𝑡) (por el paso 1) pero existe un cierto valor de α en el que
la igualdad 𝑅𝛼(𝑡) = 𝑅𝛼(𝑇𝑡) se cumple:
𝑅(𝑡) + 𝛼 = 𝑅(𝑇𝑇) + 𝛼|�̃�𝑡| ⇒ 𝛼 =𝑅(𝑡)−𝑅(𝑇𝑡)
|𝑇�̌�|−1 .
Debido a que la poda coste-complejidad tiene como objetivo ir eliminando primero las ramas más
débiles, el nodo t1 cuyos hijos se podarán en primer lugar será aquel que minimice la expresión
anterior. Aquel nodo para el que la igualdad se satisface con un α más pequeño es aquel en el que
la diferencia entre el error del nodo t1 y del árbol Tt1 es más pequeña (ponderada con la
complejidad). De esta forma:
𝑇(𝛼2) = 𝑇(𝛼1) − 𝑇𝑡1 𝑑𝑜𝑛𝑑𝑒 𝛼2 = 𝑚𝑖𝑛 𝑡∈𝑇(𝛼1)𝑅(𝑡)−𝑅(𝑇𝑡)
|�̃�𝑡|−1 .
El procedimiento de poda 𝑇(𝛼1) − 𝑇𝑡1 se muestra en la Ilustración 17
3. Repetir el paso 2 hasta que el valor de α sea αK con 𝑇(𝛼𝐾) = 𝑟𝑎𝑖𝑧(𝑇).
55
Ilustración 17 Poda del sub-árbol Tt1 a T(α1)
Una vez han sido obtenidos todos los valores de α y sus árboles 𝑇(𝛼) correspondientes, se debe elegir
el árbol cuyo tamaño sea óptimo en el sentido de que su error de clasificación para nuevos ejemplos
sea lo más pequeño posible. En este caso, como ya se ha señalado anteriormente, el estimador 𝑅(𝑇)
no es válido ya que 𝑇𝑚𝑎𝑥 sería siempre el árbol seleccionado y de éste sabemos que está sobre ajustado
al conjunto de entrenamiento. Por tanto, es necesario obtener un mejor estimador de 𝑅 ∗ (𝑇) (error
real de clasificación), lo cual se puede conseguir de dos formas: usando un conjunto de validación
independiente del de entrenamiento o mediante validación cruzada.
Para crear un conjunto de validación, Nv elementos deben ser seleccionados de entre los N datos del
conjunto original L. El árbol 𝑇𝑚𝑎𝑥 y la secuencia 𝑇(0) ≻ 𝑇(𝛼1) ≻ …𝑇(𝛼𝑘)
Se construyen únicamente usando los 𝑁 − 𝑁𝑣 datos restantes. Una vez se ha obtenido la secuencia
anterior, los Nv datos se clasifican en cada uno de los árboles de la secuencia. El último paso es obtener
para cada uno de los árboles la proporción de casos que ha clasificado mal y seleccionar como árbol
óptimo aquel con menor error de clasificación. El error obtenido en dicho árbol sí constituye además
un buen estimador de 𝑅 ∗ (𝑇) ya que los ejemplos que ha clasificado no habían sido vistos antes por
el árbol.
La estimación del tamaño óptimo del árbol mediante validación cruzada se realiza dividiendo el
conjunto original de entrenamiento L en V conjuntos disjuntos de tal forma que se construyen V
árboles originales 𝑇𝑚𝑎𝑥 y V secuencias de árboles 𝑇 ≻ 𝑇𝑚𝑎𝑥 usando los datos contenidos en 𝑉 − 1
conjuntos, por lo que a cada uno le sobra un conjunto para calcular el α óptimo. A partir de los errores
obtenidos para cada valor de α en cada conjunto de validación, se obtiene el valor de α que se espera
óptimo para el árbol construido con todo el conjunto ℒ. Los detalles de este procedimiento no son
incluidos en esta memoria ya que las técnicas de validación cruzada son utilizadas en problemas en
los que el número de datos es pequeño y todos deben ser aprovechados para la construcción del
modelo, que no corresponde al caso del problema de clasificación de fraude.
4.7.1.2 Otros métodos
Todos los métodos que desarrollan árboles de decisión se basan en las técnicas anteriormente descritas
para el algoritmo CART y sólo difieren de éste en algunos detalles. A continuación, se nombran y
describen de forma muy general los otros métodos más extendidos y sus principales diferencias con
lo anteriormente expuesto:
56
ID3. Es un algoritmo enfocado al uso de variables categóricas. Si existen variables reales, se
agrupan primero sus valores en intervalos para luego ser tratadas como variables categóricas
(sin relación de orden). Otra de sus características distintivas es que sólo considera como
variables posibles para la división del nodo aquellas que no han sido utilizadas anteriormente
y por lo tanto, los árboles generados mediante este método tienen como máximo tanta
profundidad como tenga la dimensión de los datos [15]
C4.5. Es el sucesor de ID3 y el otro método más utilizado para la generación de árboles de
decisión junto con CART. Algunas de las diferencias respecto de CART son: permite nodos
con más de dos hijos, el valor usado para el corte en un nodo no corresponde al punto medio
entre dos valores de una variable sino que usa el valor de la menor y se basa en la entropía para
calcular la impureza. El procedimiento de poda es distinto del usado por CART ya que utiliza
heurísticas basadas en test de significancia estadística. La diferencia entre los resultados finales
obtenidos con ambas podas es que mientras que la poda CART tiende a generar árboles más
pequeños que el óptimo, la poda C4.5 tiende a podar menos de lo necesario[15].
4.7.2 Conjuntos de clasificadores
Los conjuntos de clasificadores (ensembles) son sistemas en los que los resultados obtenidos por una
serie de clasificadores individuales (clasificadores base) son combinados para predecir las etiquetas
de nuevos ejemplos, con el fin de que la precisión del conjunto sea mayor que la obtenida por cada
uno de los clasificadores de forma individual. A nivel general, el rendimiento obtenido por el conjunto
será mayor que el obtenido por cada uno de sus elementos bajo las siguientes condiciones:
Precisión. El error cometido por cada uno de los clasificadores es menor que el obtenido si los
elementos fueran clasificados aleatoriamente (error < 0,5).
Diversidad. Los errores cometidos por los clasificadores individuales no están correlacionados
(patrones incorrectamente clasificados por algunos de ellos deben ser correctamente
clasificados por otros). La diversidad es fundamental para mejorar el rendimiento de los
clasificadores base ya que la combinación de clasificadores que cometiesen los mismos errores
no implicaría ninguna mejora de rendimiento respecto del obtenido por cada uno de ellos de
forma individual.
Para demostrar como la combinación de ambas condiciones hace que el error del conjunto sea mucho
menor que el de las predicciones de los clasificadores individuales, consideremos el caso simplificado
de un conjunto de T clasificadores con errores independientes donde todos ellos tienen la misma
probabilidad de acierto, p, y donde el resultado final del conjunto de clasificadores C es la clase votada
mayoritariamente. En este caso, la probabilidad de que el conjunto de clasificadores etiquete mal un
ejemplo viene dada por la función de distribución acumulada de una distribución binomial, donde
menos de T/2 clasificadores aciertan. La distribución binomial representa la probabilidad de obtener
un número determinado de aciertos en una secuencia de T eventos independientes con probabilidad
de éxito p, por lo que el error del conjunto de clasificadores anterior se puede obtener de la siguiente
forma:
57
𝑒𝑟𝑟𝑐 = 𝑃(𝑋 ≤ 𝑇/2) = ∑ (𝑇𝑖) 𝑝𝑖(1 − 𝑝)𝑇−𝑖.
[𝑇/2]
𝑖=0
.
La Ilustración 18 muestra el error para un conjunto de clasificadores en función de su número de
elementos para distintos valores de p (probabilidad de acierto de la clasificadora base). Se observa
que el error decrece según aumenta el número de clasificadores sólo en el caso de que el error de los
clasificadores base sea menor de 0,5 (en caso contrario, para clasificadores base con error mayor que
un modelo aleatorio, el error aumenta al aumentar el tamaño del conjunto). También se puede ver
que, si el error es menor de 0,5, cuanto mayor es el error en los clasificadores base, un mayor número
de clasificadores es necesario para que el error global se aproxime a 0.
Ilustración 18 Errores Ensembles - Clasificadores Base
Por tanto, el punto clave para obtener conjuntos de clasificadores cuyo error tienda a 0 es conseguir
que todos los clasificadores base sean lo más diferentes posible (sus errores no estén correlacionados)
sin empeorar demasiado su rendimiento. Con este fin, existen distintas técnicas para aumentar la
diversidad entre los distintos clasificadores de un conjunto [Dietterich, 2000a]:
Manipulación en los datos de entrenamiento. El algoritmo de clasificación elegido es
ejecutado sobre distintos subconjuntos de los datos de entrenamiento para generar los distintos
clasificadores base. Esta técnica funciona con los llamados algoritmos inestables, en los que
pequeñas modificaciones en el conjunto de entrenamiento pueden generar clasificadores
significativamente distintos. Los árboles de decisión, las redes neuronales y los algoritmos de
aprendizaje basados en reglas son todos algoritmos inestables.
Err
or
Ens
em
ble
(%)
58
Las métodos más utilizados de manipulación de los datos de entrada son bagging [16] y
boosting [17].
Manipulación de los atributos de entrada. En este caso, cada clasificador se construye
haciendo uso sólo de un subconjunto de variables, de tal forma que cada clasificador se
especializa en un sub espacio de atributos. Esta técnica debe ser utilizada cuidadosamente ya
que la eliminación de atributos puede afectar de manera muy significativa al rendimiento de
los clasificadores base. Un ejemplo de este tipo de técnicas es random subspace [18] en el que
cada clasificador base utiliza un subconjunto de atributos seleccionado aleatoriamente de entre
todas las variables.
Manipulación de las etiquetas de clase. La mayoría de las técnicas de manipulación de
etiquetas están enfocadas a solucionar problemas multiclase reduciéndolos a varios problemas
de dos clases. Sin embargo, también existen aproximaciones para problemas de dos clases que
añaden ruido a los datos mediante el intercambio aleatorio de etiquetas al construir cada
clasificador [19][20].
Una de estas aproximaciones[19] consiste en alterar las etiquetas de clase para algunos de los
patrones de entrenamiento (output flipping), manteniendo la proporción original de cada clase
dentro del conjunto. Para ello, se define el procedimiento general a partir del cual, fijada la
proporción de datos cuya etiqueta será cambiada (flip rate), se obtiene la proporción de
elementos de cada clase cuya etiqueta debe ser sustituida por la de otra cierta clase. En el caso
de dos clases, tenemos:
𝑝𝑦1 ← 𝑦2 = 𝑐 · 𝑝(𝑦1) , 𝑝𝑦2 ← 𝑦1 = 𝑐 · 𝑝(𝑦2) ,
Donde 𝑝𝑦1 ← 𝑦2 es la probabilidad de que un ejemplo de clase y2 pase a ser de clase 𝑦1 𝑦 𝑝(𝑦1)
es la proporción de elementos de clase y1 dentro del conjunto (de la misma forma se definen
los elementos de la segunda igualdad).
De esta forma, fijado el flip rate deseado, fr, puede obtenerse el parámetro c para obtener la
probabilidad de cambiar de una clase a otra para cualquier par de clases:
𝑓𝑟 = 𝑝𝑦1 ← 𝑦2 · 𝑝(𝑦2) + 𝑝𝑦2 ← 𝑦1 · 𝑝(𝑦1)
= 𝑐 · 𝑝(𝑦1) · 𝑝(𝑦2) + 𝑐 · 𝑝(𝑦2) · 𝑝(𝑦1) = 2𝑐 · 𝑝(𝑦2) · 𝑝(𝑦1) .
Por tanto,
𝑐 =𝑓𝑟
2.𝑝(𝑦2).𝑝(𝑦1) .
Es posible ver que para los problemas de dos clases, esta aproximación equivale a intercambiar entre
ambas clases la mitad de la proporción de ejemplos indicada por flip rate. Aunque sus resultados son
similares (en ocasiones mejores) que los obtenidos con bagging, su mayor inconveniente es que el
valor óptimo de flip rate varía mucho de unos conjuntos a otros por lo que es necesario probar un
amplio rango de valores hasta encontrar el adecuado al problema [19].
La segunda aproximación relativa a la modificación de etiquetas de clase [MartínezMuñoz and
Suárez, 2005] no requiere conservar la proporción original de cada una de las clases dentro del
conjunto de entrenamiento y está enfocada a utilizar un gran número de clasificadores (∼ 1000) y una
59
alta probabilidad de modificación de etiquetas. En este caso, todo ejemplo, independientemente de
cuál sea su clase, tiene una probabilidad p (class switching) de modificar su etiqueta. Por tanto, las
probabilidades definidas en la ecuación anterior para el método anterior, son ahora inmediatas para
el caso de dos clases:
𝑝𝑦1 ← 𝑦2 = 𝑝 , 𝑝𝑦2 ← 𝑦1 = 𝑝 .
De esta forma se consigue atenuar el desbalanceo en problemas en los que la proporción de clases
es muy desequilibrada ya que el número de elementos que se intercambian desde la clase mayoritaria
a la minoritaria es mucho mayor que los que lo hacen en el otro sentido.
Ambos métodos están enfocados a conseguir una de las cualidades deseables de los conjuntos de
clasificadores: suponiendo que el error de cada clasificador base en el conjunto con las etiquetas
modificadas es muy próximo a 0, los errores en el conjunto original son la proporción de elementos
modificados aleatoriamente, los cuales no están correlacionados entre los distintos clasificadores.
Teniendo en cuenta que para garantizar la convergencia, la proporción de ejemplos modificados en
una cierta clase debe ser menor que la proporción de ejemplos no modificados
(pyj←yi < pyi←yi), la diferencia entre ambas técnicas radica en que con la segunda aproximación el
valor de 𝑝𝑦𝑗←𝑦𝑖 puede ser mayor que en el primer caso si las clases están desbalanceadas. Mientras
que con el primer método el valor del flip rate debe ser menor que la proporción de ejemplos de la
clase minoritaria, en la segunda aproximación basta con que p sea menor de 0,5.
Introducción de aleatoriedad en el algoritmo. El efecto que se consigue al aplicar esta técnica es que
dos ejecuciones del mismo algoritmo sobre el mismo conjunto de datos no generan el mismo
clasificador base. En el caso de los árboles de decisión, la aleatoriedad suele ser introducida añadiendo
incertidumbre en la elección del mejor corte para cada nodo (seleccionar aleatoriamente entre los
mejores cortes posibles, seleccionar aleatoriamente un número de variables y tomar de entre ellas el
mejor corte, etc.).
En muchos de estos métodos, es necesario generar una serie de números aleatorios para construir cada
uno de los clasificadores base, como ocurre por ejemplo si se consideran sólo una serie de variables
tomadas aleatoriamente al seleccionar el corte en un nodo del árbol. De esta forma, el clasificador
base k-ésimo es generado a partir de un vector de números aleatorios 𝜣𝒌, independiente, pero con la
misma distribución que los 𝜣𝟏, . . . , 𝜣𝒌 − 𝟏 vectores aleatorios utilizados para generar los 𝑘 − 1
clasificadores anteriores. Los conjuntos de clasificadores generados mediante este procedimiento y
cuyo clasificador base es un árbol de decisión que contribuye en la misma medida que el resto a la
decisión final del conjunto son conocidos como random forests [14].
Una vez que se ha construido el conjunto de clasificadores mediante uno de los métodos anteriores,
es necesario combinar sus salidas para obtener el resultado del conjunto. Aunque existen otras
técnicas para combinar las salidas de los clasificadores base, en todos los métodos descritos en esta
memoria el resultado global se obtiene ejecutando todos los clasificadores base y combinando sus
salidas mediante votación ponderada (boosting) o no ponderada (random forests y bagging). De esta
forma, la salida C de un conjunto de T clasificadores c1,c2,...,cT cuyos pesos ωi vienen dados por el
vector columna ω y donde la salida del clasificador i para un cierto patrón x viene dada por 𝑐𝑖(𝒙) ∈
{+1,−1}, se puede escribir como:
60
𝐶(𝒙) = 𝑠𝑖𝑔𝑛(𝜔′ · 𝒄) .
Es importante tener en cuenta que en el caso no ponderado 𝜔𝑖 = 1/𝑇 ∀𝑖 y que cuando el producto
ω’ ·c sea 0, la clase de x será asignada arbitrariamente a cualquiera de las dos.
Todos los métodos basados en conjuntos de clasificadores están orientados a conseguir que la
precisión del conjunto mejore la precisión de los clasificadores individuales, lo cual hace que este
tipo de técnicas obtengan muy buenos resultados. Esto es debido fundamentalmente a que los
conjuntos de clasificadores salvan tres restricciones encontradas en la construcción de modelos
individuales [21]:
Estadísticas. Los algoritmos de aprendizaje son procedimientos que nos permiten encontrar
funciones 𝑓 ∶ ℝ𝑑 → {1,2, . . . , 𝐶} dentro del espacio de hipótesis F que se ajustan lo más
posible a los datos de entrenamiento tratando de aproximar la solución real h. Sin embargo,
puede darse la situación de que los datos de entrenamiento disponibles no sean suficientes y
varias funciones 𝑓𝑖 obtengan la máxima precisión para los datos disponibles. Si sólo se
selecciona una de ellas, existe el riesgo de tomar la que suponga el error de generalización más
alto, mientras que, si se construye un conjunto, la media entre sus salidas compensará los
errores de cada una obteniendo una buena aproximación de h.
En el caso de los árboles, la función óptima h puede venir dada por un árbol de decisión muy
complejo, para el que se necesitan más datos de entrenamiento que los disponibles, por lo que
construir árboles más pequeños y combinarlos constituirá una mejor aproximación que construir
un solo árbol a partir de un número de datos insuficientes.
Computacionales. La mayoría de los algoritmos de aprendizaje constituyen un problema de
optimización que en muchos casos es resuelto realizando búsquedas locales, las cuales pueden no
desembocar en el óptimo global.
Este es el caso de los árboles de decisión, en los que encontrar la hipótesis óptima h es
computacionalmente impracticable (problema NP-completo). Los métodos de construcción de
árboles (como CART) toman una serie de decisiones locales (no tienen en cuenta las decisiones
posteriores) pudiendo cometer errores que afectarán al resto del árbol a partir del punto donde se
tome la decisión incorrecta. Por tanto, debido a que el problema computacional es intrínseco a los
árboles de decisión, la combinación de varios árboles 𝑓𝑖 construidos a partir de diferentes puntos
de partida, constituye una mejor aproximación a h que un solo árbol construido a partir de todos
los datos en el que se han podido tomar varias decisiones incorrectas.
61
Ilustración 19 Tres razones para la eficiencia de los conjuntos de clasificadores (adaptado de [19] )
Expresivas. En ocasiones, la hipótesis óptima h no es representable por ninguna de las posibles
hipótesis en F. A partir de la combinación de varias hipótesis posibles 𝑓𝑖, el espacio de
funciones F puede expandirse y aproximarse a la función óptima.
En el caso de los árboles de decisión, el problema expresivo sucede debido al uso de particiones
rectangulares del espacio de características ya que las decisiones en cada nodo son tomadas a
partir de una sola variable. Si la frontera óptima no es ortogonal a los ejes de coordenadas, un
árbol de decisión finito nunca podrá representarla. En este caso, la combinación de distintos
árboles más pequeños es equivalente a un árbol mucho más grande, el cual puede constituir
una buena aproximación a una frontera diagonal.
Otra forma de justificar el buen funcionamiento de los conjuntos de clasificadores es en términos del
sesgo y la varianza [22]. A partir de ellos, se puede definir el error de un clasificador C como
𝑃𝐸(𝐶) = 𝑃𝐸(𝐶 ∗) + 𝑆𝑒𝑠𝑔𝑜(𝐶) + 𝑉𝑎𝑟𝑖𝑎𝑛𝑧𝑎(𝐶) ,
Donde C∗ es el clasificador de Bayes y PE (prediction error) para el caso de clasificación se define
como
𝑃𝐸(𝐶) = 𝔼𝒯 [𝔼𝑿,𝒀 [𝐼(𝐶(𝑿,𝒯) ≠ 𝑌 )]] ,
Donde I es la función indicador que devuelve un 1 si el argumento es verdadero y un 0 en caso
contrario y 𝑿, 𝑌 es la distribución de los datos de entrenamiento. De esta forma, EX,Y es el valor
esperado sobre dicha distribución, T es cualquier conjunto de entrenamiento construido a partir de
ella y ET es la esperanza sobre todos los posibles conjuntos de entrenamiento.
Estadística
Expresiva
Computacional
62
El Error de Bayes 𝑃𝐸(𝐶 ∗) es el error intrínseco al problema de clasificación como consecuencia de
aquellas regiones del espacio de características en las que coexisten patrones de dos o más clases
distintas. No puede reducirse y constituye, por tanto, la cota mínima del error. Este error mínimo, que
es difícilmente medible en conjuntos de datos reales (no se conoce la distribución de las clases), viene
dado por el clasificador de Bayes C∗ , el cual clasifica cada patrón x como la clase más probable para
ese vector:
𝐶 ∗ (𝒙) = 𝑎𝑟𝑔 𝑚𝑎𝑥 𝑝(𝑦|𝒙) . y
Por tanto, con el objetivo de disminuir el error de clasificación, el sesgo y la varianza son los únicos
términos que pueden reducirse. Ambos tienen su origen en problemas de regresión, por lo que antes
de pasar a su definición para clasificación, se describen ambos conceptos enfocados a regresión:
Sesgo. El sesgo de un cierto algoritmo se obtiene a partir de la diferencia entre el valor real de
cada patrón y la media de las predicciones obtenidas para ese patrón usando distintos conjuntos
de entrenamiento. Mide, por tanto, el error en la tendencia central del algoritmo.
Varianza. La varianza se obtiene a partir de la diferencia entre la predicción media obtenida
para un patrón usando distintos conjuntos de entrenamiento y la predicción obtenida en cada
uno de ellos. Es decir, mide las variaciones en las predicciones cuando se usan distintos
conjuntos de entrenamiento.
De esta forma, familias de algoritmos predominantemente lineales tienen un sesgo alto (las
predicciones no son muy precisas) pero en cambio su varianza es baja (las variaciones entre las
predicciones obtenidas cuando se usan distintos conjuntos de entrenamiento no son muy cambiantes
ya que el número de parámetros a ajustar es pequeño). En cambio, al añadir no linealidad a los
algoritmos, el sesgo disminuye, pero la varianza aumenta (los modelos son más precisos, pero también
más ajustados al conjunto de entrenamiento).
En el caso de clasificación, la idea de sesgo y varianza es la misma que en el caso de regresión, pero
se necesita adaptar el concepto de predicción media de un patrón sobre distintos conjuntos de
entrenamiento. Para ello, se definen [22]:
𝑄(𝑦|𝒙) = 𝔼𝑇 [𝐼(𝐶(𝒙, 𝒯) = 𝑦)] ,
𝐶𝐴(𝒙) = 𝑎𝑟𝑔𝑚𝑎𝑥𝑄(𝑦|𝒙) , y
Donde 𝑄(𝑦|𝒙) corresponde a la proporción de los posibles conjuntos de entrenamiento T que
clasifican a x como y, 𝐶(𝒙, 𝑇) es la predicción de C sobre x cuando C ha sido entrenado con T y CA
es la clase más votada entre los distintos T. CA se utiliza para definir un clasificador no sesgado:
𝐶 𝑒𝑠 𝑛𝑜 𝑠𝑒𝑠𝑔𝑎𝑑𝑜 𝑒𝑛 𝒙 ⇔ 𝐶𝐴(𝒙) = 𝐶 ∗ (𝒙).
Por tanto, C(x,T) es no sesgado en x cuando, al aplicarse sobre todos los T posibles, C(x,T) selecciona
la clase más probable más veces que cualquier otra clase. De esta forma, se puede definir U como el
63
conjunto de todos los x para los que C es no sesgado (conjunto no sesgado) y B como su
complementario (conjunto sesgado).
A partir de los conjuntos anteriores, se define el sesgo y la varianza de C como:
𝑆𝑒𝑠𝑔𝑜(𝐶) = 𝐸𝑿, 𝑌 [𝐼(𝐶 ∗ (𝑿) = 𝑌 ), 𝑿 ∈ 𝐵] − 𝐸𝑇 [𝐸𝑿, 𝑌 [𝐼(𝐶(𝑿,𝒯) = 𝑌 ), 𝑿 ∈ 𝐵]] ,
𝑉𝑎𝑟𝑖𝑎𝑛𝑧𝑎(𝐶) = 𝔼𝑿, 𝑌 [𝐼(𝐶 ∗ (𝑿) = 𝑌), 𝑿 ∈ 𝑈] − 𝔼𝑇 [𝔼𝑿, 𝑌 [𝐼(𝐶(𝑿,𝒯) = 𝑌 ), 𝑿 ∈ 𝑈]] .
De esta forma, el sesgo se calcula sobre el conjunto de puntos sobre los que el clasificador es sesgado
(B). A partir de estos puntos, el sesgo es la diferencia entre aquellos que podían haber sido etiquetados
correctamente (ya que el clasificador de Bayes lo hace) y la proporción media de estos que son
etiquetados correctamente usando distintos conjuntos de entrenamiento. La varianza, en cambio, se
calcula a partir del conjunto no sesgado (U). Mide la diferencia entre la proporción de aciertos del
clasificador de Bayes (que en este caso coincide con el clasificador agregado 𝐶𝐴) y el acierto medio
del clasificador para cada uno de los conjuntos de entrenamiento; de esta forma, cuanta más
variabilidad exista al usar distintos conjuntos de entrenamiento, mayor será esta diferencia.
A partir de esta definición, si 𝐶(𝒙, 𝑇) 𝑦 𝐶 ∗ (𝒙) son sustituidos por 𝐶𝐴(𝒙) en la expresión anterior la
varianza puede reducirse hasta 0 ya que ahora 𝐶𝐴(𝒙) no depende de T y por tanto, en el segundo
término, su valor medio es justamente 𝐶𝐴(𝒙). Por tanto, se puede concluir a partir de estas definiciones
que clasificadores que combinan por votación las decisiones de varios clasificadores individuales
tenderán a reducir el error de varianza.
Además, los clasificadores inestables, como son los árboles de decisión, se caracterizan por su
varianza alta ya que pequeñas modificaciones en el conjunto de entrenamiento pueden generar árboles
con estructuras muy distintas. De esta forma, los conjuntos formados por árboles de decisión tienen
un amplio margen de mejora con respecto a la varianza. Sin embargo, en cuanto al sesgo, no hay
garantía de que sea menor en el conjunto que en cada uno de los clasificadores individuales. Por el
contrario, clasificadores estables, como pueden ser los discriminantes lineales o vecinos próximos,
no se ven muy afectados por cambios en el conjunto de entrenamiento por lo que no existen grandes
diferencias entre CA(x) y C(x,T) y, por tanto, ni la varianza original es alta ni su disminución
significativa.
Una vez expuestas las condiciones deseables para los conjuntos de clasificadores, las técnicas para
construirlos, cómo deben ser combinadas sus salidas y el porqué de las mejoras obtenidas a partir de
ellos, se detallan a continuación las características de los tres algoritmos principales para la
construcción de conjuntos de clasificadores: bagging, boosting y random forests.
4.7.2.1 Bagging
Uno de los métodos más extendidos y a la vez más sencillos para construir conjuntos de clasificadores
es bagging [Breiman, 1996a]. El término bagging es un acrónimo de bootstrap aggregating ya que
el algoritmo construye cada uno de los clasificadores del conjunto a partir de lo que se conoce como
una muestra bootstrap, las cuales se generan tomando del conjunto de entrenamiento tantos elementos
con reemplazamiento como éste contenga. De esta forma, se generan T conjuntos del mismo tamaño
que el conjunto original (uno por cada clasificador), en los que algunos ejemplos no aparecen mientras
que otros están presentes más de una vez. Una vez construido el conjunto, las salidas de cada uno de
los clasificadores se combinan por votación no ponderada.
64
Debido a que cada clasificador individual se construye a partir de una muestra del conjunto de
entrenamiento en la que se toman N elementos con reemplazamiento sobre el conjunto total de N
elementos, no todos son usados en cada clasificador, lo cual está enfocado a conseguir independencia
entre los clasificadores. De esta forma, la precisión de cada uno de los clasificadores individuales es
menor que la que se obtendría si se construyera un clasificador con todo el conjunto pero, al
combinarlos, se compensan los errores de cada uno y se mejora la precisión que obtendríamos con
uno solo que utilizara todos los datos. La proporción de elementos distintos que hay en cada muestra
bootstrap es igual a 1 menos la probabilidad de que un elemento no aparezca:
𝑃 = 1 − (1 −1
𝑁)𝑁≃ 1 − 𝑒−1 ≃ 0.63 𝑝𝑎𝑟𝑎 𝑁 𝑔𝑟𝑎𝑛𝑑𝑒 (𝑁 ≫ 1) ,
Donde (1 − 1/𝑁)𝑁 es la probabilidad de que un elemento no aparezca en N extracciones sobre N
datos equiprobables, la cual es aproximadamente 𝑒−1 si N es suficientemente grande. Por tanto, cada
clasificador se construye con una muestra en la que el 63,2% de los datos son distintos.
A partir de los datos que no se usan al construir cada clasificador (aproximadamente un 37% del
total), se puede obtener una estimación del error de generalización, la cual se conoce como estimación
out-of-bag [Breiman, 2001]. De la misma forma que cada clasificador no utiliza en torno a un 37%
de los ejemplos, cada ejemplo del entrenamiento no se ha utilizado para construir en torno a un 37%
de los clasificadores. De esta forma, cada uno de los ejemplos se puede clasificar utilizando sólo
dichos clasificadores, los cuales no han visto el ejemplo antes, obteniendo así una estimación válida
de su error. Promediando el error para todos los ejemplos del conjunto de entrenamiento se obtiene
el error de generalización del conjunto sin necesidad de un conjunto de test adicional ya que la
estimación out-of-bag es tan precisa como un conjunto de test del mismo tamaño que el conjunto de
entrenamiento. La única restricción es que la estimación obtenida se basa únicamente en
aproximadamente un tercio de los clasificadores y, debido a que el error disminuye al aumentar el
número de clasificadores, la estimación out-of-bag tiende a sobrestimar el error de generalización.
Para conseguir una estimación no sesgada sería necesario seguir construyendo clasificadores más allá
del punto donde el error de entrenamiento converge.
Bagging constituye, dentro de las técnicas anteriormente descritas, una aproximación basada en la
manipulación de los datos de entrenamiento, en las cuales es vital que el clasificador base utilizado
sea inestable (varianza alta). De hecho, bagging reduce muy significativamente el error de
generalización para este tipo de clasificadores mientras que puede no afectar (o incluso empeorar) el
rendimiento de clasificadores base estables. Esto sucede así debido a que bagging reduce la varianza
del algoritmo base, estabilizando la clasificación obtenida mediante votación y consiguiendo que las
predicciones no fluctuén mucho al usar distintos conjuntos de entrenamiento. Por tanto, los árboles
de decisión son buenos candidatos sobre los que aplicar bagging aunque esta técnica haga perder una
de sus grandes ventajas, la intuitiva interpretación de sus resultados en forma de reglas.
Otra ventaja de este método es su alta escalabilidad: cada uno de los clasificadores puede ser
construido (y evaluado) en paralelo ya que la construcción de cada uno de ellos es completamente
independiente de la de los demás, lo cual implica que el tiempo necesario para construir un conjunto
de clasificadores no aumenta proporcionalmente al número de clasificadores utilizados.
65
4.7.2.1 Boosting
Otra de las técnicas más utilizadas y eficaces para construir conjuntos de clasificadores es boosting
[Freund and Schapire, 1995; Freund and Shapire, 1996]. Boosting es un algoritmo adaptativo en el
que cada clasificador se construye en base a los resultados obtenidos en los clasificadores previos
mediante la asignación de pesos a cada uno de los ejemplos de entrenamiento: patrones que han sido
incorrectamente clasificados por los clasificadores anteriores tendrán más importancia a la hora de
construir el nuevo clasificador. De esta forma, los clasificadores se centran en aquellos ejemplos que
son más difíciles de etiquetar correctamente por el conjunto. En este caso, una vez construidos los
clasificadores, las salidas se combinan de forma ponderada según la importancia de cada clasificador
individual para obtener el resultado del conjunto.
Algoritmo 1: Algoritmo AdaBoost.M1
1 Entradas Conjunto ℒ = {(𝒙𝒏, 𝑦𝑛)|𝑛 = 1,2, . . . , 𝑁, 𝒙𝒏 ∈ ℝ𝑑 , 𝑦𝑛 ∈ {1,2}}
2 Clasificador débil WeakLearn
3 Número de clasificadores T
En su origen, boosting se definió como una técnica mediante la cual se reduce significativamente el
error de cualquier algoritmo débil (entendiendo como algoritmo débil todo aquel cuyo error es un
poco menor que el clasificador aleatorio) pero, en la práctica, es un método que se combina con
árboles de decisión, los cuales no son considerados débiles. Según cuál sea el algoritmo utilizado,
existen dos variantes de boosting: reweighting y resampling. En el caso de que el algoritmo se pueda
adaptar para manejar datos ponderados, todos los ejemplos y sus respectivos pesos son utilizados por
cada clasificador base, el cual es el encargado de tenerlos en cuenta (boosting by reweighting). En
caso de que el algoritmo no pueda gestionar datos ponderados, es necesario realizar un muestreo con
4 for n :=1 to N do
5 ω 1 ,n := 1 N
6 for t :=1 to T do
7 c t := WeakLearn ( , )
8 t := P N n =1 ω t,n · I ( c t ( x n ) = y n )
9 if t ≥ 0 , 5 then
10 T := t − 1
11 Abort loop
12 β t :=
13 for n :=1 to N do
14 if c t ( x n )= y n then
15 ˜ ω t +1 ,n := β t · ω t,n
16 else
17 ˜ ω t +1 ,n := ω t,n
18 Z t := P N n =1 ˜ ω t +1 ,n
19 for n :=1 to N do
20 ω t +1 ,n := ˜ ω t +1 ,n
Z t
Salida : 𝐶(𝑥) = arg𝑚𝑎𝑥𝑦∑ log൬
1
𝛽𝑡൰ 𝐼(𝑐𝑡(𝑥) = 𝑦)
𝑇
𝑡=1
66
reemplazamiento en función de los pesos de cada ejemplo de tal forma que el clasificador recibe un
conjunto de datos sin pesar (boosting by resampling).
Aunque existen numerosas variantes basadas en la idea anteriormente expuesta, el algoritmo más
utilizado y popular, por su simplicidad de implementación y porque no requiere conocimiento previo
sobre la precisión de los clasificadores base, es AdaBoost (adaptive boosting), del que existen dos
versiones distintas: AdaBoost.M1 y AdaBoost.M2. Ambas son equivalentes para problemas de dos
clases por lo que sólo se describirá la versión más simple, AdaBoost.M1. Sin pérdida de generalidad,
se supone que en este caso el algoritmo es utilizado para boosting by reweighting.
El algoritmo AdaBoost.M1 (algoritmo 1) parte de un conjunto de datos L, un algoritmo de aprendizaje
(denotado como WeakLearn) y el número de clasificadores a construir T. En cada iteración se
construye un clasificador t para el que cada ejemplo xn tiene un determinado peso ωt,n, que en el caso
del primer clasificador son inicializados equiprobables. Cada uno de los clasificadores t tiene como
objetivo minimizar el error t en base a la distribución ωt y es a partir de este t (sólo si éste es menor de
0,5) a partir del cual se distribuyen los pesos para el siguiente clasificador, ωt+1. Esta redistribución
de pesos se realiza de tal manera que el error obtenido por t para los datos con pesos ωt+1 sea
exactamente 0,5; con este procedimiento se consigue que los pesos de ejemplos correctamente
clasificados por clasificadores previos sean más bajos mientras que los más difíciles de clasificar
tengan pesos más altos. Una vez todos los clasificadores son construidos, el clasificador final es una
combinación de todos ellos en los que su peso es inversamente proporcional al error que cometieron
en su construcción. De esta forma, clasificadores con menor error son más importantes en el conjunto
final. Por tanto, boosting, dentro de las diferentes técnicas de construcción de conjuntos de
clasificadores, es una técnica basada en la manipulación de los datos de entrenamiento.
En el pseudocódigo se observa que una vez que se obtiene un clasificador con error mayor de 0,5,
éste es descartado y se interrumpe la ejecución del algoritmo. Esto sucede así ya que esta condición
es necesaria para que el error del conjunto de clasificadores sobre el conjunto de entrenamiento
cumpla lo siguiente [23]:
∈=#{𝑛|𝐶(𝒙𝒏≠𝑦𝑛}
𝑁≤ 𝑒(−2∑ 𝛾𝑡
2𝑇𝑡−1 ) ,
Donde ∈𝑡= 1/2 − 𝛾𝑡. De esta forma, el error del conjunto de clasificadores disminuye de forma
exponencial y la mejora de cada uno de los clasificadores individuales contribuye en la disminución
de la cota superior de error del conjunto. Aunque para problemas multiclase esta restricción puede
resultar difícil de cumplir, para el caso de los problemas de dos clases implica ser sólo ligeramente
mejor que un clasificador aleatorio, lo cual, en caso de no cumplirse, puede resolverse intercambiando
las etiquetas de ambas clases.
En cuanto a la redistribución de pesos, se puede comprobar que se hace de tal forma que el error que
obtendría el clasificador t para los datos con pesos ωt+1 es exactamente 0,5; es decir, el peso de los
ejemplos que clasifica correctamente es el mismo que el de los ejemplos mal clasificados si los datos
están distribuidos según 𝜔𝑡+1:
∑ �̃�𝑡+1,𝑛𝑛|𝑐𝑡(𝒙𝒏)≠𝑦𝑛
=∑𝜔𝑡+1,𝑛𝑍𝑡𝑛|𝑐𝑡(𝒙𝒏)≠𝑦𝑛
=1
𝑍𝑡 ,
67
∑ �̃�𝑡+1,𝑛𝑛|𝑐𝑡(𝒙𝒏)=𝑦𝑛
=∑𝜔𝑡+1,𝑛𝑍𝑡𝑛|𝑐𝑡(𝒙𝒏)=𝑦𝑛
=1
𝑍𝑡 ∑ 𝛽𝑡. 𝜔𝑡,𝑛 =
1
𝑍𝑡
∈𝑡1 −∈𝑡
(1 −∈𝑡) =∈𝑡𝑍𝑡
𝑛|𝑐𝑡(𝒙𝒏)=𝑦𝑛
La ecuación anteriir corresponde al peso de los ejemplos mal clasificados por ct cuando los datos están
distribuidos según ωt+1 mientras que se calcula el correspondiente a los ejemplos correctamente
clasificados. Como ambos son iguales y deben sumar 1, se deduce que ambas expresiones son iguales
a 0,5. Así es como AdaBoost consigue que los datos mal clasificados por el clasificador t, que con la
distribución ωt tenían un error menor de 0,5, incrementen su peso dentro de la muestra hasta suponer
un error del 0,5 para el clasificador t.
Por tanto, aunque boosting no exija explícitamente (como en el caso de bagging) que los
clasificadores base sean inestables, si ct−1 fuera igual que ct, el esquema de redistribución de pesos
utilizado haría que 5 y, por tanto, βt = 1, lo cual provocaría que no se actualizasen los pesos
en la iteración t. Por tanto, que los clasificadores utilizados no sean demasiado estables es una
característica deseable para boosting. De la misma manera, clasificadores que se ajustan
completamente a los datos de entrenamiento tampoco son muy adecuados para boosting ya que harían
que t fuese 0, forzando al algoritmo a terminar prematuramente [24]. Por tanto, árboles de decisión
con poda son muy convenientes y obtienen muy buenos resultados en conjunción con boosting. Otra
ventaja de los árboles de decisión es que se trata de un algoritmo que se puede adaptar fácilmente
para tratar ejemplos con distintos pesos y poder aplicar boosting by reweighting, que parece ser más
efectivo que boosting by resampling [24].
En cuanto a los resultados obtenidos, boosting constituye uno de los mejores algoritmos para construir
conjuntos de clasificadores [17], [24], [25]. Esto es debido a que boosting combina dos efectos: reduce
el sesgo del clasificador base debido a que los fuerza a no cometer los mismos errores (corrige los
errores en la tendencia central del algoritmo) y también reduce la varianza al combinar mediante voto
distintas hipótesis [17]. Sin embargo, presenta problemas de generalización en presencia de datos con
ruido (outliers, errores en el valor de algunos atributos o en algunas etiquetas de clase) ya que los
clasificadores se centran en los ejemplos difíciles sin tener en cuenta si son datos válidos o no. En
cambio, bagging parece capaz de explotar el ruido de los datos para generar clasificadores más
diversos obteniendo muy buenos resultados para este tipo de conjuntos de datos [25]. Por último, otra
desventaja de boosting es que no es paralelizable ya que cada clasificador se construye en base a los
resultados obtenidos por el clasificador previo.
4.7.2.2 Random Forests
Como ya se ha expuesto anteriormente, existen diversas técnicas de construcción de conjuntos de
clasificadores, las cuales están enfocadas a aumentar la diversidad entre los clasificadores
individuales. En muchas ocasiones, la forma de llevar a cabo estas técnicas es a partir de un conjunto
de números aleatorios:
En bagging [16] cada clasificador se construye a partir de una muestra bootstrap, la cual se
genera utilizando tantos números aleatorios como elementos tenga el conjunto de
entrenamiento.
68
En random subspace [18] cada clasificador base utiliza sólo un subconjunto de atributos
seleccionado aleatoriamente de entre el total de las variables. De esta forma, cada clasificador
se restringe a un subespacio aleatorio de atributos.
Las técnicas output flipping y class switching [19], [20] se basan en la manipulación aleatoria
de las etiquetas de clase, por lo que necesitan de números aleatorios para seleccionar los datos
cuyas etiquetas serán cambiadas.
Randomization [25] introduce aleatoriedad en el algoritmo de aprendizaje construyendo
conjuntos de clasificadores con árboles de decisión en los que el valor de corte es seleccionado
aleatoriamente entre los F mejores cortes posibles.
Si el clasificador base utilizado es un árbol de decisión, el concepto random forest [14] engloba todas
estas técnicas. Cualquier conjunto de clasificadores en el que el clasificador base es un árbol de
decisión construido a partir de un vector de números aleatorios Θt, donde los {Θt} son
independientes e idénticamente distribuidos y el resultado del clasificador final se obtiene mediante
votación no ponderada se conoce como random forest.
El objetivo de este tipo de métodos es, como en todo conjunto de clasificadores, inyectar al algoritmo
la aleatoriedad justa para maximizar la independencia de los árboles manteniendo una precisión
razonable. En el caso de los random forests, estas cualidades se miden a nivel del conjunto y se
denotan como fuerza y correlación. La fuerza del conjunto de clasificadores se define como
𝑠 = 𝔼𝑿,𝒀 𝑚𝑟(𝑿, 𝑌 ) ,
Donde 𝑚𝑟(𝑿, 𝑌 ) es la función de margen de un random forest que, en el caso de dos clases, se define
como
𝑚𝑟(𝑿, 𝑌 ) = 𝔼𝛩 [𝑐(𝑿,𝛩) = 𝑌 ] − 𝔼𝛩 [𝑐(𝑿, 𝛩) 6 = 𝑌 ] = 2 · 𝔼𝛩 [𝑐(𝑿, 𝛩) = 𝑌 ] − 1 ,
Donde 𝔼𝛩 [𝑐(𝒙, 𝛩) = 𝑦] es el límite de la proporción de árboles ct que, dado un patrón x, lo clasifican
correctamente (al aumentar T):
1
𝑇∑ 𝐼(𝑐𝑡(𝑋, Θt) = 𝑦) → 𝔼Θ[𝑐(𝑋, Θ) = 𝑦]𝑇𝑡=1
El concepto de margen en los conjuntos de clasificadores sirve para medir la seguridad con la que el
conjunto acierta o se equivoca en su predicción ya que es la diferencia entre la proporción de árboles
que aciertan y los que se equivocan. De esta forma, el margen es un valor definido en el intervalo
[−1,+1] siendo positivo cuando el ejemplo se ha clasificado correctamente y negativo en caso
contrario. Por tanto, cuanto mayor sea el margen medio obtenido por un random forest sobre un
conjunto de datos, mayor será su fuerza.
Por otro lado, también en el caso de problemas de dos clases, la correlación entre los árboles dentro
del conjunto se mide de la siguiente forma:
𝜌¯ = 𝐸𝛩,Θ′ [𝜌(𝑐(·, 𝛩), 𝑐(·, 𝛩′))] ,
Donde ρ corresponde al coeficiente de correlación entre dos variables aleatorias, donde las etiquetas
de clase deberán fijarse como +1 y −1 y donde Θ y Θ0 son independientes con la misma distribución.
En este caso, es deseable que la correlación del conjunto sea mínima para aumentar así la
69
independencia entre los distintos árboles del conjunto. La estimación de estos parámetros de fuerza y
correlación a partir de datos experimentales se describe en la subsección 4.3.2.
Aunque todas las técnicas anteriormente expuestas están enfocadas a disminuir la correlación de los
clasificadores base manteniendo su precisión y todas ellas consiguen disminuir significativamente
(unas en mayor medida que otras) el error del clasificador base, ninguna de ellas consigue, en general,
el rendimiento obtenido por AdaBoost o por cualquier otro método que asigne pesos de forma
adaptativa durante la construcción del conjunto de clasificadores. Sin embargo, los random forests
propuestos en [14] sí logran igualar (y, en ocasiones, mejorar) la precisión conseguida por AdaBoost.
Estos nuevos métodos, de resultados muy similares, se denominan Forest-RI y Forest-RC. Ambos
métodos se basan en la combinación de bagging y árboles de decisión no podados en los que las
decisiones en cada nodo se toman considerando sólo un subconjunto de variables seleccionadas
aleatoriamente:
Forest-RI. El pseudocódigo 2 describe este procedimiento, en el que la función
MuestreoBootstrap devuelve una muestra en la que se han tomado N elementos con
reemplazamiento del conjunto total de N elementos y ConstruyeArbolAleatorio devuelve un
árbol en el que, en cada nodo, F variables son seleccionadas aleatoriamente y el corte elegido
corresponde al mejor entre todos los posibles para el subconjunto de variables seleccionado.
Forest-RC. En este caso es necesario definir dos parámetros: L, el número de variables que se
combinarán en cada corte, y F, el número de combinaciones que se generarán para cada nodo.
De esta forma, cada árbol, construido a partir de una muestra bootstrap, selecciona
aleatoriamente L variables en cada nodo y genera a partir de ellas F combinaciones lineales
cuyos coeficientes son seleccionados a partir de una distribución aleatoria uniforme en el
intervalo [−1,+1]. El corte seleccionado, que en este caso será oblicuo (si L > 1), será el mejor
entre las F combinaciones lineales creadas.
En el caso de problemas con pocas variables, si se utiliza Forest-RI y el valor de F elegido
corresponde a una proporción importante de ellas, puede suceder que la correlación entre los
árboles sea muy alta. Por ello, para este tipo de problemas en los que los datos tienen pocos
atributos, es más recomendable el uso de ForestRC ya que de esta forma nuevas variables son
creadas a partir de combinaciones lineales aleatorias de las ya existentes.
Algoritmo 2: Algoritmo Forest-RI
1 Entradas Conjunto L = {(xn,yn) | n = 1,2,...,N,xn ∈ Rd,yn ∈ {1,2}}
2 Número de árboles T
3 Número de variables a seleccionar en cada nodo F
4 for t := 1 to T do
5Lbt := MuestreoBootstrap(L)
6ct := ConstruyeArbolAleatorio(Lbt,F)
Salida: 𝐶(𝒙) = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑦 ∑ 𝐼(𝑐𝑡(𝒙) = 𝑦)𝑇𝑡=1
De esta forma (restringiéndonos al caso de Forest-RI) los dos únicos parámetros que se deben ajustar
para desarrollar estos algoritmos son el número de variables a seleccionar en cada nodo, F, y el
número de árboles a construir, T:
70
Uno de los resultados más sorprendentes de los experimentos llevados a cabo en [14] es que el
error de generalización no es muy sensible al número de variables seleccionadas aleatoriamente
en cada nodo. Las medidas de fuerza y correlación del conjunto de clasificadores justifican
este hecho, ya que, si se mide la fuerza y la correlación de un conjunto de clasificadores
construido con distintos valores de F, se observa que la fuerza aumenta hasta un determinado
punto (significativamente menor que el número total de variables) a partir del cual se estabiliza,
mientras que la correlación entre los clasificadores siempre aumenta al aumentar el valor de F.
Por tanto, existe un cierto valor de F óptimo (dependiente del problema) en el que, para la
fuerza máxima, la correlación de los clasificadores es mínima aunque en cualquier caso las
oscilaciones en el error al utilizar distintos valores de F no son muy significativas.
Al aumentar el número de árboles, el error de generalización converge, en el caso De dos clases, a
𝐸𝑿,𝒀 [𝐼(𝔼𝛩 [𝑐(𝑿,𝛩) = 𝑌 ] − 𝔼𝛩 [𝑐(𝑿, 𝛩) ≠ 𝑌 ] < 0)] .
Es decir, la proporción de datos en la que el random forest se equivoca converge según aumenta
el número de árboles. Por tanto, a partir de un cierto número, el error de generalización se
estabiliza de tal forma que aumentar el tamaño del conjunto nunca provocará un sobreajuste
del modelo a los datos.
Por tanto, en resumen, las seis grandes ventajas de los nuevos métodos propuestos son las siguientes:
1. La precisión obtenida mediante estos métodos es igual o mejor que la conseguida por
AdaBoost. Este hecho parece indicar que este tipo de procedimientos puede suponer también,
al igual que AdaBoost, una reducción del sesgo en el clasificador.
2. Es robusto frente a datos con ruido y a la presencia de outliers. Al tratarse de un método basado
en bagging, hereda de éste su estabilidad frente al ruido a diferencia de AdaBoost, que es muy
sensible a estos problemas.
3. Es más rápido computacionalmente que bagging, que evalúa todos los posibles cortes de todas
las variables, y que boosting, que es secuencial.
4. Al utilizar bagging permite obtener una estimación del error de generalización sin necesidad
de un conjunto de test adicional, a partir de los ejemplos out-of-bag
5. Es sencillo de implementar y paralelizable.
6. Nunca se sobreajusta al conjunto de entrenamiento.
71
Capítulo 5. Rebalanceo del Sistema
5.1 Modelo de rebalanceo inicial
Como se ha presentado en el capítulo anterior existen diversos trabajos relacionados con
problemas de optimización de rutas de carga y descarga con los cuales es posible tratar el
problema del rebalanceo de un Sistema de Bicicletas Públicas, en este capítulo presentaremos
dos modelos usados en este trabajo, el primero de ellos desarrollado por el autor de este
trabajo y el segundo basado en una combinación de trabajos previos pero aterrizado a la
realidad del sistema ECOBICI para lograr tener mejores resultados.
5.1.1 Modelando el Sistema para su Reordenamiento.
Ilustración 20 Reordenamiento del sistema, realizado por camiones y camionetas
72
Se propone la generación de un grafo, en el cual cada nodo represente a una CE, y el valor
del mismo estará conformado por un identificador (puede ser el id de la estación), seguido
del valor pronosticado de Bicicletas existentes al final del periodo de tiempo medido
(demanda).
Los números negativos representan un déficit en la CE o en palabras más sencillas el número
de personas que se predice que acudieran a la CE y la encontrarán vacía.
El valor de las aristas corresponderá a un valor que denote el tiempo de traslado en automóvil
entre los nodos conectados por la arista.
Teóricamente la ventana de tiempo en la que se realizan las predicciones puede ser de
duración infinita y cada una de las n CEs del sistema tiene una conectividad con las n-1
estaciones restantes, es decir cada nodo del grafo tiene n-1 aristas; por lo cual estaríamos
construyendo un grafo completo; sin embargo, existen diversas consideraciones que
podemos utilizar para simplificar el grafo que será construido para reorganizar el sistema.
Estas consideraciones están basadas realizar podas espaciales y temporales al sistema de
reordenamiento, es posible realizar una estas ya que podemos delimitar el reordenamiento a
una ventana de tiempo específica y eliminar aquellas aristas que impliquen una distancia muy
grande o bien, en caso de tener la información temporal, las aristas o caminos que tomen
demasiado tiempo recorrer. Una mejor explicación de estas consideraciones posibles se
mencionará más adelante en este capítulo y en el capítulo siguiente.
Ilustración 21 Grafo inicial para el rebalanceo
73
5.1.2 Algoritmo Inicial para el reordenamiento del sistema A continuación, se presenta un algoritmo general para el reordenamiento del sistema.
Sea:
𝑽:𝐸𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑒 𝑡𝑜𝑑𝑜𝑠 𝑙𝑜𝑠 𝑛𝑜𝑑𝑜𝑠
𝑬: 𝐸𝑙 𝐶𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑒 𝑡𝑜𝑑𝑎𝑠 𝑙𝑎𝑠 𝑎𝑟𝑖𝑠𝑡𝑎𝑠
𝑺𝑹: 𝐸𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑒 𝑎𝑟𝑖𝑠𝑡𝑎𝑠 𝑞𝑢𝑒 𝑟𝑒𝑝𝑟𝑒𝑠𝑒𝑛𝑡𝑎𝑛 𝑙𝑎𝑠 𝑟𝑢𝑡𝑎𝑠 𝑑𝑒 𝑟𝑒𝑜𝑟𝑑𝑒𝑛
𝑺𝑾:𝐸𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑒 𝑙𝑜𝑠 𝑣𝑎𝑙𝑜𝑟𝑒𝑠 𝑑𝑒 𝑙𝑎 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑏𝑖𝑐𝑖𝑐𝑙𝑒𝑡𝑎𝑠 𝑖𝑛𝑡𝑒𝑟𝑐𝑎𝑚𝑏𝑖𝑎𝑑𝑎𝑠
Hacer S= {}
Mientras exista nodos con demandas negativas
Ordenar V de menor a mayor con base en la cantidad pronosticada de bicicletas
(los negativos van antes que los positivos);
Para cada v en V cuya cantidad pronosticada sea negativa
Hacer Ev el conjunto de aristas que salen de v;
Ordenar Ev de menor a mayor, en caso de tener dos aristas con el mismo
peso, ubicar primero aquella que tenga el nodo diferente de v con mayor
cantidad de bicicletas;
Recarga = falso;
Para cada e en Ev
Hacer c el nodo que conecta con e que no es v
Si |cantidad de c|>|cantidad de v|
agregar e a SR;
agregar |cantidad de v| a SW;
c puede alimentar a v;
cantidad de c = demanda de c - |demanda de v|;
cantidad de v=0;
Break (Terminar Ciclo para);
Recarga = verdadero;
Fin Si
Fin Para
Si Recarga = falso
Recargar nodo v con el nodo con mayor cantidad de bicicletas
(c)
Agregar la arista de vc a SR;
Agregar |cantidad de c| a SW;
Actualizar los valores de cantidades de v y de c;
Fin Para
Fin Mientras
Algoritmo 1 Algoritmo de rebalanceo
74
Después de la ejecución del algoritmo el grafo propuesto al inicio quedaría de la forma
presentada en la siguiente figura, quizá sea lo más conveniente no dejar en cero las estaciones
con demanda negativa, sino considerar algunas bicicletas adicionales para minimizar el
efecto de algún error en la predicción, por el momento el alcance de este trabajo mantendrá
el algoritmo de esta forma; dejando también pendiente por el momento demostrar si la
solución encontrada es óptima o no y en caso de serla demostrar si es única.
Ilustración 22 Grafo Re balanceado
SR = {17-31, 66-96, 66-31}
SW= {19, 9, 1}
La solución para reorganizar el sistema es:
1. Tomar 19 Bicicletas de la estación 17 y llevarlas a la 31
2. Tomar 9 Bicicletas de la estación 66 y llevarlas a la 96
3. Tomar 1 una Bicicleta de la estación 66 y llevarla a la 31 (este paso implicaría un
movimiento muy costoso, para únicamente mover una bicicleta, pero ya el operador del
75
servicio pudiera considerar llevar una mayor cantidad de bicicletas, o bien no realizar este
transporte)
Este algoritmo se realizará en intervalos finitos y constantes de tiempo, lo cual permitirá
realizar mejoras al algoritmo que serán mencionadas más adelante.
El algoritmo presentado anteriormente funciona de manera adecuada con conjuntos de datos
pequeños, sin embargo, tiene las siguientes deficiencias:
• No considera la posición de los camiones
• No considera diferentes capacidades para los vehículos.
Se ha presentado un algoritmo para encontrar las rutas y cargas para la redistribución del
sistema, persiguiendo aumentar la disponibilidad de las bicicletas en las CEs a lo largo del
día, a continuación, se explicará el proceso de construcción del grafo para el rebalanceo.
Para la construcción del grafo es necesario lo siguiente:
• Conjunto de nodos: Cuya cantidad será en un principio el número de las CEs del
sistema las cuales pueden ser etiquetadas con un id
• Conjunto de aristas: En un principio se puede considerar que es posible ir desde
cualquier CE a otra, es decir estamos hablando de un grafo completo.
• También es necesario asignar un el valor de cada arista el cual como se ha
mencionado debería ser el tiempo aproximado de viajar en automóvil de una CE
a otra, finalmente el valor de cada nodo será la cantidad de bicicletas que se espera
tener al terminar el período de tiempo, ambos cálculos serán explicados en las
secciones siguientes.
Se sugiere la utilización del algoritmo anterior únicamente como un auxiliar en la toma de
decisiones, esto podría servir a los operadores del servicio para conocer diferentes formas de
satisfacer la demanda, quedando como una decisión de ellos el establecimiento de las rutas
que deberán tomar los diferentes vehículos disponibles para el reordenamiento.
𝛥𝑡
Ilustración 23 Partición temporal
76
Debido a que la solución propuesta es válida con las limitantes mencionadas y que es factible
de utilizar solo como estrategia para establecer de manera manual las rutas que deberán tomar
los camiones.
5.1.3 Formulación matemática del problema de Rebalanceo.
A continuación, se presenta un modelo matemático basado en los trabajos realizados por
[10], [26], [27], [28], [29] agregando las consideraciones necesarias para su adecuación a la
realidad del Sistema de Transporte Individual de la Ciudad de México
Sea k un conjunto de vehículos. Para cada vehículo 𝑘 ∈ 𝐾 asociaremos una capacidad 𝑄𝑘,
con una carga inicial al inicio del tiempo de redistribución 𝑄𝑘0 y una posición inicial dada por
el punto 𝑢𝑘. Sea 𝐸 el conjunto de estaciones del Sistema de Bicicleta Pública. Para cada 𝑒 ∈
𝐸 asignaremos una capacidad máxima, 𝐶𝑒 (en el sistema ECOBICI actual es un número entre
11 y 38), el número de bicicletas con que se encuentra cada estación al inicio del tiempo de
redistribución lo denotaremos como 𝐶𝑒0 el tiempo de operación de un día de servicio lo vamos
a discretizar en un conjunto de 𝑇. Esto se hace para tener en cuenta la posibilidad de visitar
la misma estación en tiempos diferentes. Por el bien de la claridad y sencillez del problema
vamos a asumir que los períodos estarán indexados desde 1 hasta |𝑇|.
Vamos a considerar un conjunto de estados denotado como 𝑆, compuesto por:
1) La posición inicial de los vehículos en el tiempo 0, {(𝑢𝑘, 0): 𝑘 ∈ 𝐾
2) Nodos para las estaciones en diferentes períodos de tiempo {(𝑒, 𝑡), 𝑒 ∈ 𝐸, 𝑡 ∈ 𝑇}
3) Un estado imaginario Ø para representar el final de una ruta en la planificación
Vamos a nombrar como 𝑒(𝑠) y 𝑡(𝑠) al nodo(estación) y el período correspondiente del estado
𝑠 ≠ Ø
Vamos a nombrar como 𝑆𝑒 al subconjunto de estados compuestos por los pares
(𝑒, 𝑡), 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑎 𝑒 ∈ 𝐸 𝑦 𝑡𝑜𝑑𝑎 𝑡 ∈ 𝑇.
Para un estado 𝑠 ∈ 𝑆𝑒 establecemos 𝑝𝑟𝑒𝑑(𝑠) = (𝑒(𝑠), 𝑡(𝑠) − 1) si 𝑡(𝑠) ≥ 2 y 𝑠𝑢𝑐(𝑠) =
(𝑒(𝑠), 𝑡(𝑠) + 1) si 𝑡(𝑠) ≤ |𝑇| − 1
Para cada estado 𝑠 ∈ 𝑆𝑒 vamos a asociar una demanda de bicicletas 𝑓𝑠 donde un 𝑓𝑠 ≥ 0 es un
punto de recolección y 𝑓𝑠 < 0 es un punto de entrega.
77
Ahora vamos a definir un grafo 𝐺 = (𝑆, 𝐴) donde el conjunto de arcos 𝐴 se define de la
siguiente manera:
Supongamos que los tiempos de recorrido se escalan para tener las mismas unidades que la
discretización del tiempo, por ejemplo, si un período de tiempo representa una ventana de 5
minutos entonces un viaje de 10 minutos comenzando en el período 𝑡 terminaría en el período
𝑡 + 2. El conjunto de aristas 𝐴 está compuesto de tres diferentes tipos:
1. Contiene todos los posibles viajes directos entre dos pares de estados, por ejemplo,
todos los arcos (𝑠, 𝑠′) ∈ 𝑆𝑥𝑆 en donde 𝑡(𝑠′) − 𝑡(𝑠) ≥ 𝑑(𝑒(𝑠), 𝑒(𝑠′) > 𝑡(𝑠′) −
𝑡(𝑠) − 1 donde d(~,~) representa la distancia entre dos nodos.
2. Contiene todos los arcos (𝑠, 𝑠𝑢𝑐(𝑠)) para toda 𝑠 ∈ 𝑆 tal que 𝑡(𝑠) ≤ |𝑇| − 1|, estos
arcos representan la acción de esperar en una estación 𝑒(𝑠) por un período de tiempo.
3. Contiene todos los arcos (𝑠, Ø) representando el fin de las rutas del vehículo.
Nota que podemos considerar la función de distancia d(~,~) ser dependiente del tiempo,
como pudiera ser el resultado real del tiempo necesario para ir de dos puntos cualquiera en
la Ciudad de México según la cantidad de tráfico existente en el momento, además de
considerar el tiempo promedio de servicio en una estación, por el momento para simplificar
el modelo tomaremos la función de distancia como independiente del tiempo.
3
2
1
𝑢10
𝑢20
1
1
1
1
2
3/2
1
1
2
Ilustración 24 Estado inicial de la red
78
5.1.4 Formulación del conjunto de aristas del grafo.
Vamos a considerar la red espacio temporal previamente definida.
• Para cada estado 𝑠 ∈ 𝑆𝑒 consideremos 𝑦𝑠+, 𝑦𝑠
− ≥ 0 como dos variables continuas que
representan la falta o exceso de bicicletas en el estado s, respectivamente (estas dos
cantidades juntas representan la demanda no satisfecha).
• Sea 𝑧𝑠 ≥ 0 una variable continua que representa el número de bicicletas en el estado
𝑠.
• Para toda arista 𝑎 ∈ 𝐴 y todo vehículo 𝑘 ∈ 𝐾 hagamos 𝑤𝑎𝑘 una variable binaria igual
a 1 si y solo si el vehículo 𝑘 para por el arco 𝑎 en su ruta y 0 de lo contrario.
• Sea 𝑥𝑎𝑘 ≥ 0 una variable continua igual a la carga (cantidad de bicicletas) que lleva
el vehículo 𝑘 en la arista 𝑎 en esta ruta. Estas cargas son enteras, pero pueden
considerarse continuas porque pueden ser obtenidas solucionando el problema de
flujo de costo mínimo en la red espacio temporal para valores enteros fijos de las
variables 𝑤 de flujo de vehículos.
• Para cada estado 𝑠 ∈ 𝑆 denotaremos como 𝛿+(𝑠) el conjunto de aristas terminando
en 𝑠 y como 𝛿−(𝑠) al conjunto de aristas iniciando en 𝑠.
𝑡1 𝑡2 𝑡3 𝑡14
Ilustración 25 Expansión espacio temporal de la red
79
A continuación, presentaremos una formulación matemática para minimizar el problema de
la demanda la cual será nuestra función objetivo.
1.
𝑚𝑖𝑛∑ (𝑦𝑠+ + 𝑦𝑠
−)𝑠∈𝑆𝑒
Con la ecuación anterior buscamos minimizar la demanda no satisfecha. Esto es el número
de usuarios que tratan de recoger una bicicleta de una estación vacía o dejar una bicicleta en
una estación llena.
A continuación, presentaremos una serie de restricciones válidas para el sistema.
2.
∑ ∑ 𝑥𝑎𝑘
𝑎∈𝛿+(𝑠)𝑘∈𝐾
−∑ ∑ 𝑥𝑎𝑘
𝑎∈𝛿−(𝑠)𝑘∈𝐾
− 𝑧𝑠 + 𝑦𝑠+ − 𝑦𝑠
− = 𝑓𝑠 − 𝐶𝑒(𝑠) 0
Para el caso donde 𝑠 ∈ 𝑠𝑒 , 𝑡(𝑠) = 1
3.
∑ ∑ 𝑥𝑎𝑘
𝑎∈𝛿+(𝑠)𝑘∈𝐾
−∑ ∑ 𝑥𝑎𝑘
𝑎∈𝛿−(𝑠)𝑘∈𝐾
+ 𝑧𝑝𝑟𝑒𝑑(𝑠) − 𝑧𝑠 + 𝑦𝑠+ − 𝑦𝑠
− = 𝑓𝑠
Para el caso donde 𝑠 ∈ 𝑠𝑒 , 𝑡(𝑠) ≥ 2
4.
∑ ∑ 𝑤𝑎𝑘 ≤ 1
𝑎∈𝛿+(𝑠)𝑘∈𝐾
Para toda 𝑠 ∈ 𝑠𝑒, esta restricción asegura que cada nodo es visitado a lo mucho una vez en
cada periodo de tiempo.
5.
𝑦𝑠+, 𝑦𝑠
− ≥ 0
Para toda 𝑠 ∈ 𝑠𝑒, restricción de no negatividad para 𝑦𝑠+, 𝑦𝑠
−
6.
0 ≤ 𝑧𝑠 ≤ 𝐶𝑒(𝑠)
80
Para toda 𝑠 ∈ 𝑠𝑒, restricción de no negatividad para 𝑧𝑠 es decir, el operador no retira bicicletas
de las Ciclo Estaciones (esto sucede cuando hay algún reporte de falla de bicicleta, pero por
simplicidad del modelo no se tomará en cuenta esto como una posibilidad), no es posible
dejar en una estación más bicicletas que la cantidad máxima de la propia estación por período
de tiempo.
7.
𝑥𝑎𝑘 ≤ 𝑄𝑘𝑤𝑎
𝑘
Para toda 𝑘 ∈ 𝐾, 𝑎 ∈ 𝐴, restricción que dicta que lo que transporta un vehículo en una arista
no puede exceder la capacidad del vehículo.
8.
∑ 𝑤𝑎𝑘
𝑎∈𝛿−(𝑠)
− ∑ 𝑤𝑎𝑘
𝑎∈𝛿+(𝑠)
= 0
Para toda 𝑘 ∈ 𝐾, 𝑠 ∈ 𝑆𝑒, está restricción obliga a que un vehículo que llego al estado 𝑠 lo
abandone.
9.
∑ 𝑤𝑎𝑘
𝑎∈𝛿−(𝑢𝑘,0)
= 1
Para toda 𝑘 ∈ 𝐾, esta restricción asegura que cada vehículo sea usado exactamente una vez,
es posible que el vehículo no sea usado (si todo está balanceado en el sistema), esto es posible
gracias a la arista (𝑢𝑘, 0: Ø)
10.
∑ 𝑥𝑎𝑘 = 𝑄𝑘
0
𝑎∈𝛿−(𝑢𝑘,0)
Para toda 𝑘 ∈ 𝐾, los camiones salen de sus posiciones de inicio con sus cargas iniciales.
11.
𝑥 ≥ 0
Las cargas de los vehículos no pueden ser negativas.
12.
81
𝑤 = [0,1]
Un vehículo solo puede pasar o NO pasar por cierta arista.
5.2 Obtención del valor de las aristas en el grafo de rebalanceo.
Como se ha podido ver en los dos modelos presentados en las secciones anteriores el valor de las
aristas del grafo de reorden es un valor fundamental para poder minimizar el costo total del
rebalanceo, una manera fácil y directa de asignar dicho valor a una arista es por medio de la distancia
que existe entre dos estaciones, este valor se ha computado en una matriz diagonal de Nixon, para el
caso específico de ECOBICI es de 452x452, esta matriz está contenida como una tabla en la base de
datos del sistema SAM.
Tabla 6 Matriz de distancias entre estaciones
A pesar de que la distancia es un dato conciso y de fácil obtención en ciudades como la
CDMX la información de la distancia está sujeta a la condición vial del momento en donde
se quiera realizar un viaje, en otras palabras recorrer una distancia de 6 kilómetros puede
tomar desde un par de minutos en la madrugada hasta más de una hora en horario pico del
tráfico en la ciudad y esto puede afectar los viajes en un sentido, es decir aunque en términos
de distancia sea lo mismo ir del punto A al punto B el tiempo necesario para ir de A a B
puede ser diferente al de ir de B a A. Para lidiar con este problema se ha optado por asignar
al valor de cada arista el tiempo que toma ir de un punto a otro.
Para conocer el valor del tiempo de traslado entre dos estaciones para asignar al valor de la
arista en la construcción del grafo usaremos la API de Google Maps, ya que esta nos brinda
información precisa que contempla variables como el tráfico, accidentes viales, etc.
ID/ID 1 2 3 4 5 …
1 0 7.77 7.678 6.375 7.071 …
2 7.77 0 0.707 1.551 1.513 …
3 7.678 0.707 0 1.304 2.088 …
4 6.375 1.551 1.304 0 1.984 …
5 7.071 1.513 2.088 1.984 0 …
… … … … … … …
82
La API nos proporciona información como la distancia total de un punto a otro, las posibles
rutas y el tiempo de cada una de las rutas, tomaremos el menor tiempo de las rutas sugeridas
para asignar el valor del vértice que une a dichos puntos para motivos de la ejecución del
algoritmo de reorden, sin embargo las diferentes rutas sugeridas se pueden proporcionar en
el software de visualización en caso de haber rutas con el mismo tiempo o tiempos muy
similares en los que se encuentre un valor agregado por parte de los operadores del centro de
comando.
Ilustración 26 Servicio API Google Maps para web
Ilustración 27 Servicio API de Google maps para dispositivo móvil
83
Nota: La API de Google Maps únicamente la realización de 25,000 solicitudes al día de
manera gratuita, razón por la cual es sumamente importante la aplicación de las
consideraciones de podas espaciales, las cuales serán analizadas más adelante en este texto,
considerar realizar todos los tiempos posibles de cada una de las 452 estaciones hacia las
451 vecinas ocasionaría realizar 204,304 peticiones cada hora
84
Capítulo 6. Cálculo del Inventario Requerido por Estación.
6.1 Formulación del problema
Ahora es momento de abordar el problema del cálculo de la demanda de cicloestaciones que
quedó pendiente en el capítulo anterior, conocer la demanda de cada CE es fundamental para
completar el modelo y errores considerables en su estimación podrían ocasionar problemas
grandes en el rebalanceo y por consiguiente en los niveles de satisfacción del sistema La
pregunta que se intentará resolver en este capítulo es ¿Cuántas bicicletas le sobran o le
faltan a cada CE en un periodo de tiempo de rebalanceo?
Si bien el problema de rebalanceo planteado anteriormente cuenta con dos tipos de objetos
activos (usuarios, vehículos) y un tipo de objeto reactivo (estaciones), la demanda está en
función de las personas que necesitan usar el sistema y que realizan viajes, por lo cual se
establecerá el modelo de predicción de demanda únicamente con los usuarios y las bicicletas.
siguiendo la nomenclatura presentada por [30] se definirán los siguientes términos:
• Retiro: A la operación donde un usuario toma una bicicleta y la saca de la
Cicloestación
• Arribo: A la operación donde un usuario termina un viaje depositando la bicicleta en
una Cicloestación
• Instancia de Cambio(IC): al proceso de realizar un viaje iniciado con una operación
de Retiro y finalizado con una de Arribo.
Como puede verse en la Ilustración 34, tanto los objetos activos como los reactivos están
acoplados tanto en el dominio temporal como espacial. Sin embargo, vale la pena señalar que
las actividades de los usuarios como objetos activos son mutuamente independientes, aunque
están sujetos al cambio de factores como los meteorológicos.
Según la última encuesta realizada por ECOBICI[6] alrededor del 75% de las personas utiliza
el servicio para actividades cotidianas con un comportamiento pendular (viajes de ida y
vuelta), como lo es ir a trabajar, ir a la escuela, ir de regreso a casa, etc. Lo anterior ocasiona
patrones de uso muy marcados. Por ejemplo, las bicicletas circulan por las estaciones en las
áreas de trabajo por la mañana los días laborables y regresan por la tarde, sobre todo en las
estaciones que conectan con algún otro tipo de transporte como el Metro o Metrobús.
85
6.2 Modelos para la Predicción del Inventario Necesario de una Estación
6.2.1 Predicción con Modelo Auto regresivo de Medias Móviles
En el capítulo 2 se presentó la información de histórica de los viajes realizados del sistema
con los que se cuenta, estos viajes representan en la nomenclatura Instancias de Cambios; a
través de la manipulación de los datos en el gestor de base de datos relacional, es posible
realizar conteos de los viajes con diferente granularidad, año, mes, día, hora, etc. Parte de
esos conteos se pueden visualizar en la herramienta SAM.
Ilustración 28 Conteo de viajes realizados visualizado desde la Herramienta SAM
Ilustración 29 Conteo de viajes realizados en el año 2016 visualizado desde la Herramienta SAM
Dada esta capacidad de realizar conteos, también es posible calcular para cada una de las
estaciones, la cantidad de viajes de llegada y viajes de salida con la granularidad que sea
requerida.
86
Ilustración 30 Conteo de Viajes de salida realizados durante un año
Ilustración 31 Conteo de Viajes de llegada durante un año
87
Como se ha planteado desde el inicio de este trabajo, es sumamente necesario conocer el
inventario necesario de cada estación, ya que este valor es el que alimentará al modelo de
rebalanceo para la minimización de costos, es conocido que este valor es cambiante conforme
el día va transcurriendo para cada una de las estaciones del sistema. La información histórica
con la que se cuenta, en materia de viajes de llegada y de salida por estación conforman una
serie de tiempo a la cual es posible aplicarle una gama de algoritmos estadísticos que nos
permitan hacer predicción y basado en dicha predicción conocer el inventario deseado, por
ejemplo, si deseamos predecir un día de funcionamiento del servicio podemos realizar los
conteos históricos por hora de cada una de las estaciones como se muestra en la siguiente
tabla.
idEstacion ano mes dia hora salidas
1 2016 1 1 9 2
1 2016 1 1 10 2
1 2016 1 1 11 3
1 2016 1 1 12 4
1 2016 1 1 13 3
1 2016 1 1 14 2
1 2016 1 1 15 4
1 2016 1 1 16 4
1 2016 1 1 17 2
1 2016 1 1 19 5
1 2016 1 1 21 3
1 2016 1 1 21 2 Tabla 7 Conteo historio de viajes segmentados por hora
Con la información presentada de esta forma es posible la aplicación de un modelo ARIMA
para la realización de la predicción, como hemos visto en el capítulo 3 (aún falta la
información de ese capítulo, pero ahí estará) este es un modelo estadístico que utiliza
variaciones y regresiones de datos estadísticos con el fin de encontrar patrones para una
predicción hacia el futuro. Ya que este modelo es muy sensible a la precisión con que se
determinen sus coeficientes, la caracterización de cada una de las estaciones es de vital
importancia, en el desarrollo de este trabajo se realizaron pruebas de selección de los
coeficientes p, d, q para alimentar el modelo, pero para el cálculo masivo de predicción de
cada una las 452 estaciones se aprovechó la función auto.arima de lenguaje R.
88
Ilustración 32 Ejecución del modelo ARIMA realizado en lenguaje R
Ilustración 33 Resultado de la predicción mediante el modelo ARIMA
89
Los resultados de la implementación del modelo ARIMA serán discutidos en capítulos
posteriores.
Uno de los problemas del modelo de series de tiempo es que no incorporan de manera directa
la adición de valores adicionales que pudieran tener impacto en la demanda del uso del
sistema como lo son las variables climáticas o el día de la semana que se desea predecir o si
el día es entre semana o fin de semana, estas variables solo pueden ser consideradas de
manera manual en la selección de los datos de entrenamiento del modelo como por ejemplo,
si quisiéramos predecir el comportamiento del sistema un lunes lluvioso, lo más adecuado es
alimentar al modelo con todos los últimos lunes lluviosos con los que se cuente en la
información histórica, realizar esta tarea de elección de los conjuntos de entrenamiento de
manea manual se vuelve una tarea titánica, que puede conducir a muy buenos resultados pero
luego de un extenso trabajo de clasificación y selección.
6.2.2 Modelo de Movilidad de un Sistema de Bicicleta Pública.
Como se ha mencionado en capítulos anteriores los actores(usuarios, estaciones, camiones)
del SBP pueden tener comportamientos independientes o dependientes pero que son
afectados por múltiples factores, si bien la información histórica nos ayuda a entender mucho
del uso diario del sistema, con el uso de modelos de series de tiempo es incluso posible
solucionar el problema de inventario diario, la necesidad de contemplar información
adicional que incremente la exactitud de las predicciones se vuelve una tarea fundamental, a
continuación se presenta un modelo de movilidad que permitirá contemplar diversos factores
que afectan el uso diario del SBP.
Notación Descripción
𝑨𝒊(𝒕, ∆) Número de bicicletas que arriban a la estación 𝑖 durante el período [𝑡, 𝑡 + ∆]
𝑫𝒊(𝒕, ∆) Número de bicicletas que se retiran de la estación 𝑖 durante el período [𝑡, 𝑡 + ∆]
𝜸𝒋𝒊(𝒕) La probabilidad de que las bicicletas que se retiraron de la estación 𝑗 en el
tiempo 𝑡 arribaran a la estación 𝑖
𝑭𝒋𝒊(𝒕) Función de Distribución Acumulada de la duración del viaje de la estación 𝑗 a
la estación 𝑖
𝑬 El conjunto de estaciones
Tabla 8 Notación del modelo propuesto
Se continuará con la definición de un algoritmo para la estimación de todos los arribos que
serán realizados en cada estación durante cierto período de tiempo, el cual puede ser
90
denominado como [𝑡, 𝑡 + ∆], con la intención de aportar claridad, se ilustrará la idea principal
de la estimación de arribos para cierta estación 𝑖
Como se puede observar, todas las bicicletas que arriban en la estación 𝑖 durante [𝑡, 𝑡 + ∆] se
pueden dividir en dos categorías:
• Bicicletas que fueron retiradas de todas las estaciones antes de 𝑡𝑎ℎ𝑜𝑟𝑎 (líneas
azules)
• Bicicletas que fueron retiradas de todas las estaciones después de 𝑡𝑎ℎ𝑜𝑟𝑎
(líneas rojas)
Por el momento el objeto de estudio serán las primeras, ya que son los retiros en los cuales
se tiene certeza que se han realizado, posteriormente se explicará el procedimiento para tratar
los retiros realizados en el futuro, los cuales tendrán que ser predichos. La principal relación
entre arribos y retiros se plantea en la siguiente ecuación.
𝐴𝑖 =∑𝐷𝑗𝜏𝑗𝑖𝑃𝑡𝑗∈𝐸
Donde:
• 𝐴𝑖 es el número de bicicletas arribando a la estación 𝑖
• 𝐷𝑗es el número de bicicletas que son retiradas de la estación 𝑗
Estación a
Estación b
Estación i
Pasado Futuro
Retiros antes de tahora
Retiros después de tahora
ta
ho
ra
t
t + Δ
Tiempo
Ilustración 34 Modelo de estimación
91
• 𝜏𝑗𝑖 es la probabilidad de que la IC se realice de la estación 𝑗 a la 𝑖
• 𝑃𝑡es la probabilidad de que la IC termine en el período [𝑡, 𝑡 + ∆]
Modelo para la estimación de arribos. Es necesario considerar que las IC que comienzan en
la estación 𝑗 y terminan en la estación 𝑖, el tiempo de llegada es fundamental en la estructura
del modelo y esté está determinado por dos factores.
• La duración de la IC
• La hora de retiro
Por ejemplo, pensando en un período de reordenamiento de media hora, en algún momento
será necesario conocer la estimación de todas las llegadas realizadas a la estación 47
(GLORIETA CIBELES-OAXACA) por ejemplo de las 5 a las 5:30 de la tarde, entonces la
duración de los viajes que deben ser considerados está determinada por la hora de retiro, por
ejemplo los retiros realizados a las 4:30 de la tarde tendrían que tener una duración de 30 a
60 minutos, mientras que tendrían que tener entre 15 y 45 minutos para los retiros realizados
a las 4:45. Para modelar este fenómeno se plantea la realización de una discretización
temporal para determinar el valor de 𝑃𝑡 para cada intervalo y entonces será posible agrupar
cada una las IC iniciadas en un uno de estos intervalos y considerarlas para encontrar el flujo
entre dos estaciones, esto se muestra en la siguiente figura.
Ilustración 35 Análisis de tráfico entre dos estaciones
De la estación j durante [ t′ , t′ + δ] si hacen un registro en la estación i dentro de la ventana
tiempo [ t , t′ + Δ − t] . Adicionalmente, la transferencia de probabilidad 𝛾𝑗𝑖(τ) puede ser
t-t’
t-t’+δ
Estación i
Estación j
t’
t’+δ
t + Δ
ta
ho
ra
t
92
vista como una constante durante [ t′ , t′ + δ] . Entonces, el número de bicicletas de la
estacion 𝑗 a las estacion i con un registro durante [ t , t + Δ] puede ser programada al añadir
la IC en cada espacio como:
𝑛𝑗𝑖 = ∑ 𝐷𝑗(𝑡𝑘, 𝛿)𝛾𝑗𝑖(𝑡𝑘)(𝐹𝑗𝑖(𝑡 + Δ − 𝑡𝑘) − 𝐹𝑗𝑖(𝑡 − 𝑡𝑘))∞𝑘=1 (2)
Donde [ 𝑡k , 𝑡k + 𝛿] es el k intervalo antes 𝑡 ahora y 𝑡𝑘 = 𝑡𝑎ℎ𝑜𝑟𝑎 − 𝑘𝛿; 𝑛𝑗𝑖 es el número
de ICs de la estación 𝑗 a la 𝑖. Ambas 𝛾𝑗𝑖 y 𝐹𝑗𝑖 pueden ser obtenidos probabilísticamente basado
en la información de las IC.
Hasta ahora, es posible conocer las ICs entre dos estaciones; tomando la sumatoria de 𝑛𝑗𝑖
sobre todas las posibles estaciones de origen, se obtiene la expresión para 𝐴𝑖(𝑡, Δ𝑡) como:
𝐴𝑖(𝑡, Δ𝑡) = ∑𝑛𝑗𝑖𝑗∈𝑁
Como es posible observar hay bicicletas que salieron después de 𝑡𝑎ℎ𝑜𝑟𝑎 y que pueden
terminar en la estación de destino durante el periodo objetivo. Es posible simplemente ignorar
esta parte (i.e., tratándolo como 0) si 𝑡 ≈ 𝑡𝑎ℎ𝑜𝑟𝑎 . Sin embargo, omitir esas ICs puede causar
un error grande cuando 𝑡 ≫ 𝑡𝑎ℎ𝑜𝑟𝑎Para hacer frente a este problema, se verificará la
aproximación de la predicción que es descrita a detalle más adelante. Una vez obtenida la
predicción del retiro de bicicletas (después 𝑡𝑎ℎ𝑜𝑟𝑎), será posible alimentar el modelo de
movilidad para computar el número de viajes (i.e., las líneas puenteadas rojas Ilustración 34),
es importante mencionar que la predicción de viajes de salida es igual de importante que la
de los viajes de llegada para el modelo de rebalanceo.
Como se menciona en el capítulo 4, los modelos basados en cálculos exhaustivos pueden ser
muy complicados de computar, ya que la cantidad de operaciones puede ser muy elevada, sin
embargo, como la información histórica de los viajes y el conocimiento de la realidad de los
SBP, pueden proporcionar reglas que permitan simplificar los modelos.
Ahora será demostrado como el cálculo del número de bicicletas en cada estación en una
manera práctica basada en información real de retiro e ingreso, puede ser simplificado con el
conocimiento a priori que se tiene del sistema.
i. Poda temporal
En el modelo de movilidad teórico, los rangos de 𝑘 van desde 0 a ∞ .Aunque es imposible
computar la suma de una serie infinita, es posible solucionar esto con el conocimiento de
que la gran mayoría de los viajes se llevan a cabo durante los 45 minutos reglamentarios
del servicio de renta por viaje. En otras palabras, es razonable especificar una interrupción
de valor en 𝑘para ejecutar una poda temporal.
93
Para demostrar esto se hará referencia nuevamente a los datos de ECOBICI del último
año completo de servicio, es decir el año 2016. La función de distribución de probabilidad
muestra que más del 99. % de las ICs son completadas dentro de los primeros 45 minutos.
Así, en vez de considerar 𝑘 desde 0 a ∞, es posible establecer sin riesgo un limite en 𝑘
de entre 45 minutos a una hora.
Ilustración 36 Función de distribución acumulada de la duración de los viajes en 2016
RESUMEN DE TIEMPO DE VIAJE DESDE ENERO 2014 A ENERO 2015
Medida Tiempo (minutos)
Sin límites en tiempo de viaje
Tiempo (minutos)
Restringido a 200 minutos
Mínimo 0.00 0.00
1ro 6.30 6.30
Mediano 10.10 10.10
Media 13.60 12.68
3ro 16.20 16.10
Máximo 483900 200.00
Tabla 9 Tabla resumen de tiempos en los que se efectúan los viajes
ii. Poda Espacial
En el modelo teórico, las ICs entre dos estaciones tomadas en consideración, Sin
embargo, encontramos que no es esencial ya que el tráfico entre dos estaciones lejanas es
usualmente pequeño y puede ser ignorado. En otras palabras, en vez de tomar todas los
posibles de las estaciones de origen en consideración, usamos un subconjunto de ellos
para computar el potencial en las bicicletas verificadas.
En el modelo teórico una IC puede existir entre dos estaciones cualquiera, sin embargo,
aunque esto es realmente posible la realización de viajes entre estaciones que están muy
94
alejadas una de la otra (por ejemplo, realizar un viaje de una estación cercana a
Buenavista hasta otra estación en rio Churubusco) es muy inusual. En otras palabras, en
vez de tomar todas las posibles estaciones de origen en consideración solo se considerará
un subconjunto de estas para computar las posibles llegadas.
Será necesario realizar un cálculo de la cantidad de estaciones con mayor probabilidad
de realizar un viaje hacia la estación de llegada tomando en cuenta la distancia entre
estaciones, sin embargo, en este sentido la herramienta SAM puede brindar información
valiosa en cuanto a la dispersión de los viajes entre estaciones, para determinar un número
aproximado para poder realizar la poda espacial, por ejemplo solo considerar las 200
estaciones más próximas a la estación que se está estimando en lugar de las 452 del total
del sistema.
Ilustración 37 Diagrama de dispersión de los viajes, el eje X representa el ID de la CE (de 1 a 452) el eje Y muestra la
cantidad de estaciones en las cuales terminan viajes iniciados desde la cierta CE, el eje Z representa la cantidad de esos
viajes.
95
Ilustración 38 Viajes realizados saliendo de la estación 213
Estación
(i)
% de Paseos entrantes Estación
(i)
% de Paseos
salientes
27 1.5215 27 1.4906
43 1.1117 36 1.0857
1 1.0649 41 1.0284
36 1.0387 1 1.0132
64 0.9693 18 0.9748
18 0.9381 43 0.9543
… … … …
275 0.0890 275 0.0842
100 0.0686 220 0.0637
220 0.0521 100 0.0599
94 0.0394 94 0.0321
Tabla 10 % de viajes de entrada y salida para algunas estaciones.
96
iii. 𝛾𝑗𝑖(𝑡) Discretización y calculo
También vale la pena investigar como actualizar eficientemente el parámetro 𝛾𝑗𝑖(𝑡) , es decir
la probabilidad de que las bicicletas que se retiraron de la estación j en el tiempo t arribarán
a la estación i. Examinando la información de las IC entre las estaciones, podemos encontrar
que 𝛾𝑗𝑖(𝑡) es altamente volatil dentro de un día mientras permanece relativamente estable a
lo largo de los días. También, debido a esta característica de la salida de las bicicletas, será
necesario discretizar 𝛾𝑗𝑖(𝑡) en una función definida por partes, la cual será calculada en un
valor dentro de cada intervalo de tiempo (por ejemplo, una hora) basado en el historial de
información de viajes entrada y salida de bicicletas.
Utilizando las técnicas de simplificación anteriores, es computacionalmente factible construir
un modelo de movilidad de bicicletas y realizar las estimaciones necesarias.
Para poder probar las predicciones será necesario entrenar el modelo para poder determinar
los parámetros (𝛾𝑗𝑖 y𝐹𝑗𝑖) a partir de la información histórica de los viajes. Se presentarán
entonces los algoritmos para la fase de entrenamiento y posteriormente el propio para realizar
la predicción.
La complejidad del algoritmo anterior está dada por 𝑂(𝑛𝑚) donde 𝑛 es el numero de
intervalos de tiempo y 𝑚 es el numero considerado de estaciones de origen. Por ejemplo,
Entrada: Información de entrenamiento 𝑆, número de estaciones de origen considerando 𝑚
Salida: Modelo de movilidad para la estación 𝑖
𝑚𝑜𝑑𝑒𝑙𝑖 = 𝑁𝑈𝐿𝐿;
para cada intervalo de tiempo t hacer
𝑜𝑟𝑖𝑔𝑒𝑛= Limite Origen (𝑚);
para cada estación 𝑗 ∈ 𝑜𝑟𝑖𝑔𝑒𝑛𝑒𝑠 hacer
Computar 𝛾𝑗𝑖 para intervalos de timepo 𝑡
Estimación del viaje CDF 𝐹𝑗𝑖 desde 𝑗 a 𝑖;
Añadir 𝛾𝑗𝑖,𝐹𝑗𝑖 al 𝑚𝑜𝑑𝑒𝑙𝑜𝑖;
Fin para
Fin para
regresar 𝑚𝑜𝑑𝑒𝑙𝑜𝑖;
97
para el caso de un día de servicio en ECOBICI, considerando intervalos de a una hora y
considerando las 200 estaciones más cercanas, se tendrían 3600 iteraciones por estación, esto
puede ser disminuido de manera drástica si consideramos menos estaciones de origen, sin
embargo, será necesario un análisis posterior a este trabajo para determinar la cantidad
idónea.
Entrada: Modelo de movilidad 𝑚𝑜𝑑𝑒𝑙𝑜𝑖, periodo de estimación [𝑡 + 𝑡 + Δ], 𝑘𝑚𝑎𝑥 , 𝛿
Salida: Resultado de la estimación 𝑛
𝑛 = 0, 𝑘 = 1;
𝑝 =Δ
𝛿;
𝑘 < 𝑘𝑚𝑎𝑥 hacer
𝑜𝑟𝑖𝑔𝑒𝑛 = 𝑜𝑏𝑡𝑒𝑛𝑒𝑟𝑂𝑟𝑖𝑔𝑒𝑛 (𝑚𝑜𝑑𝑒𝑙𝑜𝑖, 𝑡 + Δ − 𝑘𝛿);
para cada estación 𝑗 𝑒𝑛 𝑜𝑟𝑖𝑔𝑒𝑛 hacer
computa 𝐷𝑗(𝑡 + Δ − 𝑘𝛿);
obtener 𝛾𝑗𝑖 desde 𝑚𝑜𝑑𝑒𝑙𝑜𝑖;
obtener 𝐹𝑗𝑖(𝑘𝛿)desde 𝑚𝑜𝑑𝑒𝑙𝑜𝑖;
Si 𝑘 ≥ 𝑝 entonces
//bicicletas que salen antes de 𝑡
obtener 𝐹𝑗𝑖(𝑘𝛿 − Δ) desde 𝑚𝑜𝑑𝑒𝑙𝑜𝑖;
𝑛 =
𝑛 + 𝐷𝑗(𝑡 + Δ − 𝑘𝛿, 𝛿)𝛾𝑗𝑖𝐹𝑗𝑖(𝑘𝛿) − 𝐹𝑗𝑖(𝑘𝛿 − Δ);
Si no
//bicicletas partieron después de 𝑡
𝑛 = 𝑛 + 𝐷𝑗(𝑡 + Δ − 𝑘𝛿, 𝛿)𝛾𝑗𝑖𝐹𝑗𝑖(𝑘𝛿);
fin
fin
𝑘 = 𝑘 + 1
fin
return 𝑛;
98
En la fase de predicción, para cada intervalo de tiempo, el algoritmo 2 estima el tráfico entre
cada par de estaciones de origen y destino. Así la complejidad computacional
correspondiente es 𝑂(𝑝𝑚) donde 𝑝 es el número de intervalos de tiempo.
Con el modelo anterior es posible realizar la estimación de los viajes de llegada basado en la
información histórica de las ICs antes de 𝑡𝑎ℎ𝑜𝑟𝑎 Con esto es posible presentar un método para
predecir los viajes de salida después de 𝑡𝑎ℎ𝑜𝑟𝑎 esto completará el modelo de movilidad para
obtener el número total de viajes de llegada entre [𝑡, 𝑡 + Δ].
A diferencia de la estimación de viajes de llegada los cuales están correlacionados con las
estaciones, los viajes de salida son mutuamente independientes, pero sujetos a factores
externos como el clima, es por esto que además de los modelos de series de tiempo con los
cuales es posible hacer predicción, también se aplicará la técnica conocida como bosques o
selvas aleatorias para poder modelar y predecir el comportamiento de los viajes de salida
basado en el historial de las IC más la información adicional que aporte conocimiento al
modelo.
Es necesario, primeramente, extraer las características de la información a procesar para la
creación de un vector de características que pueda asistir al modelo, las cuales las podemos
agrupar en características online y offline.
6.2.3 Selección de Características
6.2.3.1 Características Offline.
Factores de tiempo: A pesar de que las características de las acciones de retiro difieren entre
las estaciones, pueden estar estrechamente relacionadas con los factores de tiempo. Dado los
datos históricos con los que se cuenta, se seleccionarán: día de la semana, hora del día, día
entre semana.
99
Ilustración 39 Mapa de calor de viajes de salida por estación
Ilustración 40 Mapa de calor de viajes de salida por estación II
100
Ilustración 41 Mapa de calor de viajes de salida por estación III
Ilustración 42 Mapa de calor de viajes de salida por estación II IV
101
Factores Climáticos: Las condiciones meteorológicas tienen gran influencia en los
comportamientos del usuario de los SBP el número de viajes de salida aumenta cuando las
personas se sienten más cómodas, por supuesto se espera que en días lluviosos el uso del
servicio disminuya de manera dramática, pero la precipitación pluvial no es el único factor
que interviene, las condiciones de comodidad que ocasionan la temperatura y la humedad
(sensación térmica), ocasionan un incremento en el uso del servicio por ejemplo, en los días
festivos o los fines de semana, sin embargo esto tiene menor impacto los días laborales o
mucho menos en los horarios pico.
6.2.3.2 Características Online
Cantidad de viajes: A pesar de la correlación entre el comportamiento de retiros de bicicletas
de los usuarios y factores de tiempo, así como la información meteorológica, existen
momentos en los que la cantidad de viajes de salida difieren significativamente del resultado
observado a la misma hora en otros días. Un fenómeno parecido al que sucede con el servicio
de UBER al momento del término de un concierto en el foro sol, la cantidad de gente
demandando el servicio es mucho más elevada que en un día sin concierto; efecto que causa
que la tarifa dinámica se incremente sobremanera; este comportamiento es por lo general de
corta duración y contrasta de manera significativa con el comportamiento de la Cicloestación
en otros días.
Ahora bien, será necesario combinar todas las características online y offline mencionadas
anteriormente para generar el vector 𝑓𝑡 y 𝑟𝑡 en otro vector 𝑥𝑡 = (𝑓𝑡, 𝑟𝑡) para entrenar él
modelo.
6.3 Modelo de bosque aleatorio.
Como se mencionó del bosque aleatorio, es un método de aprendizaje automático típicamente
usado para la clasificación y la regresión. La idea general de un bosque aleatorio es combinar
un gran número de árboles de decisión, cada uno de los cuales es construido con base en la
información histórica. Las predicciones son ejecutadas tomando en cuenta el significado de
las salidas de cada árbol individual.
102
6.4 Modelo de Predicción Basado en el Historial de Uso del Servicio.
Adicional al modelo propuesto basado en la construcción de árboles aleatorios, el autor de este trabajo
presenta un modelo de autoría propia para la predicción de la cantidad de Bicicletas después de un
tiempo determinado el cual puede explicarse a partir de la siguiente fórmula de la siguiente fórmula.
𝐶𝑃𝐹 = (𝐶𝐼𝑀 − 𝐶𝑇𝑃)(−1)
En dónde.
CPF: Cantidad Pronosticada del número de Bicicletas en la CE al final del intervalo de tiempo
CIM: Cantidad Inicial Medida en el inicio del intervalo de tiempo
CTP: Consumo Total Pronosticado durante el intervalo de tiempo
Cantidad de viajes de
salida
<=14.5
Hora<=8.5 Hora<=20.4
Temperatura<
=28.7
Muestra = 36
Valor = 25.5
Muestra = 14
Valor = 7.8 Humedad
<=79
Muestra
= 15
Valor =
3.8
Muestra = 20
Valor = 10.9
Muestra = 17
Valor = 14.3
Muestra = 104
Valor = 28.8
Si
Si Si
Si Si No
No
No
No
No
Ilustración 43 Modelo Random Forest para la predicción de la demanda por estación
103
Una cantidad negativa indicaría el número de bicicletas faltantes en la estación, y que serían las que
se necesitaría reabastecer, una cantidad positiva implicaría un superávit de bicicletas y por
consiguiente que puede servir como CE donadora para otras Cicloestaciones.
De los dos parámetros necesarios uno lo proporciona el proveedor del servicio de ECOBICI y el otro
es necesario predecirlo; se plantea a continuación uno muy sencillo que posiblemente se necesite
sofisticar con otras técnicas para conseguir una mayor exactitud.
Antes de dar una formula, es necesario comprender el contexto de la problemática del cálculo de este
valor; hasta ahora no se ha utilizado la información histórica del estado de las Cicloestaciones;
información con la que se cuenta en la base de datos. A diferencia de los modelos estudiados en la
mayoría de la literatura disponible en la cual se analiza la historia de los viajes en cada CE, en esta
propuesta se intenta realizar la predicción con base en el estado general del sistema, el cual es
almacenado cada minuto en la base de datos, la información con la que se cuenta se muestra en la
Ilustración 44
Estos datos son leídos para cada CE y nos proporciona el estatus de la bicicleta (abierta o cerrada), la
cantidad de Bicicletas y la cantidad de Slots en el tiempo del alta del registro, esta información nos
permite tener “fotografías” del sistema dicha información será la que aprovecharemos para realizar
la predicción.
A continuación, se presenta una gráfica que muestra la cantidad de bicicletas de dos Estaciones a lo
largo de un día, estas CE son 272 AV. CENTRAL-J. MENESES y 165 BAJÍO-EJE 2 PTE.
MONTERREY, las cuales fueron elegidas de manera arbitraria.
Ilustración 44 a) Información almacenada con el estatus de cada CE en un tiempo t, b) fotografía del
sistema.
104
Ilustración 47Cantidad de Bicicletas de las Estación 165
Ilustración 48 Cantidad de Bicicletas de la Estación 272
Ilustración 46 Ubicación de CEs 272 y 165
105
Capítulo 7. Resultados.
A continuación, se presentarán los resultados obtenidos por los algoritmos de predicción, estos
fueron probados con días y estaciones elegidas de manera arbitraria.
Estación Año Mes Día Hora Medición
45 2016 6 22 6 2
45 2016 6 22 7 6
45 2016 6 22 8 11
45 2016 6 22 9 10
45 2016 6 22 10 10
45 2016 6 22 11 10
45 2016 6 22 12 10
45 2016 6 22 13 8
45 2016 6 22 14 19
45 2016 6 22 15 12
45 2016 6 22 16 10
45 2016 6 22 17 24
45 2016 6 22 18 16
45 2016 6 22 19 22
45 2016 6 22 20 1
45 2016 6 22 21 2
45 2016 6 22 22 1
45 2016 6 22 23 3 Tabla 11 Datos reales del sistema en la estación 45 el 22/06/2016
Hora Medición Predicción ARIMA1 Predicción ARIMA2 Predicción RandomForest Predicción MPES
6 2 4 6 4 8
7 6 5 6 5 6
8 11 6 6 8 6
9 10 9 9 8 2
10 10 7 7 5 3
11 10 8 9 6 11
12 10 8 8 6 13
13 8 8 8 13 14
14 19 14 14 11 17
15 12 18 18 19 10
16 10 16 17 17 16
17 24 29 21 27 20
18 16 55 68 70 21
19 22 18 15 7 23
20 1 20 18 25 25
106
21 2 12 12 11 21
22 1 11 12 9 21
23 3 7 8 9 15 Tabla 12 Resultados de la predicción
Ilustración 49 Comparación de resultados ilustración 45
En el camino a evaluar los resultados de las predicciones se encontraron varios métodos, los cuales
eran más adecuados que otros según el contexto de la predicción, para la evaluación de los resultados
de los algoritmos se optó por utilizar el criterio de Media Absoluta de Error Escalado (MASE por sus
siglas en ingles), esto debido a que esta medida nos proporciona las siguientes características:
Invarianza de escala: el error escalado absoluto medio es independiente de la escala de los datos, por
lo que se puede usar para comparar pronósticos entre conjuntos de datos con diferentes escalas.
MASE se puede utilizar para series de datos debido a la ocurrencia de valores infinitos e indefinidos.
Esta medida también es fácilmente interpretable: Valores de MASE mayor que uno indica que las
estimaciones son peores, en promedio, que dentro de la muestra de un solo paso por estimaciones del
método o modelo ingenuo. MASE es menos sensible a los valores atípicos y más fácil de interpretar
que RMSSE. Interpretabilidad: El error escalado absoluto medio puede interpretarse fácilmente, ya
que los valores superiores a uno indican que los pronósticos en una muestra en un paso del método
ingenuo funcionan mejor que los valores de pronóstico considerados.
0
10
20
30
40
50
60
70
80
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Comparación de Resultados
Medición Predicción ARIMA1 Predicción ARIMA2
Predicción RandomForest Predicción MPES
107
ARIMA 1
Suma Error Cuadrático 2295.416
Suma % Error 4190%
n 18
MAPE 233%
MASE 1.37808
SMAPE 60% Tabla 13 Evaluación ARIMA1 experimento 1
ARIMA 2
Suma Error Cuadrático 3430.794981
Suma % Error 4289%
n 18
MAPE 238%
MASE 1.529016
SMAPE 0.6166502 Tabla 14 Evaluación ARIMA 2 experimento 1
RF
Suma Error Cuadrático 4115.897
Suma % Error 4762%
n 18
MAPE 265%
MASE 1.844981
SMAPE 73% Tabla 15 Evaluación Random Forest experimento 1
108
Estación Año Mes Día Hora Medición
27 2016 6 22 6 1
27 2016 6 22 7 1
27 2016 6 22 8 12
27 2016 6 22 9 12
27 2016 6 22 10 20
27 2016 6 22 11 20
27 2016 6 22 12 9
27 2016 6 22 13 24
27 2016 6 22 14 28
27 2016 6 22 15 25
27 2016 6 22 16 31
27 2016 6 22 17 41
27 2016 6 22 18 53
27 2016 6 22 19 29
27 2016 6 22 20 24
27 2016 6 22 21 10
27 2016 6 22 22 11
27 2016 6 22 23 5 Tabla 16 Tabla de valores reales para el experimento 3 en la estación 27 el 22/06/2016
Hora Medición Predicción ARIMA1 Predicción ARIMA2 Predicción RandomForest Predicción MPES
6 1 4 6 4 0
7 1 5 6 5 0
8 12 6 6 8 15
9 12 9 9 8 17
10 20 7 7 5 18
11 20 8 9 6 18
12 9 8 8 6 13
13 24 8 8 13 24
14 28 14 14 11 25
15 25 18 18 19 24
16 31 16 17 17 26
17 41 29 21 27 92
18 53 55 68 70 75
19 29 18 15 7 29
20 24 20 18 25 12
21 10 12 12 11 23
22 11 11 12 9 12
23 5 7 8 9 10 Tabla 17 Resultado de las predicciones del experimento 2
109
Ilustración 50 Comparación de modelos para el experimento 2
Suma Error Cuadrático 1402.866
Suma % Error 1263%
n 18
MAPE 70%
MASE 0.933193
SMAPE 0.538136 Tabla 18 Evaluación ARIMA I experimento 2
Suma Error Cuadrático 1903.562
Suma % Error 1597%
n 18
MAPE 89%
MASE 1.113684
SMAPE 0.585643 Tabla 19 Evaluación Arista II experimento 2
0
10
20
30
40
50
60
70
80
90
100
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Medición Predicción ARIMA1
Predicción ARIMA2 Predicción RandomForest
Predicción MPES
110
Suma Error Cuadrático 2111.375
Suma % Error 1332%
n 18
MAPE 74%
MASE 1.123781
SMAPE 0.61455 Tabla 20 Evaluación Random Forest experimento 2
Estación Año Mes Día Hora Medición
27 2016 6 28 6 3
27 2016 6 28 7 3
27 2016 6 28 8 10
27 2016 6 28 9 9
27 2016 6 28 10 13
27 2016 6 28 11 11
27 2016 6 28 12 7
27 2016 6 28 13 27
27 2016 6 28 14 27
27 2016 6 28 15 31
27 2016 6 28 16 20
27 2016 6 28 17 37
27 2016 6 28 18 57
27 2016 6 28 19 39
27 2016 6 28 20 22
27 2016 6 28 21 11
27 2016 6 28 22 8
27 2016 6 28 23 3 Tabla 21 Tabla con valores reales para el experimento 3
Hora Medición Predicción ARIMA1 Predicción ARIMA2 Predicción RandomForest Predicción MPES
6 3 4 6 4 5
7 3 5 6 5 5
8 10 6 6 8 4
9 9 9 9 8 12
111
10 13 7 7 5 12
11 11 8 9 6 23
12 7 8 8 6 42
13 27 8 8 13 21
14 27 14 14 11 3
15 31 18 18 19 21
16 20 16 17 17 22
17 37 29 21 27 35
18 57 55 68 70 50
19 39 18 15 7 38
20 22 20 18 25 23
21 11 12 12 11 10
22 8 11 12 9 15
23 3 7 8 9 12 Tabla 22 Resultados de las predicciones del experimento 3
Ilustración 51 Comparación de resultados del experimento 3
0
10
20
30
40
50
60
70
80
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Medición Predicción ARIMA1
Predicción ARIMA2 Predicción RandomForest
Predicción MPES
112
Suma Error Cuadrático 1323.737
Suma % Error 704%
n 18
MAPE 39%
MASE 0.709382
SMAPE 0.403483 Tabla 23 Evaluación ARIMA II experimento 3
Suma Error Cuadrático 1735.012
Suma % Error 848%
n 18
MAPE 47%
MASE 0.85422
SMAPE 0.459179 Tabla 24 Evaluación ARIMA II Experimento 4
Suma Error Cuadrático 2056.197
Suma % Error 760%
n 18
MAPE 42%
MASE 0.848974
SMAPE 0.447771 Tabla 25 Evaluación Random Forest Experimento 3
Estación Año Mes Día Hora Medición
45 2016 6 6 6 3
45 2016 6 6 7 8
45 2016 6 6 8 5
45 2016 6 6 9 10
45 2016 6 6 10 7
45 2016 6 6 11 2
45 2016 6 6 12 5
45 2016 6 6 13 10
45 2016 6 6 14 13
45 2016 6 6 15 13
45 2016 6 6 16 15
113
45 2016 6 6 17 17
45 2016 6 6 18 19
45 2016 6 6 19 16
45 2016 6 6 20 8
45 2016 6 6 21 1
45 2016 6 6 22 1
45 2016 6 6 23 1 Tabla 26 Valores reales experimento 4
Hora Medición Predicción ARIMA1 Predicción ARIMA2 Predicción RandomForest Predicción MPES
6 3 4 6 4 5
7 8 5 6 5 5
8 5 6 6 8 7
9 10 9 9 8 1
10 7 7 7 5 3
11 2 8 9 6 5
12 5 8 8 6 7
13 10 8 8 13 7
14 13 14 14 11 6
15 13 18 18 19 45
16 15 16 17 17 56
17 17 29 21 27 12
18 19 55 68 70 34
19 16 18 15 7 12
20 8 20 18 25 23
21 1 12 12 11 30
22 1 11 12 9 25
23 1 7 8 9 3 Tabla 27 Resultados de predicción del experimento 4
114
Ilustración 52 Comparación de resultados del experimento 4
Suma Error Cuadrático 1949.624
Suma % Error 3714%
n 18
MAPE 206%
MASE 1.913053
SMAPE 0.599534 Tabla 28 Evaluación ARIMA I Experimento 4
Suma Error Cuadrático 2905.469
Suma % Error 3949%
n 18
MAPE 219%
MASE 2.043023
SMAPE 0.613531 Tabla 29 Evaluación ARIMA II Experimento 4
0
10
20
30
40
50
60
70
80
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Medición Predicción ARIMA1
Predicción ARIMA2 Predicción RandomForest
Predicción MPES
115
Suma Error Cuadrático 3343.445
Suma % Error 3680%
n 18
MAPE 204%
MASE 2.370353
SMAPE 0.668273 Tabla 30 Evaluación Random Forest Experimento 4
Capítulo 8 Conclusiones y trabajo futuro.
Se presentó un completo trabajo de investigación acerca del problema de Rebalanceo de un Sistema
de Bicicleta Pública y de los métodos utilizados en cada uno de los posibles planteamientos previos
del problema; la solución propuesta atacó el problema desde dos puntos, el primero fue determinar el
inventario requerido en cada Cicloestación después de cierto tiempo, con motivo de conocer las
necesidades del sistema de manera adelantada a necesitar el rebalanceo. En este sentido se realizó el
planteamiento matemático del problema, aprovechando la realidad del sistema ECOBICI y la
información conocida del mismo para simplificar lo más posible los modelos.
Se realizó la predicción de viajes de salida y de viajes de llegada del sistema aprovechando la
información histórica del mismo,
Se implementaron adicionalmente, dos modelos de predicción, uno basado en un Modelo
Autorregresivo de Medias Múltiples y el otro en una algoritmo de bosques aleatorios, mostrando que
el primero tiene mejores resultados cuando los modelos se alimentan únicamente con los datos
temporales offline, pero que el segundo puede llegar a tener muchos mejores resultados si se adecuan
bien los vectores de características, añadiendo información de la temperatura, las condiciones de
humedad e incluso alguna incidencia vial.
Se desarrolló también un modelo para el rebalanceo del sistema, basado en la construcción de un
grafo de reorden, de primera instancia el coste computacional del mismo puede ser altísimo, sin
embargo, realizando las consideraciones adecuadas se puede realizar una poda significativa del grafo
de reorden y por consiguiente reducción en los tiempos de procesamiento.
Aportaciones.
Las aportaciones de este trabajo al estado del arte del problema de rebalanceo de SPB, son varias,
primero es la construcción de una base de datos que incorpora, además de la información de los viajes
realizados, el almacenamiento del estado de las Cicloestaciones por minuto, el clima y la distancia
existente entre Cicloestaciones, a pesar de que esta información no se aprovechó al máximo en este
trabajo, si podrá facilitar el desarrollo de más investigación sobre el tema.
116
Se desarrollaron dos modelos propios para la solución del problema; el primero de los cuales presenta
una manera innovadora de abordar el problema de la estimación de inventario por estación, haciendo
uso de la información del estado de las Cicloestaciones, el autor no encontró algún trabajo en el estado
del arte que aborde el problema de esta forma; a pesar que este modelo es más inestable en los
resultados comparado con los modelos de series de tiempo y random forest implementados, en
algunas de las pruebas los resultados llegaron a ser igual de buenos o mejores, haciendo énfasis en
que es el modelo desarrollado es mucho más sencillo que los otros dos, por lo cual se tiene buena fe
en que el enfoque presentado pueda ser robustecido y sofisticarse con la finalidad de obtener mejores
resultados en el futuro.
117
Trabajo futuro
Se plantea la continuidad de este trabajo desde varias posibilidades, el primero por supuesto es la
realización más robusta del modelo matemático propuesto y validar su efectividad comparándola con
el algoritmo de reorden presentado en la unidad 5, de igual forma se sugiere la continuidad y la
sofisticación del algoritmo para la predicción del inventario por estación, una de las sugerencias es
contemplar un factor de amortiguación a la pendiente de estimación de negativos, para evitar tener
demandas demasiado altas e irreales en las Cicloestaciones que se encuentren vacías o llenas durante
períodos largos de tiempo. Por otra parte, se sugiere la implementación de ambos procesos
(estimación y rebalanceo), sobre clusters de estaciones, sin embargo dada la naturaleza dinámica del
sistema es importante considerar que estos clusters serán dinámicos, ya que las condiciones del son
muy cambiantes y tener grupos estáticos pudiera ocasionar pocos o nulos beneficios y en algún
momento incluso llegar a ser perjudicial, es por ello que se propone atender el problema de la
generación de clusters dinámicos para atender el problema de rebalanceo, siendo la definición de
estos clusters una entrada del modelo de rebalanceo.
118
Bibliografía.
[1] C. Contardo, L.-M. Rousseau, and C. Morency, “Balancing a dynamic public bike-sharing
system,” first Conf. EURO Work. Gr. Veh. Routing Logist. Optim. VeRoLog, pp. 57–58, 2012.
[2] C. F. Pardo, “SISTEMAS DE BICICLETAS PÚBLICAS PARA AMÉRICA LATINA :
Beneficios y Obstáculos,” pp. 1–73, 2012.
[3] Expanding the Frontiers of Visual Analytics and Visualization. 2012.
[4] S. A. Shaheen, E. W. Martin, A. P. Cohen, N. D. Chan, M. Pogodzinsk, E. W. Martin, and N.
D. Chan, “Public Bikesharing in North America During a Period of Rapid Expansion :
Understanding Business Models , Industry Trends & User Impacts , MTI Report 12-29 Public
Bikesharing in North America During a Period of Rapid Expansion : Understanding Business
Mode,” Mineta Transp. Inst. Rep. 12-29, pp. 2–3, 2014.
[5] A. Gauthie, C. Hughes, C. Kost, S. Li, C. Linke, S. Lotshaw, J. Mason, C. F. Pardo, C. Rasore,
B. Schroeder, and X. Treviño, “Guía de planeación del sistema de bicicleta,” ITDP, Inst.
Transp. Dev. Policy, pp. 1–152, 2013.
[6] C. G. S. Pérez López Ruth, “Encuesta Ecobici 2014,” p. 74, 2015.
[7] A. Kaltenbrunner, R. Meza, J. Grivolla, J. Codina, and R. Banchs, “Urban cycles and mobility
patterns: Exploring and predicting trends in a bicycle-based public transport system,”
Pervasive Mob. Comput., vol. 6, no. 4, pp. 455–466, 2010.
[8] S. C. Ho and W. Y. Szeto, “GRASP with path relinking for the selective pickup and delivery
problem,” Expert Syst. Appl., vol. 51, pp. 14–25, 2016.
[9] Y. Li, Y. Zheng, H. Zhang, and L. Chen, “Traffic prediction in a bike-sharing system,” Proc.
23rd SIGSPATIAL Int. Conf. Adv. Geogr. Inf. Syst. - GIS ’15, pp. 1–10, 2015.
[10] A. Faghih-Imani, R. Hampshire, L. Marla, and N. Eluru, “An empirical analysis of bike
sharing usage and rebalancing: Evidence from Barcelona and Seville,” Transp. Res. Part A
Policy Pract., vol. 97, pp. 177–191, Mar. 2017.
[11] J. Murillos, Á. Trejos, and P. Carvajal, “Estudio del pronóstico de la demanda de energia
eléctrica, utilizando modelos de series de tiempo,” Sci. Tech., vol. 23, no. 23, pp. 37–40, 2003.
[12] “Random Forests para detecci ´ on de fraude en medios de pago Carlos Santa Cruz Fern ´.”
[13] C. J. Breiman, Leo ; Friedman, Jerome H ; Olshen, Richard A ; Stone, Classification and
regression trees. Monterey, CA, 1984.
[14] L. Breiman, “Random forests,” Mach. Learn., vol. 45, no. 1, pp. 5–32, 2001.
[15] R. O. Duda, P. E. Hart, and D. G. Stork, “Pattern Classification,” New York: John Wiley,
Section. p. 680, 2001.
[16] L. Breiman, “Bagging predictors,” Mach. Learn., vol. 24, no. 2, pp. 123–140, 1996.
[17] Y. Freund and R. R. E. Schapire, “Experiments with a New Boosting Algorithm,” Int. Conf.
Mach. Learn., pp. 148–156, 1996.
[18] T. K. Ho, “The random subspace method for constructing decision forests,” IEEE Trans.
Pattern Anal. Mach. Intell., vol. 20, no. 8, pp. 832–844, 1998.
119
[19] L. Breiman, “Randomizing outputs to increase prediction accuracy,” Mach. Learn., vol. 40,
no. 3, pp. 229–242, 2000.
[20] G. Martínez-Muñoz and A. Suárez, “Switching class labels to generate classification
ensembles,” Pattern Recognit., vol. 38, no. 10, pp. 1483–1494, Oct. 2005.
[21] T. G. Dietterich, “Ensemble methods in machine learning,” Mult. Classif. Syst., vol. 1857, pp.
1–15, 2000.
[22] L. Breiman, “Bias, variance, and arcing classifiers,” 1996.
[23] Y. Freund and R. E. Schapire, “A desicion-theoretic generalization of on-line learning and an
application to boosting,” in European conference on computational learning theory, 1995, pp.
23–37.
[24] J. R. Quinlan, “Bagging, boosting, and C4.5,” Proc. Thirteen. Natl. Conf. Artif. Intell., vol. 5,
no. Quinlan 1993, pp. 725–730, 2006.
[25] T. G. Dietterich, “An Experimental Comparison of Three Methods for Constructing
Ensembles of Decision Trees,” Mach. Learn., vol. 40, pp. 139–157, 2000.
[26] F. Cruz, A. Subramanian, B. P. Bruck, and M. Iori, “A heuristic algorithm for a single vehicle
static bike sharing rebalancing problem,” Comput. Oper. Res., vol. 79, no. April 2016, pp. 19–
33, 2017.
[27] M. Dell’Amico, E. Hadjicostantinou, M. Iori, and S. Novellani, “The bike sharing rebalancing
problem: Mathematical formulations and benchmark instances,” Omega (United Kingdom),
vol. 45, pp. 7–19, 2014.
[28] M. Dell’Amico, M. Iori, S. Novellani, and T. Stützle, “A destroy and repair algorithm for the
Bike sharing Rebalancing Problem,” Comput. Oper. Res., vol. 71, pp. 149–162, 2016.
[29] J. Liu, L. Sun, W. Chen, and H. Xiong, “Rebalancing bike sharing systems: A Multi-source
Data Smart Optimization,” Kdd, pp. 1005–1014, 2016.
[30] Z. Yang, J. Hu, Y. Shu, P. Cheng, J. Chen, and T. Moscibroda, “Mobility Modeling and
Prediction in Bike-Sharing Systems,” Proc. 14th Annu. Int. Conf. Mob. Syst. Appl. Serv. -
MobiSys ’16, pp. 165–178, 2016.
Top Related