A Edelmiro, Nicolasa†, Manuel† y Agustina†.

119

Transcript of A Edelmiro, Nicolasa†, Manuel† y Agustina†.

Page 1: A Edelmiro, Nicolasa†, Manuel† y Agustina†.
Page 2: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

A Edelmiro, Nicolasa†, Manuel† y Agustina†.

Por amarme tanto en la tierra y cuidarme desde el cielo.

Page 3: A Edelmiro, Nicolasa†, Manuel† y Agustina†.
Page 4: A Edelmiro, Nicolasa†, Manuel† y Agustina†.
Page 5: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 6: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 7: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 8: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 9: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 10: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

Í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

Page 11: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 12: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 13: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 14: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 15: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 16: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

16

estación; se espera que mejorando la disponibilidad en las Bicicletas obtengamos un efecto

positivo en la cantidad de Slots disponibles.

Page 17: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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].

Page 18: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 19: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 20: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 21: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 22: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 23: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 24: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 25: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 26: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 27: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 28: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 29: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 30: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 31: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 32: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 33: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 34: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 35: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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,…

Page 36: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 37: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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(𝐿)휀𝑡

Page 38: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 39: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 40: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 41: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 42: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 43: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 44: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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)

Page 45: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 46: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 47: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 48: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 49: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 50: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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|𝑡)) ,

Page 51: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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)

Page 52: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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:

Page 53: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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:

Page 54: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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 𝑇(𝛼𝐾) = 𝑟𝑎𝑖𝑧(𝑇).

Page 55: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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:

Page 56: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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:

Page 57: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

(%)

Page 58: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 59: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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:

Page 60: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 61: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 62: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 63: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 64: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 65: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 66: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

𝑍𝑡 ,

Page 67: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 68: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 69: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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:

Page 70: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 71: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 72: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 73: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 74: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 75: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 76: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 77: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 78: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 79: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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 ≤ 𝑧𝑠 ≤ 𝐶𝑒(𝑠)

Page 80: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 81: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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 …

… … … … … … …

Page 82: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 83: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 84: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 85: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 86: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 87: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 88: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 89: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 90: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 91: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 92: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 93: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 94: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 95: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 96: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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 𝑚𝑜𝑑𝑒𝑙𝑜𝑖;

Page 97: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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 𝑛;

Page 98: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 99: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 100: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 101: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 102: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 103: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 104: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 105: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 106: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 107: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 108: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 109: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 110: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 111: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 112: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 113: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 114: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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

Page 115: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 116: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 117: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 118: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.

Page 119: A Edelmiro, Nicolasa†, Manuel† y Agustina†.

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.