DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

52
DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO PREDICTIVO PARA EL APOYO EN LA TOMA DE DECISIONES ENFOCADO EN LAS EMPRESAS DE TELECOMUNICACIONES. UNIVERSIDAD SANTO TOMÁS FACULTAD DE INGENIERÍA DE TELECOMUNICACIONES PREGRADO EN INGENIERÍA DE TELECOMUNICACIONES BOGOTÁ, D.C 2020

Transcript of DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

Page 1: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO PREDICTIVO PARA EL APOYO EN LA TOMA DE DECISIONES ENFOCADO EN LAS

EMPRESAS DE TELECOMUNICACIONES.

UNIVERSIDAD SANTO TOMÁS FACULTAD DE INGENIERÍA DE TELECOMUNICACIONES PREGRADO EN INGENIERÍA DE TELECOMUNICACIONES

BOGOTÁ, D.C 2020

Page 2: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

Diseño e implementación de un modelo analítico predictivo para el apoyo en la

toma de decisiones enfocado en las empresas de telecomunicaciones.

ANDERSON CAMILO BARRERA BOLIVAR

Trabajo presentado como Monografía de pasantía laboral en Claro Colombia para obtener el título de Ingeniero de Telecomunicaciones

Dirigido por:

ING. RAFAEL ORLANDO CUBILLOS SANCHEZ

UNIVERSIDAD SANTO TOMÁS FACULTAD DE INGENIERÍA DE TELECOMUNICACIONES PREGRADO EN INGENIERÍA DE TELECOMUNICACIONES

BOGOTÁ, D.C 2020

Page 3: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

RECTOR GENERAL Padre Jose Gabriel Mesa Angulo, O.P.

VICERRECTOR ADMINISTRATIVO Y FINANCIERO GENERAL

Padre Luis Francisco Sastoque Poveda, O.P.

VICERRECTOR ACADÉMICO GENERAL P. Mauricio Antonio Cortés Gallego O.P

SECRETARIO GENERAL

Doctor Héctor Fabio Jaramillo Santamaría

SECRETARIA DE DIVISIÓN E. C. Luz Patricia Rocha Caicedo

DECANO FACULTAD DE INGENIERÍA DE TELECOMUNICACIONES

Ingeniero Germán Macías Muñoz

Page 4: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

Nota de aceptación:

Firma Docente

Bogotá D.C, Colombia, 08 de agosto de 2020

Page 5: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

TABLA DE CONTENIDO

LISTA DE TABLAS ............................................................................................................. 7

LISTA DE FIGURAS ........................................................................................................... 8

INTRODUCCIÓN ................................................................................................................. 1

1. CAPÍTULO I ................................................................... ¡Error! Marcador no definido.

1.1 PLANTEAMIENTO DEL PROBLEMA ...................................................................... 2

1.2 JUSTIFICACIÓN ........................................................................................................... 3

1.3. OBJETIVOS ................................................................................................................. 4

1.3.2 OBJETIVOS ESPECÍFICOS ....................................................................................... 4

2. CAPÍTULO II .................................................................. ¡Error! Marcador no definido.

2.1.1 MACHINE LEARNING .............................................................................................. 5

2.1.2 APRENDIZAJE SUPERVISADO ................................................................................ 6

2.1.3 REGRESIÓN LINEAL.............................................................................................. 6

2.1.4 REGRESIÓN LINEAL SIMPLE ............................................................................... 6

2.1.5 REGRESIÓN LINEAL MULTIPLE ........................................................................... 7

2.1.6 MICROSOFT EXCEL ................................................................................................. 9

2.1.7 DATASET ................................................................................................................... 9

2.1.8 DATAFRAME ........................................................................................................... 10

2.1.10 Python................................................................................................................. 13

2.1.12 Anaconda ............................................................................................................ 15

4. METODOLOGÍA ..................................................................................................... 16

4.1 TIPO DE INVESTIGACIÓN ..................................................................................... 16

4.2 METODOS DE RECOLECCIÓN DE INFORMACIÓN .............................................. 16

4.3 DISEÑO DEL MODELO .......................................................................................... 16

5. DESARROLLO ....................................................................................................... 17

5.1 DATOS BASE ........................................................................................................ 17

5.2 SELECCIÓN DE SOLUCIONES A PROBLEMATICAS ............................................... 18

5.2 MODELO MATEMATICO ....................................................................................... 19

5. SELECCIÓN DE LENGUAJE DE PROGRAMACIÓN ............................................. 28

5.1 PROGRAMACIÓN DE LA HERRAMIENTA ................................................................. 29

6. RESULTADOS ....................................................................................................... 34

7. RECOMENDACIONES ........................................................................................... 40

Page 6: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

8. CONCLUSIONES ................................................................................................... 41

9. BILIOGRAFIA ......................................................................................................... 41 |

Page 7: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

LISTA DE TABLAS

pág

Tabla 1. Variables del dataframe………………………………………………………….. 21 Tabla 2. Datos del dataframe de muestra……….……………………………………….. 22 Tabla 3. Tabla de datos resultante.……………………………………………………….. 24

Page 8: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

LISTA DE FIGURAS

pág

Figura 1. Ejemplo regresión lineal…………………………………….……………………… 8

Figura 2. Ejemplo de regresión lineal………………………………….……………………. 9

Figura 3. Hoja de cálculo de Excel……………………………..………………………….. 10

Figura 4. Ejemplo de dataframe ……………………………….………………………….. 11

Figura 5. Base de datos…………………………………………………………………….. 12

Figura 6. Tendencias en lenguajes de programación……………………………………. 14

Figura 7. Proceso instalación de librerías………………………………….……………….30

Figura 8. Importación de las librerías necesarias en desarrollo……….…………………30

Figura 9. Función de importación y organización de los datos………………………… 31

Figura 10. Función para crear el dataset de datos……………………………………….. 31

Figura 11. Ecuaciones auxiliares.…………………………………………………………. 32

Figura 12. Cálculo del primer b1…………………………………………………………… 33

Figura 13. Cálculo del segundo.……...……………………………………………………. 33

Figura 14. Despeje de b2......……………………………………………………………….. 33

Figura 15. Despeje de b1…………………………………………………………………... 33

Figura 16 Despeje de A……………………………………………………………………. 33

Figura 17 Media recortada………………………………………………………………… 33

Figura 18 Cálculo de las ecuaciones auxiliares………………………………………….. 35

Figura 19 Ecuación final……………………………………………………………………. 35

Figura 20 Cálculo del porcentaje de error………………………………………………… 36

Figura 21 Ecuación final datos Claro……………………………………………………… 37

Page 9: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

Figura 22 Cálculo de porcentaje de error………………………………………………… 38

Figura 23 Cálculo de porcentaje de error con media recortada 20%........................... 39

Figura 24 Cálculo de porcentaje de eeror con media recortada 45%...........................39

Page 10: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

1

INTRODUCCIÓN

La era digital ha generado la necesidad de conectar múltiples dispositivos a internet, los operadores que brindan este servicio, han adoptado las diversas tecnologías con el fin de dar solvencia en cobertura, capacidad y velocidad, entre otras características. Esto significa una gran inversión para la empresa y como cualquier otro proyecto debe acompañarse de áreas de la compañía no precisamente de ingeniería tales como; mercadeo, financiera, jurídica, y demás. Con objeto de cumplir la proyección de clientes y ganancias esperadas.

Claro Colombia es uno de los operadores que tiene presencia en Colombia, aunque este operador en específico también tiene presencia a lo largo de Latinoamérica en varios países. Ofrece servicios de televisión, telefonía fija y móvil, internet fijo y móvil, claro tv, claro música e Internet de las Cosas. Además, brinda servicios empresariales para pymes y grandes organizaciones.

El mercado es competitivo y cada operador debe imprimir su diferenciador para captar más usuarios, allí es donde recae la responsabilidad de la toma de decisiones que pueden marcar esa diferencia significativa atractiva hacia una población objetivo. Por ello, recientemente se ha hecho uso de herramientas y software especializado en brindar una base de conocimiento para una mejor toma de decisiones.

En la actualidad uno de los lenguajes con mayor aplicabilidad en diferentes áreas es Python, en el cual se pueden generar variedad de desarrollos con diferentes enfoques. Los modelos analíticos son herramientas las cuales nos permiten visualizar posibles escenarios futuros bajo unos parámetros específicos. En el presente documento se creará un modelo analítico de regresión lineal que permita visualizar diferentes escenarios para la venta de paquetes prepago en múltiples zonas de la ciudad de Bogotá.

El modelo será alimentado por una base de datos publica emitida por el gobierno nacional la cual nos permite visualizar la cantidad de abonados a los servicios de internet móvil en el país en los últimos años1

, el cual nos brinda información detallada de la cantidad y modalidad de internet móvil que han utilizado las personas a lo largo de los últimos años, como además la preferencia en los operadores móviles, y paquete contratados,

Page 11: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

2

1. CAPITULO i

1.1 PLANTEAMIENTO DEL PROBLEMA La empresa de telecomunicaciones Claro Colombia es el principal actor en cuanto a telefonía móvil se refiere en el país, con una cuota en el mercado del 46,45% equivalente a 29.887.101 de abonados móviles ("Telefonía móvil", 2020). Esta gran participación trae consigo beneficios económicos para la empresa, ya que, esta cantidad de abonados son ingresos recurrentes, por otro lado, genera la responsabilidad de contar con la infraestructura que pueda dar abasto con las necesidades de todos los usuarios brindando un buen servicio. Cuando se realiza el diseño de planes y ofertas de telefonía móvil son diversos los factores que se tienen en cuenta para lograr una aproximación a un escenario real donde sea más atractivo para los usuarios. Esto requiere de un gran número de especialistas de diferentes áreas que invierten un alto porcentaje del tiempo analizando datos y variables estadísticas de la población, usuarios activos, usuarios de otros operadores, entre otros. Actualmente los operadores, entre ellos Claro, han notado el interés de los usuarios que optan por rescindir el contrato de un plan fijo mensual y por el contrario asciende el número de usuarios que hacen uso de la compra de paquetes prepago, los cuales, satisfacen las necesidades específicas de los usuarios, proveyendo datos, mensajes de texto, redes sociales y minutos. El atractivo principal de esta modalidad de consumo es que el usuario no percibe un compromiso mensual de pago obligatorio, el abonado tiene la facultad de decidir cuándo requiere algún paquete o cuando no. El uso de la tecnología para colaborar en el diseño y análisis de estos paquetes puede generar grandes resultados de impacto, ya que, a través del análisis predictivo de regresión lineal se puede estimar las relaciones entre variables, encontrando patrones clave en conjuntos de datos, determinando la influencia en el movimiento de un factor especifico. Como por ejemplo cuánto debería costar un paquete y como el valor de este puede ser más atractivo en algunas zonas de Bogotá. Para brindar dicha solución de colaboración se propone: ¿Cómo crear un modelo analítico que permita la predicción de datos futuros? La cual se convierta en una herramienta de apoyo para la toma de decisiones en la empresa y así generar soluciones mas concretas y acertadas a las necesidades de los clientes.

Page 12: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

3

1.2 JUSTIFICACIÓN Según cifras de Ministerio de las Tecnologías de Información y Comunicación (MinTIC): “ a corte del primer trimestre del 2019, el 20.78% de abonados de líneas móviles a nivel nacional poseen un plan pos-pago mientras que el restante 79.22% utilizan métodos pre-pago, respectivamente 13.668.839 y 52.125.242 de abonados ("Telefonía móvil", 2020, https://colombiatic.mintic.gov.co/679/w3-propertyvalue-47274.html )”1. La competencia para lograr que esa gran mayoría de abonados que prefieren consumir servicios a través de recargas o compra de paquetes pre-pago es ardua, requiere del trabajo colaborativo de varias áreas, de análisis de mercado, de marketing, entre otros. A través de la historia se ha comprobado que el uso de la tecnología puede mejorar exponencialmente diferentes áreas de las organizaciones y en este caso no es la excepción, la tecnología ofrece la posibilidad de analizar millones de datos en segundos, una tarea en la que un ser humano tardaría un tiempo considerablemente más alto. Hoy en día las empresas de entretenimiento, moda, educación, servicios o inclusive deportes, están tomando como referencia los datos y análisis que arrojan diferentes aplicaciones para la toma de decisiones que pueden marcar significativamente una diferencia sobre sus competidores. Los datos son el activo más valioso que puede poseer una corporación, pero en ocasiones estos son simplemente almacenados, el correcto uso de estos puede lograr un aprovechamiento en materia de análisis actual y futuro. Si esta información se ingresa en un sistema de aprendizaje o análisis estadístico se pueden generar pronósticos basados en los cambios o comportamientos anteriores para mejorar la precisión en un futuro. La analítica predictiva permite evitar la repetición de errores conocidos (obteniendo ventaja sobre los competidores), destacar puntos de venta o zonas donde se encuentran potenciales clientes, reduciendo riesgos financieros y mejorar las campañas de marketing, ya que, proporciona aproximaciones de hacia donde se mueve el mercado y datos del consumidor respecto a campañas específicas. Todas estas características posibilitan tomar decisiones sensatas y efectivas. Un modelo de análisis predictivo para la toma de decisiones en una empresa del tamaño de Claro Colombia es no solo necesario sino vital para reducir los márgenes de error y perdidas futuras, en la implementación de nuevos productos o campañas, así como acotar las perdidas esperadas y de este modo poder diseñar un plan para mitigar dichas perdidas de los productos venideros.

Page 13: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

4

1.3. OBJETIVOS 1.3.1 OBJETIVO GENERAL Diseñar e implementar un modelo de análisis predictivo que permita estimaciones que contribuyan en la toma de decisiones empresariales.

1.3.2 OBJETIVOS ESPECÍFICOS

1. Realizar análisis de requisitos para el modelo predictivo.

2. Diseñar el modelo matemático predictivo.

3. Delimitar las variables de alto impacto para depurar el resultado esperado.

4. Desplegar el modelo predictivo.

5. Realizar pruebas de funcionalidad y análisis de impacto.

Page 14: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

5

2. CAPITLO II

2.1 MARCO TEÓRICO En el presente apartado del documento se dará explicación a los conceptos relevantes para el entendimiento del desarrollo del documento y del trabajo, así como su relevancia en el mismo. Este proyecto hace uso una de las nuevas tendencias en el desarrollo de software enfocado al mundo empresarial como lo es el machine learning (Aprendizaje automático). El software desarrollado mediante herramientas como Python, Excel, Anaconda; no solo puede recopilar grandes cantidades de información, sino que además a partir de ella puede generar predicciones aproximadas de casos probables en un futuro. Machine Learning puede llegar a tener un gran impacto en la toma de decisiones de una compañía, mostrando panoramas más acotados y fiables en relación a distintos aspectos internos de la organización. En el presente proyecto se podrá evidenciar un ejemplo claro de como estas tecnologías permiten a una empresa tener mejor toma de decisiones. Pero antes que nada es importante ahondar en los elementos implicados en este desarrollo en particular. 2.1.1 MACHINE LEARNING Marchine learning(ML de manera abreviada) o también conocido como aprendizaje automático consiste en una rama de las ciencias informáticas relacionada al desarrollo de inteligencia artificial la cual tiene como fin crear sistemas computacionales los cuales puedan aprender por si solos a partir de datos y procesos pasados. Esta disciplina cibernética funciona generando algoritmos que realizan operaciones matemáticas complejas a partir de los datos que van obteniendo a lo largo del tiempo, entre más datos recopilen mejores y más precisas serán las acciones resultantes El ML funciona principalmente con algoritmos, los cuales son una secuencia ordenada de instrucciones finitas y cíclicas que se organizan de un orden específico para obtener resultados particulares ante ciertos estímulos iniciales. Permite generar soluciones a problemas complejos que tratados de otra manera serian virtualmente imposibles de manejar. Los algoritmos son utilizados dentro del ML para generar respuestas automáticas a partir de un tratamiento de datos que se realiza previamente de manera controlada. Cabe resaltar que entre más datos posea el sistema para poder entrenarse mejor serán sus respuestas ante futuros acontecimientos que puedan surgir.

Page 15: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

6

Existe no uno sino varios tipos de ML unos más eficientes que otros. Para el propósito de este proyecto se empleará el Aprendizaje supervisado. 2.1.2 APRENDIZAJE SUPERVISADO Este tipo de Machine learning consiste en predecir un valor continuo, utilizando variables distintas que combinadas y asociadas entre si desde la base de los datos, permite predecir un resultado determinado Una vez generado el desarrollo para aplicar el modelo matemático es necesario encontrar un método para poder comprobar si los resultados arrojados son fiables y cuanto margen de error presentan, como no es posible por temas de seguridad de la información obtener datos actuales de las empresas de telecomunicaciones que prestan el servicio de internet móvil en Colombia. En el desarrollo de este proyecto también se decidió optar por un método de división de datos ML. El cual consiste en separa los datos iniciales en dos grupos con una distribución 70/30, 70% de los datos serán utilizados para entrenar el sistema y el restante 30% para comprobar la precisión del sistema. Una de los procesos principales en el desarrollo de cualquier software enfocado en ML es generar el modelo algorítmico que este trabajará, en el caso de este proyecto se utilizara un modelo basado en regresiones lineales matemáticas. 2.1.3 REGRESIÓN LINEAL A través de la historia la humanidad se ha basado y apoyado en gran medida en las matemáticas y en modelos los cuales pueda utilizar para la compresión de la realidad y su beneficio particular, es por esto se crearon métodos como la regresión lineal para poder predecir comportamientos futuros a partir de datos recolectados en el pasado, y con el paso del tiempo este proceso se ha ido refinando y depurando para obtener mejores resultados. Los tipos de regresión lineal existentes son los siguientes. 2.1.4 REGRESIÓN LINEAL SIMPLE La regresión lineal simple se basa en estudiar los cambios en una variable, no aleatoria, afectan a una variable aleatoria, en el caso de existir una relación funcional entre ambas variables que puede ser establecida por una expresión lineal, es decir, su representación gráfica es una línea recta. Es decir, se está en presencia de una regresión lineal simple cuando una variable independiente ejerce influencia sobre otra variable dependiente13. Las regresiones lineales simples a pesar de que es una herramienta de gran utilidad para generar una predicción; lo cual es el fin de este proyecto, El hecho que se tenga un conjunto de datos tan diferentes entre sí, generara problemas para una regresión lineal simple. Por lo tanto, el aplicarla en la creación de el modelo resultaría en un unas predicciones con márgenes de error muy altas, Esto provocaría grandes dificultades para encontrarle aplicabilidad el programa en la vida real.

Page 16: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

7

Figura 1. Ejemplo regresión lineal. Fuente:

https://i1.wp.com/www.aprendemachinelearning.com/wp-content/uploads/2018/05/reg_lineal_recta_1_variable.png

Como se puede evidenciar en el gráfico anterior lo que se busca es partir de un grupo de datos recolectados en el pasado sobre un tema en específico lograr descubrir su comportamiento futuro. Aunque las regresiones lineales simples son muy buenas para poder generar modelos matemáticos aplicables a ML. En este trabajo se ha requerido para su desarrollo un método más preciso; ahí es donde las regresiones lineales múltiples se presentan como la opción más viable al respecto. 2.1.5 REGRESIÓN LINEAL MULTIPLE La regresión lineal permite trabajar con una variable a nivel de intervalo, así también se puede comprender la relación de dos o más variables relacionadas mediante ecuaciones, este proceso de relacionar múltiples variables entre si se le conoce regresión lineal múltiple. En este método dos o más variables independientes influyen sobre una variable dependiente14.

Page 17: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

8

Figura2. Ejemplo de regresión lineal. Fuente: https://ingenioempresa.com/regresion-

lineal/ Como se puede evidenciar por el anterior grafico las regresiones lineales múltiples permiten dar una idea más concreta y con menor margen de error de los valores futuros que queremos predecir, ahora bien hasta el momento solo se han mencionado los tipos de regresión que existen y que tan preciso pueden llegar a ser, pero más adelante se ahondara en el proceso de creación del modelo y los de márgenes de error y datos que este arroje.

Una vez definidas las herramientas matemáticas que se aplicaran al modelo de ML de este trabajo se definirán otras herramientas que se utilizaron en este desarrollo.

Page 18: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

9

2.1.6 MICROSOFT EXCEL

Es una herramienta creada por la compañía Microsoft la cual nos permite almacenar información de manera ordenada en elementos llamadas Hojas de cálculo; la cual a su vez se estructura en filas y columnas. Excel también permite trabajar con datos numéricos, cálculos matemáticos, funciones aritméticas, etc2.

Figura 3. Hoja de cálculo de Excel. Fuente: Autor

Este proyecto se respaldará principalmente en la función de guardar información de manera estructurada a través de hojas de cálculo la cual facilita en gran medida el ordenamiento de los datos que se quieren trabajar para la creación del Dataframe que se usara como base para el desarrollo del modelo matemático y el aplicativo. 2.1.7 DATASET

El termino Dataset es un anglicismo que cotidianamente se incorpora en el lenguaje español para denotar un conjunto ordenado de datos, las cuales habitualmente están tabuladas. El Data set incluye también las relaciones entre las tablas que contienen los datos, aunque para este desarrollo se creara un Dataset compuesto por una única tabla la cual contendrá la base de datos, lo que nos con lleva al siguiente punto de el desarrollo el cual si será la herramienta propiamente utilizada los Dataframe.

Page 19: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

10

2.1.8 DATAFRAME A pesar de que Dataframe también es un anglicismo adoptado en el lenguaje este no tiene una traducción literal establecida, se determina un Dataframe como un marco de datos ordenados. Si aunque se podría pensar que un Dataset y Dataframe son los mismo pues ambos son conjuntos de datos almacenados, la gran diferencia reside en que un Dataframe a parte de tener la información ordenada por filas también lo hace por columnas. Por eso para la implementación de este proyecto se determinó la utilización de un Dataframe como estructura base de información.

Figura 4. Ejemplo de Dataframe. Fuente: Feeding the machine

Este ordenamiento de datos que se ha creado se tiene que guardar de una manera ordenada en un lugar de reposo el cual pueda ser accedido de manera remota y rápida, esta necesidad que se presentan actualmente no es nueva; en realidad se viene presentando desde el inicio de la computación, para esto se creó un método de almacenar datos y posteriormente acceder a ellos conocidos actualmente como bases de datos: 2.1.9 BASES DE DATOS

Se llama base de datos o banco de datos, a un conjunto de información perteneciente a un mismo contexto, ordenada de manera que pueda ser recuperada más adelante cuando sea requerido.

Page 20: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

11

En la siguiente figura se mostrará un ejemplo básico de un modelo de bases de datos, los cuales la base para la administración de la información que se procesa en estos desarrollos.

Figura 5. Base de datos. Fuente: Autor 2.1.9.1 TIPOS DE BASES DE DATOS Son las diferentes bases de datos que se agruparon por características o usos similares que estas comparten. Bases de datos Estáticas

Estas son bases de datos de solo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones y tomar decisiones.

Bases de datos Dinámicas:

La información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y adición de datos, además de las operaciones fundamentales de consulta.

Page 21: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

12

Bases de datos Jerárquicas:

Almacenan su información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos.

Bases de datos de red:

Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico).5

Bases de datos de transaccionales:

Son bases de datos cuyo único fin es el envío y recepción de datos a grandes velocidades, estas bases son muy poco comunes y están dirigidas por lo general al entorno de análisis de calidad, datos de producción e industrial, es importante entender que su fin único es recolectar y recuperar los datos a la mayor velocidad posible.6

Bases de datos relacionales:

Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 , de los laboratorios Ibm en San Jose , no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos7.

El manejo de las bases de datos se lleva mediante sistemas de gestión (llamados DBMS por sus siglas en inglés: Database Management Systems o Sistemas de Gestión de Bases de Datos) , y a lo largo de historia su uso y funcionamiento se ha ido refinando así como especializando para usos muy específicos de las diferentes industrias, los mas utilizados a nivel mundial son los siguientes:

• MySQL

• PostgreSQL

• Access

• Microsoft SQL Server Para este Desarrollo se vio la necesidad de utilizar elementos más simples de manejos de datos como lo son los archivos csv de Microsoft Excel, debido a que la fuente de información suministrada venida almacenada y ordenada en este tipo de archivos. Una vez se define el método como se tratara la información base se puede comenzar el proceso que se realizara al respecto del modelo analítico, para esto se trabajara un modelo predictivo basado en una regresión lineal múltiple, la cual permitirá generar un algoritmo el cual genere predicciones con márgenes de error calculados de los valores futuros de nuestros elementos configurados en el Dataframe.

Page 22: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

13

2.1.10 Python Python es un lenguaje del tipo interpretado, multiparadigma el cual soporta orientación a objetos(oop), programación imperativa y funcional. Es de tipado dinámico, multiplataforma y multipropósito. Actualmente cuenta con una gran cantidad de librerías las cuales permiten trabajar en múltiples ámbitos del desarrollo, para el caso del presente trabajo en donde se necesita es en gran medida un grupo de elementos que ayuden en la ejecución matemática, algorítmica de gran cantidad de datos, en estos apartados los mejores lenguajes son(según { https://mappinggis.com/2019/07/lenguajes-de-programacion-para-realizar-ciencia-de-datos/ } :

• R

• Python

• Scala Una vez se ha delimitado las posibilidades de acuerdo al uso específico para el proyecto; el siguiente ítem tenido en cuenta para selección del mismo fue la popularidad y uso que los lenguajes poseen, pues esto será vital para la solución de dudas y problemas a la hora del desarrollo del aplicativo, en este sentido y de acuerdo a la última encuesta realizada por StackOverFlow los lenguajes más utilizados en el mundo son:

Figura 6. Tendencias en lenguajes de programación. Fuente:

https://www.cursosdesarrolloweb.es/blog/tendencias-lenguajes-y-frameworks-de-programacion-2020/

Entonces una vez se delimitan las opciones y se genera un cruce entre las dos variables más importantes para nuestro desarrollo queda entrevisto que Python es la mejor opción para escoger, por lo cual todo el aplicativo será creado en este lenguaje. En Python existen una gran cantidad de librerías que nos permiten múltiples actividades y funcionalidades. El aplicativo requiere la utilización de las siguientes librerías

Page 23: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

14

2.1.11 Librerías Una librería es un conjunto de archivos o comandos codificados y condensados por un tercero el cual permite hacer funciones específicas dentro de nuestros programas, lo cual genera unas facilidades en los desarrollos de acuerdo al enfoque con el que dicha librería fue creada. Para este proyecto el cual está basado en modelos matemáticos lineales se ha decidido utilizar las siguientes librerías.

• Xlrd

Xlrd es una librería creada por pypi la cual tiene como función la extracción y manejo de datos desde hojas de cálculo en Excel, precisamente por esta razón se ha implementado dentro del proyecto para la creación del Dataframe base.

• Numpy Esta librería nos permite el manejo de estructura de datos para el análisis de datos y esta diseñada para la creación de algoritmos matemáticos con vectores o matrices además de tener una gran capacidad de procesamiento de datos, perfecta para el manejo de todos los cálculos matemáticos del modelo predictivo dentro del aplicativo.

• Matplot Es una librería gráfica creada para que desde un aplicativo desarrollado en Python se puedan generar graficas matemáticas digitales, lo cual permitirá mostrar los resultados del modelo matemático dentro del aplicativo.

• Skelearn Es una librería gratuita de aprendizaje de máquinas desarrollado en Python, soporta varios tipos de algoritmos, los cuales son utilizados en el mundo para generar diferentes tipos de software enfocados a la ciencia de datos. Este grupo de librerías y lenguajes seleccionados se procederán a correrlos en un ambiente virtual llamado Anaconda.

Page 24: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

15

2.1.12 Anaconda Es un conjunto de herramientas desarrollados por terceros de gran utilidad en desarrollo y principalmente utilizado en el área de la ciencia de datos, el cual genera un ambiente virtual con las librerías y requerimientos específicos para un desarrollo sin comprometer las actuales instaladas en el host físico, esto presenta gran utilidad cuando se requiere hacer varios proyectos por una misma persona; o en un mismo equipo, para asi de este modo no cruzar requerimientos de librerías entre los proyectos y que estos se solapen generando errores y problemas en medio del desarrollo. Una vez tenemos finalizado el desarrollo que procesa la información y hace los cálculos requeridos, se genera la necesidad de poder comprobar la veracidad del sistema, para esto se ha decidido utilizar el sistema ML para pruebas de datos. 2.1.13 SISTEMA ML Es una estrategia utilizada en ciencia de datos la cual consiste en dividir los datos almacenados dentro del dataframe en dos grupos diferentes con una margen de alrededor del 70/30, lo cual nos permitirá no solo educar al sistema para que pueda hacer sus aproximaciones futuras, sino ademar corroborar dichas aproximaciones con el 30% restante de información que tenemos a nuestra disposición y así poder determinar de manera real la fiabilidad de nuestro sistema. Para intentar acotar los datos y poder tener unos resultados más precisos se aplican los métodos de media recortada 2.1.14 MEDIA RECORTADA Es un método estadístico utilizado para poder depurar los dataframe de datos basura o atípicos y tener la mayor precisión posible en los cálculos. Para esto define la media regular la cual se obtiene organizando los datos de menor a mayor y buscando el dato que se encuentre justo en la mitad y se extiende desde este punto eliminando los datos de los extremos, para enfatizar en el impacto de la depuración en un modelado de datos, los porcentajes a eliminar se irán incrementando progresivamente para observar los cambios generados.

Page 25: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

16

4. METODOLOGÍA

4.1 TIPO DE INVESTIGACIÓN

El proceso investigativo que se desarrollarla será de tipo cuantitativo, se busca generar resultados estimados con bajos márgenes de error, los cuales sean útiles en la toma de decisiones empresariales.

4.2 METODOS DE RECOLECCIÓN DE INFORMACIÓN

La recolección de información para el desarrollo del modelo matemático y el desarrollo del software fue obtenida en la página del gobierno nacional de datos abiertos. Para el propósito particular de este proyecto se seleccionó una base de datos con la información de la contratación del internet móvil del 2012 al 2019.

4.3 DISEÑO DEL MODELO

La recolección de información para el desarrollo del modelo matemático y el desarrollo del software fue obtenida en la página del gobierno nacional de datos abiertos. Para el propósito particular de este proyecto se seleccionó una base de datos con la información de la contratación del internet móvil del 2012 al 2019.

Page 26: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

17

5. DESARROLLO

5.1 DATOS BASE

En el momento del desarrollo de este proyecto los planes prepagos de telefonía eran la línea de negocio menos estudiada por el área de analítica. Gracias al apoyo y trabajo en conjunto que se realizó con el equipo de analítica a lo largo de la pasantía laboral se pudo constatar la situación actual y obtener información valiosa para el desarrollo del trabajo.Gracias al apoyo y trabajo en conjunto que se realizó con el equipo de analítica a lo largo de la pasantía laboral se pudo constatar la situación actual de la problemática, y obtener información valiosa para el desarrollo del trabajo.

Una vez identificada la problemática se prosiguió a tratar el tema de una posible solución lo cual derivo a la idea principal de este proyecto, el cual permite generar a través de un modelo matemático de regresión lineal una predicción de los comportamientos de futuros productos de esta línea de negocio de la compañía.

Page 27: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

18

5.2 SELECCIÓN DE SOLUCIONES A PROBLEMATICAS

Para dar solución a las problemáticas anteriormente mencionadas se tomaron en consideración los modelos matemáticos creados por la empresa. En consenso con el área de analítica se contempló un modelo matemático basado en una regresión lineal compuesta, alimentado con los datos de ventas de los planes de datos existentes en la compañía. Se predecira el comportamiento de los futuros planes y campañas enfocadas para los clientes prepago de claro de acuerdo a la respuesta que han tenido con campañas similares en las diferentes localidades en la ciudad de Bogotá.

Una vez seleccionada la metodología con la que se proseguirá a implementar una solución se buscó un lenguaje que permitiría una facilidad en la creación de modelos matemáticos, así como las diferentes funciones del aplicativo. Se seleccionó el lenguaje Python como lenguaje con el que se trabajara en este proyecto, pues tiene las librerías necesarias para el tratamiento de la información, así como la flexibilidad y facilidad a la hora de programarlo.

Page 28: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

19

5.2 MODELO MATEMATICO

En los tiempos actuales que se desarrolla este proyecto dentro la empresa de Claro Colombia existe un área completa para el tratamiento de información y análisis de datos a través de modelos matemáticos para las diferentes líneas de negocio con los cuales cuenta la empresa. En la primera área se puede encontrar almacenada grandes cantidades de información de la empresa como de terceros que contratan sus servicios, para el desarrollo de este trabajo nos centraremos en la primera parte la cual nos suministrara de la información para el desarrollo del trabajo. Con el propósito de encontrar potenciales clientes o futuros fugas de los mismos existen unidades de trabajo que se enfocan a través de modelos matemáticos aplicados en programas para generar un análisis predictivo del comportamiento de los usuarios, estos modelos matemáticos se enfocan en los distintas ramas de la compañía de las cuales los clientes prepagos son los que menos desarrollos tienen, por lo mismo se ha decidido enfocar el alcance de este trabajo en esta población para determinar mediante también modelos matemáticos su comportamiento futuro.

Una vez estipulado el método para la realización del modelo matemático a implementar en la interfaz de acuerdo con los datos que se tienen recopilados, para efectos prácticos de este trabajo se utilizó un grupo de datos de abonados en todo el país en los últimos 8 años, además de una etapa posterior en el cual solo se utilizaron datos de la compañía Claro.

Generado el modelo con el que se proseguirá a desarrollar en la plataforma se delimitaran los datos de acuerdo con las variables escogidas en el trabajo (las cuales se explicaran en el siguiente apartado ).

Los datos que alimentan el modelo de regresión lineal múltiple se tomaron de la página de datos públicos del gobierno. La base de datos que será empleada para el desarrollo de este proyecto consta de alrededor de 3000 registros los cuales están constituidos por los siguientes campos:

Page 29: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

20

VARIABLE

AÑO

TRIMESTRE

MES DEL TRIMESTRE

ID EMPRESA

DESCRIPCIÓN EMPRESA

ID MODALIDAD PAGO

DESCRIPCIÓN MODALIDAD PAGO

ID TERMINAL

DESCRIPCIÓN TERMINAL

ID TECNOLOGÍA

DESCRIPCIÓN TECNOLOGÍA

CANTIDAD ABONADOS

Tabla 1. Variables del dataframe. Fuente: Autor

Una vez tenemos las variables de los datos representados en el dataframe se delimitará los datos a la información que se requiere para generar el modelo predictivo, que para el ejemplo de este proyecto serán los siguientes

Variables independientes:

X1 = Trimestre del año

X2 = Id de la tecnología

Variable dependiente:

Y = Cantidad de abonados

Se busco que en el ejemplo de este trabajo se utilizaran variables de fácil entendimiento para cualquier tipo de persona, unas las cuales no se vean comprometido su entendimiento por los conocimientos previos del lector. Igualmente cabe resaltar que la importancia del proyecto reside en la intersección y depuración de las variables ( Media recortada ) que se necesiten para decisiones futuras de una empresa.

Page 30: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

21

Para el ejemplo de este proyecto se eligieron variables independientes el mes del año y la tecnología utilizada por los usuarios, esto permitirá poder determinar en qué meses del año presente o futuros será mejor generar tipos de campañas o planes enfocados en las tecnologías disponibles, y así tomar la decisión más acertada.

para obtener un mayor número de abonados en el futuro.

Las tecnologías utilizadas y denotadas con el siguiente id en este ejemplo son:

1 --> 2g

2 --> 3g

3 –> 4g

Esta discriminación de datos se hace con la finalidad de que para el sistemas sea más fácil procesar los diferentes tipos de tecnologías presentes en el año.

Una vez determinado las variables que se utilizaran para el proceso de modelación pasamos a crear el modelo de base de datos con el que se implementara el algoritmo

1. Se crea una matriz de ecuaciones con los valores de la base de dato, para esta explicación particular se utilizarán los 20 primeros datos del año 2015 del operador claro. para efectos prácticos.

CANTIDAD ABONADOS TRIMESTRE AÑO TECNOLOGIA 800 1 1 638587600 1 2 6185400 1 3 204600 1 2 300 1 3 200 1 1 36880700 1 2 12100 2 1 642183500 2 2 9357100 2 3 136500 2 2 500 2 3 38600 2 1 34327500 2 2 33200 3 1 736317500 3 2 14396000 3 3 131800 3 2 300 3 3 73700 3 2

Tabla 2. Datos del dataframe de muestra. Fuente: Autor.

Page 31: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

22

2. Del anterior Dataframe se produce un el siguiente arreglo matricial: Y = Xβ+U , [X'X] X'Y donde X' matriz transpuesta.

𝑌 =

(

8006385876006185400204600300200

3688070012100

642183500935710013650050038600

3432750033200

7363175001439600013180030073700 )

= 𝑥𝛽 + 𝜇 =

(

1 1 11 1 2111111111111111111

111112222222333333

323121232312123232)

(

𝛽0𝛽1𝛽2

) + (

𝜇1𝜇2𝜇3)

3. Se aplica los mínimos cuadrados ordinarios (MCO) para generar un sistema de ecuaciones normales. ECUACIONES NORMALES

Ecuación auxiliar 1

∑𝑌 = 𝑛𝑎 + 𝑏1∑𝑋1 + 𝑏2∑𝑋2

Ecuación auxiliar 2

∑ 𝑋1𝑌 = 𝑎∑𝑋1 + 𝑏1∑𝑋12 + 𝑏2∑𝑋1𝑋2

Ecuación auxiliar 3

∑ 𝑋2𝑌 = 𝑎∑𝑋2 + 𝑏2∑𝑋22 + 𝑏1∑𝑋1𝑋2

Page 32: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

23

4. Con los datos de muestra se obtiene la siguiente tabla

Yi X1i X2i X1i2 X2i

2 X1iX2i X1iYi X2iYi

800 1 1 1 1 1 800 800 638587600 1 2 1 4 2 638587600 1277175200 6185400 1 3 1 9 3 6185400 18556200 204600 1 2 1 4 2 204600 409200 300 1 3 1 9 3 300 900 200 1 1 1 1 1 200 200 36880700 1 2 1 4 2 36880700 73761400 12100 2 1 4 1 2 24200 12100 642183500 2 2 4 4 4 1284367000 1284367000 9357100 2 3 4 9 6 18714200 28071300 136500 2 2 4 4 4 273000 273000 500 2 3 4 9 6 1000 1500 38600 2 1 4 1 2 77200 38600 34327500 2 2 4 4 4 68655000 68655000 33200 3 1 9 1 3 99600 33200 736317500 3 2 9 4 6 2208952500 1472635000 14396000 3 3 9 9 9 43188000 43188000 131800 3 2 9 4 6 395400 263600 300 3 3 9 9 9 900 900 73700 3 2 9 4 3 221100 73700

Tabla 3. Tabla de datos resultante. Fuente: Autor

Page 33: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

24

5. A partir de los datos de la tabla y sus respectivos totales se procederá a reemplazar en las ecuaciones normales que se hallaron en el paso No 3.

Ecuación auxiliar 1

∑𝑌 = 𝑛𝑎 + 𝑏1∑𝑋1 + 𝑏2∑𝑋2

Ecuación auxiliar 2

∑ 𝑋1𝑌 = 𝑎∑𝑋1 + 𝑏1∑𝑋12 + 𝑏2∑𝑋1𝑋2

Ecuación auxiliar 3

∑ 𝑋2𝑌 = 𝑎∑𝑋2 + 𝑏2∑𝑋22 + 𝑏1∑𝑋1𝑋2

TOTAL Y = 2118867900 TOTAL X1 = 39 TOTAL X2 = 41

TOTAL 𝑋12 = 89

TOTAL 𝑋22 = 95

TOTAL X1 * X2 = 81 TOTAL X1 * Y = 4.306.828.700 TOTAL X2 * Y = 4.267.590.500

Page 34: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

25

Ecuación auxiliar 1 ∑𝑌 = 𝑛𝑎 + 𝑏1∑𝑋1 + 𝑏2∑𝑋2 → 2.118.867.900 = 20𝑎 + 39𝑏1 + 41𝑏2 Ecuación auxiliar 2 ∑𝑋1𝑌 = 𝑎∑𝑋1 + 𝑏1∑𝑋1

2 + 𝑏2∑𝑋1𝑋2 → 4.306.828.700 = 39𝑎 + 89𝑏1 + 81𝑏2 Ecuación auxiliar 3 ∑𝑋2𝑌 = 𝑎∑𝑋2 + 𝑏1∑𝑋1𝑋2 + 𝑏2∑𝑋2

2 → 4.267.590.500 = 41𝑎 + 81𝑏1 + 95𝑏2

- Una vez se generan las fórmulas de las ecuaciones, se procede a resolver el sistema de ecuaciones y así determinar las incógnitas.

Paso 1.

▪ Se multiplica la ecuación (1) por 41

20 para eliminar la variable a de la

ecuación.

(1) ( 2118867900 = 20𝑎 + 39𝑏1 + 41𝑏2)41

20 → 4.343.679.195 = 41𝑎 +

79,95𝑏1 + 84,05𝑏2 Paso 2.

▪ Se resta al resultado la ecuación (3) para obtener la ecuación (4)

4.343.679.195 = 41𝑎 + 79,95𝑏1 + 84,05𝑏2 − 4.267.590.500 = −41𝑎 − 81𝑏1 − 95𝑏2

→ (4) 76.088.695 = −1,05𝑏1 − 10,95𝑏2 Al despejar a b1

𝑏1 = −76.088.695−10,95𝑏2

1,05

Page 35: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

26

Paso 3.

▪ Se multiplica la ecuación (1) por 39

20

(1) ( 2118867900 = 20𝑎 + 39𝑏1 + 41𝑏2)39

20 → 4.131.792.405 = 39𝑎 +

76,05𝑏1 + 79,95𝑏2

Paso 4.

▪ Se resta al resultado la ecuación (2) para obtener la ecuación (5)

4.131.792.405 = 39𝑎 + 76,05𝑏1 + 79,95𝑏2 − 4.306.828.700 = −39𝑎 − 89𝑏1 − 81𝑏2

→ (5) −175.036.295 = −12,95𝑏1 − 1,05𝑏2 Al despejar a b1

𝑏1 = 175036295 −1,05𝑏2

12,95

Paso 5.

▪ Se igualan las ecuaciones resultantes para despejar a b2

−76.088.695−10,95𝑏2

1,05=

175036295 −1,05𝑏2

12,95

12,95(−76.088.695 − 10,95𝑏2) = 1,05(175036295 − 1,05𝑏2)

−985.348.600,25 − 141,8025𝑏2 = 183.788.109,75 − 1,1025𝑏2

−985.348.600,25 − 183.788.109,75 = 141,8025𝑏2 − 1,1025𝑏2

𝑏2 = −1.169.136.710

140,7 → 𝑏2 = −8309429,353

Page 36: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

27

Paso 6.

▪ Ahora a partir de la ecuación obtenida en el paso 4 se halla b1

𝑏1 = 175036295 −1,05(−8.309.429,35)

12,95 → 𝑏1 = 14.190.053,73

Paso 7.

▪ De la ecuación (1) despejamos a.

𝑎 = 2.118.867.900+39𝑏1+41𝑏2

20 →

2.118.867.900−39(14.190.053,73)− 41(−8.309.429,35)

20

𝑎 =1906142408

20 → 𝑎 = 95307120,4

Paso 8.

▪ Ahora ya teniendo todos los valores requeridos calculados se vuelve a la ecuación inicial.

𝑌 = 95307120,4 + 14190053,73𝑥1 − 8309429,35323382𝑥2 Paso 9.

▪ Una vez calculada la ecuación de la regresión lineal múltiple se procede a graficar para ver el comportamiento de las variables

Page 37: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

28

5. SELECCIÓN DE LENGUAJE DE PROGRAMACIÓN

Para la solución de esta problemática se acordó hacer el desarrollo en el lenguaje de programación Python el cual ya es utilizado en la empresa y así facilitar la migración de la solución.

Además de que es un lenguaje familiar en Claro Python cuenta con unas librerías especiales para la importación y manejo de los datos lo que facilito el trabajo con las bases de datos.

Como fuente de datos se utilizó Microsoft Excel debido a que fue la fuente de donde me suministraron la información desde Claro.

En el proceso de desarrollo se seleccionaron las librerías de Python Numpy para los cálculos matemáticos complejos encontrados en el modelo, Xlrd para la importación y manejo de los datos desde Excel así como la creación del datframe, y finalmente Matplot para la impresión de los esquemas resultantes del modelo

Page 38: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

29

5.1 PROGRAMACIÓN DE LA HERRAMIENTA Para el desarrollo de este aplicativo se crearon distintas funciones con el fin de implementar el modelo matemático ya planteado y poder importar la información suministrada, el proceso fue el siguiente: Paso 1.

• Se instala e importa las librerías que se utilizaran en el desarrollo del aplicativo.

Figura 7. Proceso instalación de librerías. Fuente: Autor

Figura 8. Importación de las librerías necesarias en el desarrollo. Fuente: Autor

Page 39: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

30

Paso 2

• Se crea la función que permitirá importa los datos y organizarlos en el dataframe del proyecto, aquí mismo se creara la tabla de datos, con sus respectivos totales para el desarrollo del modelo matemático.

Figura 9. Función de importación y organización de los datos. Fuente: Autor.

Figura 10. Fuente: Autor.

Page 40: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

31

Paso 3.

• Ahora se comienza a crear las ecuaciones auxiliares para posteriormente para poder estimar los valores desconocidos.

Figura 11. Ecuaciones auxiliares. Fuente: Autor.

Paso 4

• Una vez creado los arreglos con los valores de las ecuaciones auxiliares se procede a hacer los cálculos matemáticos, de los cuales deriva la obtención de los valores de b1, b2 y a

Figura 12. Cálculo del primer b1. Fuente: Autor.

Page 41: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

32

Figura 13. Cálculo del segundo b1. Fuente: Autor.

Figura 14. Despeje de b2. Fuente: Autor.

Figura 15. Despeje de b1. Fuente: Autor.

Figura 16. Despeje de A. Fuente: Autor

Page 42: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

33

Paso 5

• Ahora que se tiene los datos calculados se procederá a crear los algoritmos que filtren los conjuntos de datos utilizando la media recortada.

Figura 17. Media recortada. Fuente: Autor.

Page 43: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

34

6. RESULTADOS

Una vez configurado el algoritmo para simular el modelo matemático se procede a ingresar los nuevos datos que queremos calcular su predicción futura, nuestro dataframe de entrenamiento será el 70% por ciento de los datos totales generando un grupo de aproximadamente 3000 registros. El procedimiento se hará en dos fases. La primera con la totalidad del dataframe tanto en entrenamiento como en pruebas, además se utilizará una muestra solo de la empresa Claro. Y en la 2da se utilizaran dos métodos de depuración de datos atípicos como es la media recortada, la cual se ira aplicando de manera gradual al modelo para ir evidenciando el impacto de la depuración de datos en los resultados.

Figura 18. Cálculo de las ecuaciones auxiliares. Fuente: Autor.

Figura 19. Ecuación final. Fuente: Autor.

Formula final = 𝑌 = 20166534.6361009 + 1057410.0689941153𝑋1 + 1811634.5449207155𝑋2

Page 44: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

35

Ahora con la formula obtenida del programa, procedemos a generar las pruebas con el 30% del dataframe restante y comparar los datos reales contra los calculados para medir un porcentaje de error.

Figura 20. Cálculo del porcentaje de error. Fuente: Autor.

Porcentaje de error : 56%

Page 45: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

36

Nuevamente se procede a realizar los mismos cálculos con el dataframe nuevamente acotado por solo los datos del operador claro y se obtiene un conjunto de datos

Figura 21. Ecuación final datos Claro. Fuente: Autor.

Formula final = 𝑌 = 60104115.3452897 − 123238.40413491205𝑋1 + 10504298.409011567𝑋2

Page 46: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

37

Y ahora con este dataframe acotado se obtiene el siguiente porcentaje de error.

Figura 22. Cálculo de porcentaje de error. Fuente: Autor.

Porcentaje de error: 46%

Page 47: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

38

Ahora se realizan las pruebas de segunda fase que se había explicado en al inicio de este apartado, primero se aplicara la media recortada con un valor reducido y posteriormente se Ira aumentando su incidencia en el conjunto de datos, y al final se compararán los resultados.

Figura 23. Cálculo de porcentaje de error con media recortada 20%. Fuente: Autor.

Porcentaje de error: 36%

Page 48: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

39

Finalmente se realizará una última prueba para poder evidenciar un poco mas a profundidad el tema de la mediana recortada, se delimitaron los datos de los dataframe tanto de prueba como de entrenamiento para solo trabajar con el 10% de los mismos. Ahora están en un punto que se podría suponer los datos se comportan de una manera mas homogénea.

Figura 24. Cálculo de porcentaje de error con media recortada 45%. Fuente: Autor.

Porcentaje de error 28%

Page 49: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

40

7. RECOMENDACIONES El programa esta 100% realizado en Python 3 por lo tanto se vuelve imperante la instalación del mismo en el ambiente que se quiere implementar asi como también de las librerías que en este proyecto se trabajaron las cuales fueron: Numpy, Matplotlib, y Xlrd. También se puede hacer uso de implementaciones en Anaconda para poder migrar de manera eficiente y con un impacto mínimo los proyectos entre máquinas de la organización debido a que Anaconda permite migrar de manera provisional toda la infraestructura tecnológica requerida para la producción del proyecto, sin generar un alto impacto en la maquina local. Los archivos de Excel que quieran ser cargados para ser trabajados como dataframe deben venir en el orden preestablecido de: variable dependiente (Y), variable independiente 1(X1) y variable independiente 2(X2) ordenadas de manera ascendente; los demás ítems para el desarrollo del modelo matemático serán calculados automáticamente por el sistema. Si se desea en un próxima versión aumentar la cantidad de variables independientes para una mayor precisión en las predicciones del programa se recomienda primero generar las nuevas ecuaciones matemáticas del nuevo sistema resultante antes de modificar el código, que sea dicho de paso tal apartado se puede encontrar en la función estimate() Para un futuro reléase se aconseja implementar librerías de sklearn y seaborn, las cuales podrían permitir una mejor automatización del proyecto, además de facilitar el manejo de los datos. Lo anteriormente dicho podría evitar también el constante manejo de la información que puede llegar a ser de alta sensibilidad para la organización. No es un impedimento, pero si una buena práctica trabajar solo con archivos con extensión .csv cuando se exporten de Excel para tener una información más limpia y depurada y facilitar el proceso al sistema.

Page 50: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

41

8. CONCLUSIONES

• Para la elaboración de modelos predictivos matemáticos es primordial la depuración correcta del dataframe, así como una correcta correlación previa de las variables a tener en cuenta en modelado matemático, ya que hasta el más mínimo dato erróneo o basura puede aumentar de manera considerable los márgenes de error del aplicativo, al punto que este puede llegar a quedar obsoleto. La correlación de las variables debe ser probada con anticipación para poder determinar de manera temprana y oportuna si el desarrollo dará unos resultados satisfactorios. De lo contrario este proceso no se hace de manera debida se pueden presentar grandes inconsistencias en los resultados como es el caso de la primera muestra generada, la cual arrojo un porcentaje de error del 56%

• En conjuntos de datos altamente heterogéneos se ha podido constatar que soluciones basadas en modelos de regresión no es la mejor forma de abarcarlos, debido a que su alta diversidad de datos genera conflictos en el algoritmo de regresión. Se ha podido demostrar que a pesar de los esfuerzos de acotar el Dataframe los porcentajes de error solo se disminuyeron de un 56% a un 42% sin ningún proceso de depuración especializado.

• Los métodos de depuración de datos como la mediana recortada son fundamentales a la hora de querer generar un análisis preciso de una toma de datos general, debido a esta metodología se ha podido evidenciar grandes disminuciones en los márgenes de error desde un 56% inicial a un 28% en un dataframe realmente heterogéneo; el cual como ya se ha podido recalcar con anterioridad no es el más optimo a la hora de aplicar este tipo de modelos matemáticos.

• Al plantear alternativas de soluciones se ha de tener en consideración el impacto económico, administrativo y de capacidades tecnológicas que la empresa tenga en el momento, para que no se generen soluciones a problemas que, por su bajo aporte o difícil implementación, tengan que ser descartados o almacenados de manera bibliográfica. Debido al alto costo de implementación que estas puedan tener o nula funcionalidad en un entorno productivo.

• En los procesos de ML puede parecer a primera vista que entre más datos se tengan para el dataframe de entrenamiento mejor desempeñara el sistema. Sin embargo, por encima de la cantidad está la calidad y homogeneidad de los datos para que la labor de aprendizaje sea efectiva. Este hecho se pudo constatar en las distintas pruebas que se realizaron. En dos pruebas diferentes con 3000 y 100 datos respectivamente, la segunda tuvo un menos porcentaje de error ( 56% contra 28%) debido a la homogeneidad y depuración previa de los datos.

Page 51: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

42

9. BILIOGRAFIA

[1]Damian Perez. ¿Que eso las bases de datos?. {En línea}. Mayo de 2015. Recuperado en mayo de 2020 disponible en: http://www.maestrosdelweb.com/que-son-las-bases-de-datos/ [2] Overblog-el blog de las bases de datos Tipos De Bases De Datos{En línea}. abril de 2017. Recuperado en mayo de 2020 disponible en: http://www.maestrosdelweb.com/que-son-las-bases-de-datos/ [3] María Estela Raffino- Concepto.de. Base de datos?. {En línea}. febrero de 2020. Recuperado en mayo de 2020 disponible en: https://concepto.de/base-de-datos/. [4] Ecured. Regresión Lineal. {En línea}. abril de 2011. Recuperado en mayo de 2020 disponible en: https://www.ecured.cu/Regresi%C3%B3n_lineal [5] Pythones. Qué es Python – Definición, características y ventajas. {En línea}. Agosto de 2019. Recuperado en mayo de 2020 disponible en: https://pythones.net/que-es-python-y-sus-caracteristicas/ [6] Duesto Formación. –¿Qué son los datasets y los dataframes en el Big Data?. {En línea}. Noviembre de 2018. Recuperado en mayo de 2020 disponible en: https://www.deustoformacion.com/blog/programacion-diseno-web/que-son-datasets-dataframes-big-data [7] Definición.de. –Definición de Excel. {En línea}. Noviembre de 2009. Recuperado en mayo de 2020 disponible en: https://definicion.de/excel/ [8] Universidad Abierta y a Distancia - REGRESION LINEAL MULTIPLE. {En línea }. Mayo de 2015. Recuperado en mayo de 2020 disponibles en: https://www.youtube.com/watch?v=zk_75JPEvnw [9] Anaconda – Your data science toolkit. {En línea }. Enero de 2020. Recuperado en agosto de 2020 disponibles en: https://www.anaconda.com/products/individual

[10] Dataquest – Scikit-learn. {En línea }. Noviembre de 2018. Recuperado en agosto de 2020 disponibles en: https://www.dataquest.io/blog/sci-kit-learn-tutorial/

[11] Revista Scielo – Critical values for six Dixon test. {En línea }. Enero de 2006. Recuperado en agosto de 2020 disponibles en: http://www.scielo.org.mx/scielo.php?script=sci_arttext&pid=S1026-87742006000200003

Page 52: DISEÑO E IMPLEMENTACIÓN DE UN MODELO ANALÍTICO …

43

[12] Máxima formación -l ¿CÓMO LIDIAR CON LOS DATOS ATÍPICOS (OUTLIERS)?. {En línea }. Julio de 2019. Recuperado en agosto de 2020 disponibles en: https://www.dataquest.io/blog/sci-kit-learn-tutorial/

[12] Máxima formación -l ¿CÓMO LIDIAR CON LOS DATOS ATÍPICOS (OUTLIERS)?. {En línea }. Julio de 2019. Recuperado en agosto de 2020 disponibles en: https://www.dataquest.io/blog/sci-kit-learn-tutorial/

[13] 2015. ELABORACIÓN, ANÁLISIS Y EVALUACIÓN CARTAS CONTROL Y DUPLICADOS. 1st ed. [ebook] iGAC, p.1. Available at: <http://igacnet2.igac.gov.co/intranet/UserFiles/File/procedimientos/procedimientos%202008/2017/I40600-03-15-V3%20Elaboracion%20analisis%20y%20evaluacion%20cartas%20control%20y%20duplicados%20CNC.pdf> [Accessed 1 September 2020].