OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA...

32
DESARROLLO DE UN MODELO PREDICTIVO BASADO EN MACHINE LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR ARLEY RIVEROS REY UNIVERSIDAD DISTRITAL FRANCISCO JOSÈ DE CALDAS FACULTAD DE INGENIERIA ESPECIALIZACION EN INGENIERIA DE SOFTWARE BOGOTA DC 2019

Transcript of OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA...

Page 1: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

DESARROLLO DE UN MODELO PREDICTIVO BASADO EN MACHINE LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE

LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ

OSCAR ARLEY RIVEROS REY

UNIVERSIDAD DISTRITAL FRANCISCO JOSÈ DE CALDAS FACULTAD DE INGENIERIA

ESPECIALIZACION EN INGENIERIA DE SOFTWARE BOGOTA DC

2019

Page 2: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

DESARROLLO DE UN MODELO PREDICTIVO BASADO EN MACHINE LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE

LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ

OSCAR ARLEY RIVEROS REY 20182099021

JULIO BARON VELANDIA

Director

JHON FREDDY PARRA Revisor

UNIVERSIDAD DISTRITAL FRANCISCO JOSÈ DE CALDAS FACULTAD DE INGENIERIA

ESPECIALIZACION EN INGENIERIA DE SOFTWARE BOGOTA DC

2019

Page 3: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

TABLA DE CONTENIDO

INTRODUCCIÒN ..................................................................................................... 4 PARTE 1. CONTEXTUALIZACIÒN DE LA INVESTIGACIÒN ................................ 5 CAPÌTULO 1. DESCRIPCIÒN DE LA INVESTIGACIÒN ........................................ 5

1.1 Planteamiento/Identificación del problema ...................................................... 5 1.2 Objetivos ............................................................................................................. 5 1.3 Justificación del trabajo/Investigación ............................................................. 6 1.4 Hipótesis .............................................................................................................. 7 1.5 Marco Referencial ............................................................................................... 7 1.6 Metodología de la investigación ....................................................................... 8 1.7 Organización del trabajo de grado .................................................................... 9 1.8 Estudio de sistemas previos ........................................................................... 10

PARTE II. DESARROLLO DE LA INVESTIGACIÒN ............................................ 10 CAPITULO 2. ARQUITECTURA DEL PROYECTO .............................................. 10

2.1 Contextualización ................................................................................................... 10 2.2 Tuberías y Filtros (Pipes and Filters) ................................................................... 10 2.3 Negocio ................................................................................................................... 11 2.4 Aplicaciones ........................................................................................................... 13 2.5 Física ....................................................................................................................... 16

CAPITULO 3. OBTENCIÒN Y LIMPIEZA DE DATOS .......................................... 19 3.1 Obtención de datos ................................................................................................ 19

CAPITULO 4. SERIES TEMPORALES [ RED NEURONAL ................................. 22 4.1 Elección de Tecnologías ........................................................................................ 22 4.2 Series Temporales Estacionarias ......................................................................... 22 4.3 Implementación Red Neuronal .............................................................................. 26

CAPITULO 5. ENTRENAMIENTO RED NEURONAL ........................................... 26 5.1 Entrenamiento de Red Neuronal ........................................................................... 26

CAPITULO 6. AJUSTES DEL MODELO .............................................................. 27 CAPITULO 7. RESULTADOS ............................................................................... 28

7.1 Resultados Fase 1 .................................................................................................. 28 CAPITULO 8. COMPARACIÒN CON OTROS MODELOS .................................. 30 PARTE III. CIERRE DE LA INVESTIGACIÒN ...................................................... 30

d. Verificación, contraste y evaluación de los objetivos ...................................... 30 e. Síntesis del modelo propuesto ................................. ¡Error! Marcador no definido.

Page 4: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

f. Aportes originales ...................................................... ¡Error! Marcador no definido. g. Trabajos o Publicaciones derivadas ......................... ¡Error! Marcador no definido.

CAPITULO 9. PROSPETIVA DEL TRABAJO DE GRADO .................................. 31 9.1 Líneas de Investigación futuras ............................................................................ 31 9.2 Trabajos de Investigación futuros ........................................................................ 31

BIBLIOGRAFIA ..................................................................................................... 31 ANEXOS ................................................................................................................ 32

INTRODUCCIÒN Cada vez más se ha venido hablando de Machine Learning (Aprendizaje de Máquina) y sus grandes ventajas a la hora de implementar soluciones informáticas basadas en su esencia. Pero, ¿Cuáles son las ventajas de implementar sistemas basados en Machine Learning?; Para Israel Olalla (Customer Engineer en Google Cloud) la “Inteligencia Artificial está cambiando el mundo” [1] claramente ya se encuentra en la vida diaria: en el software de los teléfonos, en los carros, en sistemas de seguridad entre otros. Una de sus grandes virtudes es la capacidad de predecir comportamientos en diferentes áreas de la economía; reduciendo el tiempo en el que se crean pronósticos precisos y de gran confianza, dando a las compañías ventajas competitivas a la hora de planificar y evaluar basados en grandes bodegas de datos [2]. Los usos más comunes del Machine Learning se encuentran en la Seguridad de Datos, Seguridad Personal, Comercio Financiero, Cuidado de la Salud, Marketing Personalizado, Detección de Fraudes, Recomendaciones, Búsqueda Online, Procesamiento de Lenguaje natural y Coches Inteligentes por mencionar un conjunto considerable [3]; Para el caso de estudio mencionado en este documento se centrará en Comercio Financiero: Buscando implementar un modelo de predicción que permita obtener una aproximación del comportamiento de algunos productos (Tubérculos) de las canasta familiar dentro de un periodo de tiempo determinado. Permitiendo visualizar momentos críticos o favorables para su adquisición, o por otro lado los tiempos en que los agricultores se verán favorecidos o desfavorecidos por alzas o bajas en precios. Muchos de los resultados esperados durante la investigación e implementación estarán basados en las probabilidades y en esencia en un conjunto de variables que permiten determinar las alzas o bajas de los precios; para el caso de estudio se establece como fuente principal el histórico de datos que ofrece Corabastos (Plaza Mayor de Mercado de Bogotá).

Page 5: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

PARTE 1. CONTEXTUALIZACIÒN DE LA INVESTIGACIÒN

CAPÌTULO 1. DESCRIPCIÒN DE LA INVESTIGACIÒN 1.1 Planteamiento/Identificación del problema Bogotá al igual que un conjunto de capitales en el mundo alberga una gran población y son el motor económico de las diferentes sociedades; por lo tanto son el eje central y al que gobernantes y dirigentes deben prestarle mayor atención, por su población y futuro de la misma. Grandes cambios tanto culturales y climáticos [1] se han presentado en los últimos incentivando cambios bruscos en la economía; donde los más afectados son los extractos socioeconómicos de bajos recursos. Es por hoy que las diferentes entidades deben preocuparse por la capacidad de poder predecir diferentes comportamientos tanto sociales, demográficos y sobre todo económicos, para no permitir el decline de la población y más aún de motores económicos como las capital de un País; para el caso Bogotá-Colombia. De acuerdo a lo anterior nace la necesidad de controlar la adquisición y la inflación territorial con nuevos métodos que trae consigo la tecnología; posibilitando la toma decisiones a nivel de prevención para campos económicos, climáticos y sociales. ¿Cómo las entidades gubernamentales pueden predecir un desabastecimiento de un producto como la papa (Tubérculo) y evitar el alza de sus precios para la canasta familiar? 1.2 Objetivos Objetivo General Modelar un sistema basado en Machine Learning, para alcanzar una aproximación de precios a nivel de tubérculos para la ciudad de Bogotá; teniendo como base el histórico de Corabastos (Plaza Mayor de Mercado) brindando la posibilidad de observar el comportamiento de precios para años posteriores y tomas de decisiones. Objetivos Específicos

• Diseñar un modelo matemático y estadístico que permita obtener una aproximación de precios basados en el histórico de datos.

• Implementar un sistema que permita realizar la simulación del comportamiento de los precios.

Page 6: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

• Realizar un análisis comparativo con datos de años anteriores que permitan observar el comportamiento de la simulación y el alcance del modelo.

1.3 Justificación del trabajo/Investigación

Justificación teórica

La estimación y comportamiento de los precios en el futuro están basados en los cambios climáticos y en el proceso de industrialización de cada país, Colombia no es indiferentes en este proceso y ante el avance de la tecnología es posible la implementación de nuevas tecnologías con el objetivo de destacar y predecir posibles comportamientos que afecten la sociedad; y tomar acciones correspondientes que permiten mitigar daños en las diferentes economías. La inteligencia artificial más exactamente el Machine Learning se basa en el análisis de grandes conjuntos de datos con la intención de encontrar comportamientos o conocimiento no establecido; muy utilizado en seguridad informática y en la banca para predecir posibles ataques y el éxito de ellos. Los precios de los mercados físicos y de futuros tienden a desplazarse a diferentes ritmos. Ejemplo: Los Operadores de café están facultados para pedir o hacer entregas del mismo en físico contra sus contratos futuros. Lo importante no es que la entrega sea realmente efectuada si no que la entrega sea posible, si se desea hacer o no. Toda discrepancia pronunciada entre los precios de los productos físicos y de los futuros atraerá transacciones compensatorias simultáneas en ambos mercados, lo cual equilibrara los precios nuevamente [4]. Dado lo anterior es importante implementar proyectos de investigación que permitan obtener este tipo de conocimientos; por lo que se desea realizar una investigación para la ciudad de Bogotá que permita predecir el precio de los tubérculos para un determinado periodo, teniendo como base el histórico de los últimos años de Corabastos (Bogotá). El resultado de este permitirá observar y tomar decisiones acerca del negocio y evitar sobrevaluación de los precios que afectan directamente la canasta familiar. Justificación metodológica Al establecerse como un proyecto de investigación contiene un conjunto de características que permiten llevar el proceso de acuerdo al conjunto de prácticas que ofrece el método científico, desde el planteamiento del problema, organización y planteamiento de la información hasta el análisis de resultados; con el fin de observar los resultados y compararlos con implementaciones que presenten como modelo en marcha algún tipo de

Page 7: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

técnica de Machine Learning que deje visualizar el pronósticos con un gran porcentaje de acercamiento a la realidad. 1.4 Hipótesis El aprendizaje de máquina en cada uno de sus campos ya sea aprendizaje supervisado, Aprendizaje no supervisado o Aprendizaje forzado; busca hacer tareas donde el se humano tardaría gran cantidad de tiempo y esfuerzo en obtener resultados que podrían prevenir sucesos que pone en riesgo la estabilidad económica, social, cultural y organizacional de una nación [2]. Con base en lo anterior se establece que:

• Un modelo predictivo permite a las organizaciones tomar decisiones para prevenir catástrofes o algún tipo de suceso no deseado.

• El tamaño de la información suministrada permite a un modelo acercarse más a nuevo conocimiento y con mayor certeza.

La implementación de redes neuronales permites que los sistemas se sigan alimentando y creando nuevo y mejores respuestas de acuerdo al entrenamiento de estas; a través del tiempo y generando mejores respuestas. 1.5 Marco Referencial

Aprendizaje Supervisado: En el aprendizaje supervisado el conjunto de algoritmos trabajan en mira de datos etiquetados, que buscan una función que dado una variable de entrada predice una etiqueta de salida; buscando así una aproximación de salida.

Aprendizaje No supervisado: Se presenta cuando no se dispone de un conjunto de datos etiquetados para el respectivo entrenamiento; por el contrario podemos descubrir la estructura de los datos, con el objetivo de encontrar algún tipo de organización que simplifique el análisis.

Aprendizaje Reforzado: El objetivo del aprendizaje reforzado es aprender cómo mapear situaciones a acciones para maximizar una cierta señal de recompensa, se basa en programar agentes mediante premio y castigo sin necesidad de especificar cómo realizar la tarea correspondiente [3] [4]. Series Temporales: Una serie temporal es una secuencia de valores reales, donde cada valor representa una magnitud en un punto en el tiempo; usualmente son almacenadas en bases de datos [6]. Las series de tiempo son estudiadas para diferentes propósitos tales como: el pronostico del futuro basadas en el conocimiento del pasado o simplemente la extracción de información útil de un conjunto de series.

Page 8: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Juegan un importante role en las ciencias y en la ingeniería; donde destacan la economía, finanzas, inteligencia de negocios, meteorología y telecomunicaciones etc. [7] Características de las Series Temporales

a. Dependientes del tiempo b. Tendencia (Estacionaria) c. Auto correlacionadas

Series de Tiempo Estacionarias Se llaman series de tiempo estacionarias si las propiedades que las definen no son afectadas por el tiempo; donde cumplen tres criterios:

a. La media de la serie no debe ser una función de tiempo b. La varianza de la serie no debe ser una función del tiempo c. La covarianza de la serie no debe ser una función del tiempo

Importancia de las series de tiempo estacionarias Su principal importancia es que la mayor parte de los modelos de series de tiempo funcionan bajo el supuesto de la serie es estacionaria con el obtener información relevante en el proceso de implementación. Para el presente proyecto se contempla la posibilidad de que el la serie se considere estacionaria con el fin de obtener resultados destacados para la investigación. 1.6 Metodología de la investigación

Investigación Cuantitativa: Teniendo como centro de información el sitio web de Corabastos; el cual cuenta con un gran volumen de datos con una organización estándar se procede a ejecutar una investigación basada en una metodología Cuantitativa. La investigación cuantitativa permite tomar un conjunto de valores y determinar su comportamiento en valores (Cuantificables) a través del tiempo, cambios de temperatura o incluso mediante la recolección de datos por medio de encuestas e informes previamente establecidos y diseñados. Descripción de la Información: Formato: HTML Año de Inicio: 1988 Periodo: Diaria

Page 9: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Acceso: Consulta/Libre Fuente: https://www.corabastos.com.co/

1.7 Organización del trabajo de grado

El presente trabajo de grado se divide en secciones orientadas al proceso de ejecución de un proyecto de Machine Learning (Aprendizaje de Maquina) donde se puede apreciar desde la obtención de la información hasta las pruebas del modelo con ajustes de rendimiento. Secciones:

a. Arquitectura del Proyecto La arquitectura planteada para el presente proyecto se basa en un modelo tres capas, donde se describe una capa física: describe la implementación a nivel de artefactos de software y hardware capa de Aplicación: Describe la Implementación a nivel de componentes de software involucrados en la solución capa de Negocio: Describe la solución a nivel de skateholders y componentes de negocio que interactúan de forma directa con los resultados del modelo.

b. Obtención y Limpieza de Datos Presenta el proceso mediante el cual se obtuvo el Data Set, el cual incluye el algoritmo y tecnologías utilizadas al igual que la limpieza de la data para su respectivo cargue y análisis inicial.

c. Series Temporales [Red Neuronal] Promueve los pasos base para comprobar si se trata de una serie temporal estacionaria, la transformación de la data en un conjunto información para aprendizaje supervisado; al igual que el diseño y pruebas y iniciales del modelo con las tecnologías seleccionadas.

d. Entrenamiento de la Respectiva Red Neuronal En el presente modelo utilizando Kansas, y TensorFlow para la implementación de redes neuronales necesita de un entrenamiento para obtener la capacidad de predecir comportamientos [Forecasting].

e. Ajustes del Modelo Como toda solución informática es necesario de ser sometido a pruebas; con el objetivo de comprobar sus resultados en ambientes y pruebas de poca probabilidad de ocurrencia.

f. Resultados El modulo de resultados hace una comparación estacionaria entre el entrenamiento basado en el 2018 y los primeros meses del año 2019.

g. Comparación con Implementaciones Similares El presente trabajo se basa en la implementación de series temporales, la cual es una técnica utilizada en Machine

Page 10: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Learning para la predicción de comportamientos, lo cual permite encontrar implementaciones basadas en modelos similares y generar comparaciones a nivel de resultados y conjuntos de datos de entrenamiento.

h. Trabajos futuros En el modulo de trabajos futuros se busca acerca la implementación a nicho de negocio donde se pueda realizar análisis en tiempo real del comportamiento de los precios en el mercado involucrando variables como la situación económica del país y el cambio climático.

1.8 Estudio de sistemas previos a. Bitcoin Price Prediction Using Time Series Forecating El articulo se basa en proceso de predecir el comportamiento del Bitcoin utilizando series temporales (Tiempo) obteniendo resultados satisfactorios a la hora de evaluar los resultados del modelo. b. Machine Learning Strategies for Time Forescasting El articulo presenta una serie de técnicas que permiten seleccionar desde series temporales hasta métodos mas complejos como ARIMA para la puesta en marcha de modelos de predicción basados en Series Temporales.

PARTE II. DESARROLLO DE LA INVESTIGACIÒN

CAPITULO 2. ARQUITECTURA DEL PROYECTO 2.1 Contextualización

Una arquitectura para un modelo de Machine Learning consiste en ofrecer un conjunto de pasos secuenciales que permitan determinar la fuente de cada uno; para el presente proyecto se destaca la posibilidad de estimar en tres componentes principales: Modelo Predictivo, Actualización del Modelo y un Componente que permite descargar la Data de la Respectiva Fuente. 2.2 Tuberías y Filtros (Pipes and Filters)

El presente trabajo fue desarrollado siguiente una arquitectura de Tuberías y Filtros destacando tres componentes alimentados secuencialmente: Componente Obtención de Data: Permite Conectarse a la App de Corabastos y descargar los datos necesarios para el proceso de Limpieza y adaptación de la información. Red Neuronal: Una red neuronal bajo aplicación de Series Temporales que permiten generar predicciones a partir de un Label de Entrada.

Modelo de Predicción: Un modelo bajo TensorFlow previamente entrenado que responde a un conjunto de predicciones sujetas a un Label de entrada.

Page 11: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

2.3 Negocio Punto de Vista Cooperación de Actor:

El punto de vista de cooperación del actor busca presentar como es la r elación de los involucrados con el entorno donde se encuentra la organización. Se centra en tener en cuenta los entes externos como clientes, proveedores y asociados.

Ilustración 1 Punto de Vista Cooperaciòn Actor

Punto de Vista de Proceso: El punto de vista de proceso de negocio tiene como finalidad presentar el nivel mas abstracto de la finalidad de uno o mas procesos y como los actores se responsabilizan de acuerdo a sus roles.

Page 12: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 2: Punto de Vista de Proceso

Punto de Vista de Producto:

El punto de vista del producto presenta el valor que los productos ofrecen a los consumidores, clientes o involucrados externos y como estos están compuestos y formados para poder constituir los servicios del negocio.

Page 13: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 3: Punto de Vista de Producto

2.4 Aplicaciones

Este punto de vista contiene las aplicaciones, componentes y sus relaciones entre sí, así como también detallar la estructura que tiene o tendrá la aplicación que soportará las operación del negocio. Punto de Vista de Comportamiento: En este punto de vista identificamos como es la interacción de la aplicación con los componentes principales de la aplicación.

Page 14: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 4: Punto de Vista de Comportamiento

Punto de Vista de Cooperacion: Este punto de vista permite tener un panorama general de la aplicación de una organización, de manera que permite observar el flujo de información entre los componentes y su ubicación lógica dentro de la aplicación.

Page 15: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 5: Punto de Vistade Cooperaciòn

Punto de Vista Uso de la Aplicación:

En este punto de vista describe el uso de que se le da a la aplicación para soporte de los procesos del negocio, así como sus servicios. Esta información puede ser relevante para aquellos Stakeholders encargados de la administración de los procesos.

Page 16: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 6 Uso de la Aplicaciòn

2.5 Física Punto de Vista de Infraestructura

En el siguiente modelo se presenta como se agrupan las funcionalidades dentro la arquitectura planteada (ScrapingWeb).

Page 17: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 7: Uso de la Infraestrucutura

Modelo Tres Capas:

El modelo tres capas permite ver la conciliación que existe entre las capas de negocio de software y la física.

Page 18: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 8: Modelo Tres Capas

Page 19: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

En este modelo vemos una vista general de todas las capas de negocio, aplicación e infraestructura que conforman en su conjunto la arquitectura.

CAPITULO 3. OBTENCIÒN Y LIMPIEZA DE DATOS 3.1 Obtención de datos

Conceptos:

2. Selenium: Es un conjunto de herramientas para la automatización de pruebas para aplicaciones basadas en la web; permite ejecutar pruebas bajo un gran conjunto de lenguajes de programación dentro de los se encuentra: Java, C#, Ruby, Groovy, Perl, Php y Python entre otros.

3. Scraping Web: Consiste en la extracción de información desde sitios web; bajo una serie de programas se utiliza el protocolo http manualmente para simular el comportamiento de una persona en un navegador web. En la actualidad a tomado gran fuerza gracias a que se puede obtener grandes volúmenes de datos almacenados en diferentes sitios web, permitiendo aplicar técnicas de Machine Learning para el pronostico de actividades o visualización de comportamientos que no son detectados con facilidad.

Ilustración 9: Web Scraping Fuente: https://www.imperva.com/learn/application-

security/web-scraping-attack/

Descripción del Proceso de Obtención de la Data: Como parte fundamental del proceso de implementar algoritmos y en si técnicas de machine learning es necesario tener un volumen de datos que permita inferir comportamientos y lo mas importante predecir; para garantizar buenos resultados se requiere de una data bien estructurada y estandarizada de acuerdo a las necesidades de cada implementación. Para el caso actual la data se encuentra en el sitio web: https://www.corabastos.com.co/sitio/historicoApp2/reportes/prueba.php

Page 20: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Utilizando técnicas de web Scraping y Selenium a nivel de eventos se obtuvo una data correspondiente a los años 2018-2019 con la siguiente estructura:

Fecha Nombre Presentación Cantidad Unidad Calidad Extra

Calidad Primera

Valor X Unidad

2019-05-12

Arracacha Bulto 50.00 KILO $80000 $75000 $1600

2019-05-12

Papa criolla lavada

Bulto 50.00 KILO $180000 $175000 $3600

2019-05-12

Papa criolla sucia

Bulto 50.00 KILO $160000 $155000 $3200

2019-05-12

Papa pastusa

Bulto 50.00 KILO $70000 $65000 $1400

2019-05-12

Papa r12 industrial

Bulto 50.00 KILO $70000 $65000 $1400

2019-05-12

Papa r12 negra

Bulto 50.00 KILO $60000 $58000 $1200

Ilustración 10 Tabla de Ejemplo de la Data Obtenida Fuente: Corabastos App/Reportes

Dentro del proceso se eliminaron todos aquellos registros que no contaran con algún atributo de los mencionados con anterioridad, esto con el fin de evitar resultados erróneos en el proceso de posterior de entrenamiento. Algoritmo: La siguiente clase corresponde a la implementación, para la descarga de la información la cual se compone de dos métodos: 1) getTableTuberculos: A partir de la ayuda de selenium recibe la fecha de la búsqueda y encuentra mediante selenium la tabla correspondiente a Tubérculos. 2) setformatData_Save: Permite dar formato a la data obtenida y guardar en un archivo plano la información correspondiente.

Page 21: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 11: Class /Scraping

Salida:

Ilustración 12: Salida Algoritmo

Limpieza de Datos: El proceso de limpieza de datos consistió en eliminar cada uno de los registros con información incompleta, caracteres especiales

Page 22: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

como “$ ,” entre otros garantizando el correcto cargue de la información mediante las herramientas tecnológicas elegidas para la implementación.

Ilustración 13: Información Limpia

CAPITULO 4. SERIES TEMPORALES [ RED NEURONAL ] 4.1 Elección de Tecnologías

4.2 Series Temporales Estacionarias Una vez establecido el conjunto de data previamente limpiada se procede a cargar el Data Set por medio de Pandas y realizar una serie de consultas básicas del archivo base. Carga de Información: El conjunto de tubérculos seleccionado para el presente proyecto involucra los siguientes productos:

a. Arracacha b. Papa criolla lavada c. Papa criolla sucia d. Papa pastusa e. Papa R12 Industrial f. Papa R12 Negra g. Papa R12 Roja h. Papa Sabanera i. Papa Suprema j. Papa Tocarre k. Yuca Armenia l. Yuca Llanera

Para la presente implementación se hará uso de la data comprendida para el tubérculo: Arracacha (“ARRACACHA.csv”) el comprende los siguientes datos base:

Page 23: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 14: Descripción Data Set Arracacha

La ilustración (6) por su parte muestra la carga del Data Set mediante Pandas; visualizando el numero de registros (248), la media, desviación estándar, valor mínimo y valor máximo correspondientes. Por su parte cada uno de los tubérculos cuenta con cuatro variables de predicción para el caso: Pesos Calidad Extra, Precio Calidad Primera, Precio Calidad Corriente y Grandes Superficies (Bulto, Bolsa) para el caso se trabajara bajo Pesos Calidad Extra. Resumiendo el Data Set anterior cuenta con dos columnas “Fecha, Pesos Calidad Extra” para un conjunto de 248 registros y una media de 1990.495968 Pesos Colombianos. Comportamiento de Precios 2018:

Page 24: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 15:Precios Calidad Extra Arracacha_2018

La ilustración 7 muestra el comportamiento de precios alrededor del 2018 donde se puede apreciar alzas en los precios para los meses de Enero: $2800 Kl, Septiembre $2700 Kl, Diciembre $2800 Kl y bajas en los precios para el periodo Marzo-Mayo del 2018. Validación: Serie Temporal Estacionaria Para la comprobación de que la serie corresponde a una serie estacionaria se hace de la Prueba de Dickey-Fuller Aumentada que se describe a continuación: Prueba Dickey-Fuller Aumentada:

Es estacionaria: Si un solo cambio en el tiempo no cambia las propiedades estadísticas de la serie de tiempo, en cuyo caso la raíz de la unidad no existe. Dickey-Fuller menciona que un proceso lineal tiene una raíz de la ecuación característica del proceso es igual a 1, por lo tanto el proceso es no estacionario. Por otro lado si las raíces adicionales se encuentran dentro del circulo unitario (Valor Absoluto) menor a uno, entonces la primera diferencia del proceso es estacionaria [8]. Implementación: La ilustración (8) muestra el proceso mediante el cual se obtuvo los valores correspondientes a ‘P’ para determinar si la serie es estacionaria; donde ‘df’ corresponde al Data Set previamente cargado con Pandas.

Page 25: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 16: adfuller Python

1. Hipótesis Nula (HO): Se define cuando la prueba de la serie temporal puede representarse por una raíz unitaria que no es estacionaria.

2. Hipótesis Alternativa (H1): Comprueba que la serie de tiempo es estacionaria.

P: § Valor de p>0.05: Acepta la Hipótesis nula (H0), los datos

tienen una raíz unitaria y no son estacionarios. § Valor de p<0.05: Rechaza la hipótesis nula (H0), los

datos son estacionarios.

Ilustración 17: Grafica Estacionaria Data Set

Page 26: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

La ilustración (8) muestra el comportamiento de la prueba de Dickey-Fuller; donde p corresponde a un valor de: 0,003418 < 0.05 rechazando la hipótesis nula (H0), concluyendo que la serie es estacionaria. 4.3 Implementación Red Neuronal

Data Set como un Problema de aprendizaje supervisado:

Un problema de Aprendizaje Supervisado, se comporta de la forma y=f(x) donde f(x), donde x corresponde a la información de entrada y ‘y’ la correspondiente predicción a los datos de entrada.

Para el actual modelo se contempla una única columna correspondiente al precio del tubérculo (Calidad extra); para el caso se hizo uso una función predefinida en Python: shift() que permite organizar la data entre un rango de -1 a 1 con el objetivo de entrenarla con BackPropagation.

Ilustración 18: Data como Aprendizaje Supervisado Fuente [9]

CAPITULO 5. ENTRENAMIENTO RED NEURONAL 5.1 Entrenamiento de Red Neuronal

El proceso de entrenamiento corresponde a un conjunto de datos de prueba y enlazados mediante la función de activación “ctivation='tanh'” utilizada en el modelo actual. La figura 10 muestra el proceso realizado para el entrenamiento del modelo propuesto y sus respectivas salidas y porcentajes de perdida.

Page 27: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 19:Entrenamiento Red Neuronal

CAPITULO 6. AJUSTES DEL MODELO

Para las modificaciones correspondientes al modelo se realizaron cambios en la función de activación así como en el optimizer y la métrica utilizada para el respectivo modelo :

Ilustración 20: Modificaciones al Entreanmiento

La grafica cambiando la guncion de activacion donde se le conoce como la t ransferencia que se utuliza para asignar los nodos de entrada a los nodos de salida de cierta manera; utliados para impartir no linealidad a la salidad de una capa de red neuronal. La figura 21, bajo sigmide functon aroja un conjunto de datos menos precisos a los obtenidos con tanh.

Page 28: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 21: Resultados con sigmoide (Activation Function)

CAPITULO 7. RESULTADOS

7.1 Resultados Fase 1

Los Resultados de la Fase 1 corresponden a predicción inicial correspondiente a los primeros días del mes de Diciembre 2018 donde se evidencian los siguientes resultados Ilustración (12):

Page 29: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

Ilustración 22:Resultados Primera Semana Diciembre 2018

En comparación con las ventas reales se evidencia los siguientes resultados:

2018-12-01,1800:1705 ML 2018-12-03,1800:1702 ML 2018-12-04,1600:1735 ML 2018-12-05,1800:1724 ML 2018-12-06,1600:1740 ML 2018-12-07,2000:1756 ML

Se observa que la media del conjunto de datos predichos corresponde a : $1727 con respecto a los datos proporcionados por Cora bastos que su media es de : $1766.

Desviación respecto a los Resultados Corabastos: 137.43685418725 Desviación respecto a los Resultados Modelo: 19.1136

En los resultados obtenidos se observa una variación de $80-$100 de acuerdo a los datos presentados en las fechas correspondientes; para efectos del modelos se observa que la tendencia es a un precio elevado acertando a la media del periodo estudiado.

Existen desviaciones que no pueden ser previstas por el modelo como cambios económicos, paros o eventos espontáneos que afecten directamente el alza o baja de los precios de un momento a otro.

Page 30: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

CAPITULO 8. COMPARACIÒN CON OTROS MODELOS

Una de las principales cosas a resaltar a la hora de comparar el modelo con otras tipos de implementaciones es efecto que causa actividades fuera del camino ideal; por ejemplo el cambio climático, posiciones socioeconómicas, política y cualquier factor externo que afecte directamente el comportamiento de los resultados propuestos y contemplados en los diferente modelos.

PARTE III. CIERRE DE LA INVESTIGACIÒN

a. Verificación, contraste y evaluación de los objetivos

Para el objetivo propuesto y específicos se cumple la solución planteada ya que ofrece un prototipo basado en machine Learning para predecir comportamientos de precios de productos para el caso la Arracacha bajo series temporales (Modelo Matemático propuesto para la solución); abarcando un conjunto de resultados de gran importancia para los interesados.

b. Síntesis del modelo propuesto El modelo arroja resultados con mayor exactitud dependiendo de la función de activación y la cantidad de data analizada para el estudio; por otro lado se puede destacar que los eventos no priorizados pueden afectar directamente el comportamiento o la exactitud del modelo.

c. Aportes originales Como parte del proceso se implementa un conjunto de técnicas nuevas a un campo como el comercio (Agrícola) en el sector comercial; dando ventajas tanto a comerciantes así como agricultores. Otro punto a destacar es ofrecer series Temporales como solución y no técnicas tradicionales como ARIMA que ofrecen una descomposición de series para obtener nuevas soluciones informáticas y el fortalecimiento de los resultados a partir de Redes Neuronales.

d. Trabajos o publicaciones derivadas Como producción se encuentra un articulo en proceso de revisión por la revista GTI Santander datos: Nombre: Revista GTI Santander Universidad: Universidad Industrial de Santander Categoría: B Tipo de Publicación: Investigación e innovación

Page 31: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

CAPITULO 9. PROSPETIVA DEL TRABAJO DE GRADO 9.1 Líneas de Investigación futuras

• Internet de las Cosas (IOT) • Aplicación de sensores para la carga automática de data • Generación de Reportes dinámicos • Aprendizaje Reforzado

9.2 Trabajos de Investigación futuros

Como parte de la solución implementada se desea trabajar actualizando la información diaria por medio de IoT (Internet of Things); dispositivos ubicados en diferentes sucursales de Corabastos o centrales de ventas que permitan observar el comportamiento diario de los precios, no solo de tubérculos si no en general la mayoría de productos de la canasta familiar. Lo anterior para facilitar el entrenamiento del modelo propuesto y la adquisición de mayor cantidad de data que mejore la respuesta de la solución.

Exponer servicios a través de http que permitan la monetización de la solución mediante la cantidad de consultas y el tipo de informe o predicción solicitada.

BIBLIOGRAFIA

[1].MarketingDirecto [en línea]. Disponible en: https://www.marketingdirecto.com/marketing-general/business-intelligence-powered-by-neural-one/el-machine-learning-una-necesidad-para-abordar-los-problemas-a-gran-escala [Accedido: 15-Octu-2018]. [2].La Importancia del Machine Learning [en línea]. Disponible en: https://p300.net/p300-blog/la-importancia-del-machine-learning-becurious/ [Accedido: 15-Octu-2018]. [3]. Los 10 uso mas comunes en Machine Learning e inteligencia Artificial [en línea]. Disponible en: https://blogthinkbig.com/los-10-usos-mas-comunes-en-machine-learning-e-inteligencia-artificial [Accedido: 15-Octu-2018]. [4]. Diferencias entre los precios de posiciones avanzadas y los del mercado de futuros [en línea]. Disponible en: http://www.laguiadelcafe.org/guia-del-cafe/mercados-de-futuros/Diferencias-entre-los-precios-de-posiciones-avanzadas-y-los-del-mercado-de-futuros/ [Accedido: 11-Octu-2018 ] [5]. El marco arquitectónico Big Data para el tratamiento de datos [en linea]. Disponible en: https://blog.powerdata.es/el-valor-de-la-gestion-de-

Page 32: OSCAR ARLEY RIVEROS REYrepository.udistrital.edu.co/bitstream/11349/16286/1/...LEARNING PARA OBSERVAR EL COMPORTAMIENTO DE LOS PRECIOS DE LOS TUBÉRCULOS EN LA CIUDAD DE BOGOTÁ OSCAR

datos/tratamiento-de-datos-de-big-data-en-en-el-internet-de-las-cosas [Accedido: 13-Octu-2018].] [6]. R. Liu and Y. L. Murphey, "Time-series temporal classification using Feature Ensemble learning," The 2010 International Joint Conference on Neural Networks (IJCNN), Barcelona, 2010, pp. 1-5. doi: 10.1109/IJCNN.2010.5596639 [7]. Bontempi, Gianluca & Ben Taieb, Souhaib & Le Borgne, Yann-Aël. (2013). Machine Learning Strategies for Time Series Forecasting. 10.1007/978-3-642-36318-4_3. [8]. Sargan, J.D. and Alok Bhargava(1983). "Testing residuals from least squares regressions for being generated by the Gaussian random walk", Econometrica, 51, 153–174 [9]. Albert, J., &; Chib, S. (1993). Bayesian analysis of binary and polychotomous response data. Journal of the American Statistical Association, 88:422, 669-679 [10]. Andrieu, C., Breyer, L. A., &; Doucet, A. (1999). Convergence of simulated annealing using Foster-Lyapunov criteria. Technical Report CUED/F-INFENG/TR 346, Cambridge University Engineering Department.

ANEXOS

1. Algoritmo para la descarga de data desde Corabastos (Archivo ‘.py’ <Python>)

2. Arracacha.csv (Conjunto de Data de entrenamiento)