UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
Aprendizaje automático para el mantenimiento predictivo en los buses del transporte
público
Trabajo de titulación, modalidad proyecto integrador, previo a la obtención del Título de
Ingeniera Informática.
AUTORA: Diaz Tipantuña Dayana Lizeth.
TUTOR: Mat. Jorge Luciano Arroba Rimassa.
Quito, 2019
ii
DERECHOS DE AUTOR
Yo, Dayana Lizeth Diaz Tipantuña en calidad de autor y titular de los derechos morales
y patrimoniales del trabajo de titulación Aprendizaje automático para el
mantenimiento predictivo en los buses del transporte público, modalidad
Proyecto Integrador, de conformidad con el Art. 114 del CÓDIGO ORGÁNICO DE LA
ECONOMÍA SOCIAL DE LOS CONOCIMIENTOS, CREATIVIDAD E INNOVACIÓN,
concedo a favor de la Universidad Central del Ecuador una licencia gratuita,
intransferible y no exclusiva para el uso no comercial de la obra, con fines
estrictamente académicos. Conservo a mi favor todos los derechos de autor sobre mi
obra, establecidos en la normativa citada.
Así mismo, autorizo a la Universidad Central del Ecuador para que realice la
digitalización y publicación de este trabajo de titulación en el repositorio virtual, de
conformidad a lo dispuesto en Art, 144 de la Ley Orgánica de Educación Superior.
La autora declara que la obra objeto de la presente autorización es original en su
forma de expresión y no infringe el derecho de autor de terceros, asumiendo la
responsabilidad por cualquier reclamación que pudiera presentarse por esta causa y
liberando a la Universidad de toda responsabilidad.
Firma: __________________
Diaz Tipantuña Dayana Lizeth
C.I: 1719593319
iii
APROBACIÓN DEL TUTOR
En mi calidad de Tutor del Trabajo de Titulación, presentado por DAYANA LIZETH
DIAZ TIPANTUÑA, para optar por el Grado de Ingeniera Informática; cuyo título es:
APRENDIZAJE AUTOMÁTICO PARA EL MANTENIMIENTO PREDICTIVO EN LOS
BUSES DEL TRANSPORTE PÚBLICO, considero que dicho trabajo reúne los
requisitos y méritos suficientes para ser sometido a la presentación pública y
evaluación por parte del tribunal examinador que se designe.
En la ciudad de Quito, a los 28 días del mes de noviembre del 2019.
________________________________
Mat. Jorge Luciano Arroba Rimassa
DOCENTE-TUTOR
C.C: 170473626-1
iv
CONTENIDO
DERECHOS DE AUTOR .............................................................................................. ii
APROBACIÓN DEL TUTOR ......................................................................................... iii
CONTENIDO ............................................................................................................... iv
LISTA DE TABLAS ...................................................................................................... vi
LISTA DE FIGURAS .................................................................................................... vii
RESUMEN .................................................................................................................. viii
ABSTRACT ................................................................................................................. ix
INTRODUCCIÓN .......................................................................................................... 1
1. ANÁLISIS DEL PROBLEMA ..................................................................................... 3
1.1. Antecedentes ..................................................................................................... 3
1.2. Planteamiento del problema ............................................................................... 3
1.3. Hipótesis y justificación ...................................................................................... 4
1.3.1. Hipótesis. ..................................................................................................... 4
1.3.2. Justificación ................................................................................................. 4
1.4. Objetivos ............................................................................................................ 5
1.4.1. Objetivo General .......................................................................................... 5
1.4.2. Objetivos específicos ................................................................................... 6
1.5. Alcance .............................................................................................................. 6
1.5. Limitaciones ....................................................................................................... 7
2. MARCO TEÓRICO ................................................................................................... 8
2.1. Marco conceptual ............................................................................................... 8
2.1.1. Mantenimiento ............................................................................................. 8
2.1.2. Minería de Datos .......................................................................................... 9
2.1.3. Análisis de Datos. ...................................................................................... 10
2.1.4. Aprendizaje de máquina. ........................................................................... 10
2.2. Marco técnico ................................................................................................... 11
2.2.1. Método IQR para datos atípicos ................................................................. 11
2.2.2. Modelos de regresión................................................................................. 12
2.2.3. Técnicas para la evaluación del modelo. ................................................... 14
2.2.4. Validación Cruzada (KFold) ....................................................................... 15
2.2.5. Métricas ..................................................................................................... 15
2.2.6. Sobreajuste ................................................................................................ 16
2.2.7. Hiperparámetros ........................................................................................ 17
2.2.8. Técnicas de preprocesamiento .................................................................. 18
3. METODOLOGÍA DE DESARROLLO ...................................................................... 21
v
3.1. Introducción ...................................................................................................... 21
3.2. CRISP-DM ....................................................................................................... 21
3.2.1. Compresión del negocio ............................................................................ 22
3.2.2. Compresión de los datos. .......................................................................... 22
3.2.3. Preparación de datos. ................................................................................ 23
3.2.4. Modelamiento. ........................................................................................... 23
3.2.5. Evaluación. ................................................................................................ 23
3.2.6. Despliegue. ................................................................................................ 23
3.3. SEMMA ............................................................................................................ 24
3.4. KDD ................................................................................................................. 24
4. DESARROLLO ....................................................................................................... 26
4.2. Herramientas de desarrollo .............................................................................. 26
4.2.1. Spyder IDE ................................................................................................ 26
4.2.2. Python ....................................................................................................... 26
4.2.3. Scikit-learn ................................................................................................. 27
4.2.4. Flask .......................................................................................................... 29
4.3. Metodología aplicada ....................................................................................... 29
Terminología ........................................................................................................ 29
4.3.1. Comprensión del negocio. ......................................................................... 29
4.3.2. Compresión de los datos. .......................................................................... 30
4.3.3. Preparación de datos ................................................................................. 32
4.3.4. Modelamiento ............................................................................................ 39
4.3.5. Evaluación ................................................................................................. 44
4.3.6. Despliegue. ................................................................................................ 45
CONCLUSIONES ....................................................................................................... 51
RECOMENDACIONES ............................................................................................... 52
REFERENCIAS BIBLIOGRÁFICAS ............................................................................ 53
ANEXOS ..................................................................................................................... 55
Anexo A .................................................................................................................... 1
Anexo B .................................................................................................................. 11
vi
LISTA DE TABLAS
Tabla 1. Ejemplos de hiperparámetros utilizados por diferentes modelos. (Elaboración
propia) ........................................................................................................................ 17 Tabla 2. Atributos referentes a la digitación de facturas. (Elaboración propia) ............ 30 Tabla 3. Atributos que describen a los productos. (Elaboración propia) ...................... 30 Tabla 4.Características de las unidades. (Elaboración propia) .................................... 31 Tabla 5. Cambios de componentes recomendados por los fabricantes. (Elaboración
propia) ........................................................................................................................ 31 Tabla 6. Componentes propios de cada marca. (Elaboración propia) ......................... 32 Tabla 7.Unidades registradas por marca. (Elaboración propia) ................................... 33 Tabla 8.Kilometraje abarcado por cada ruta. (Elaboración propia) .............................. 33 Tabla 9. Variables candidatas para el modelo. (Elaboración propia) ........................... 34 Tabla 10. Variables unidades en base al contexto. (Elaboración propia) .................... 35 Tabla 11.Componentes seleccionados. (Elaboración propia) ...................................... 36 Tabla 12.Resumen del tamaño del conjunto de datos. (Elaboración propia) ............... 37 Tabla 13. Variables seleccionadas. (Elaboración propia) ............................................ 38 Tabla 14.Algoritmos a utilizar. (Elaboración propia) .................................................... 39 Tabla 15. Resultados con diferentes particiones en KFold. (Elaboración propia) ........ 41 Tabla 16. Diferentes valores para cada parámetro de RF. (Elaboración propia) ......... 42 Tabla 17. Diferentes valores para n_neighbors. (Elaboración propia) ......................... 43 Tabla 18.Valores que mejoran el modelo. (Elaboración propia) .................................. 43 Tabla 19. Resultados obtenidos por cada modelo. (Elaboración propia) ..................... 44
vii
LISTA DE FIGURAS
Figura 1. Representación gráfica del objetivo de la minería de datos. (Han, Kamber, &
Pei, Data Mining. Concepts and Techniques, 2012) ..................................................... 9 Figura 2. Interpretación del IQR. (Galarnyk, 2018) ...................................................... 12 Figura 3. Regresión Lineal. (Bronshtein, 2017) ........................................................... 13 Figura 4. Funcionamiento del método KFold. (Berrar, 2017) ....................................... 15 Figura 5. Representación de sobreajuste. (Webb, 2010) ............................................ 17 Figura 6. Metodologías más usadas. (Osorio, 2019) ................................................... 21 Figura 7. Fases de la metodología CRISP-DM. (Piatetsky, 2014) ............................... 22 Figura 8. Etapas del proceso KDD. (Fayyad, Piatetsky-Shapiro, & Smyth, 1996) ....... 25 Figura 9. Bases de sklearn.(Elaboración propia.) ........................................................ 27 Figura 10. División de Scikitlearn.(Elaboración propia) ............................................... 28 Figura 11. Técnica de clasificación de datos. (Elaboración propia) ............................. 34 Figura 12.Comportamiento de AM-FA de la unidad 1. (Elaboración propia) ................ 35 Figura 13.Detección de atípicos por componente (Elaboración propia) ...................... 36 Figura 14.Frecuencia por código de componente. (Elaboración propia) ..................... 37 Figura 15. Valores únicos por categoría. (Elaboración propia). ................................... 38 Figura 16. KFold en el conjunto entrenamiento. (Pedregosa, y otros, 2011) ............... 40 Figura 17. Funcionamiento de KFold. (Elaboración propia)......................................... 41 Figura 18.Comparación de resultados entre algoritmos. (Elaboración propia) ............ 42 Figura 19. Funcionamiento de GridSearchCV.(Elaboración propia) ............................ 43 Figura 20. Arquitectura seleccionada. (Elaboración propia) ........................................ 45 Figura 21.Pantalla principal. (Elaboración propia) ....................................................... 46 Figura 22. Estructura del proyecto. (Elaboración propia) ............................................ 47 Figura 23. Levantamiento de la aplicación en el servidor web (Elaboración propia) .... 48 Figura 24. Comportamiento real del modelo Hino AK vs el recomendado. (Elaboración
propia). ....................................................................................................................... 49 Figura 25.Comportamiento real de un modelo Hino FG. (Elaboración propia) ............ 49 Figura 26.Comportamiento real de un modelo Mercedes Benz. (Elaboración propia). 50
viii
TÍTULO: Aprendizaje automático para el mantenimiento predictivo en los buses del
transporte público
AUTOR: Diaz Tipantuña Dayana Lizeth
TUTOR: Jorge Luciano Arroba Rimassa
RESUMEN
Las organizaciones que ofrecen el servicio de transporte público, con el objetivo de
poder evitar factores que conlleve a un estado de inactividad innecesario, deben
priorizar las acciones preventivas, que reduzcan fallos mecánicos leves, en las
unidades. Puesto que al ofrecer un servicio continuo no se pueden permitir el paro de
una de ellas en cualquier momento. Con el siguiente estudio se plantea una solución
que reduzca el estado de inmovilidad de las unidades por motivo de fallas técnicas
anticipando a los competentes de una futura falla en un tiempo determinado,
realizando un proceso de minería de datos a los registros que se han ido recopilando a
lo largo de su operación, en un tiempo establecido. Los resultados obtenidos se
implementan en una aplicación que advierte la presencia de una futura falla, pudiendo
los encargados tomar acciones ya no solo en base a un mantenimiento establecido por
fábrica, sino a un modelo que analizó el proceso de averías de la unidad.
PALABRAS CLAVE: MODELO PREDICTIVO / APRENDIZAJE DE MÁQUINA /
FALLAS / MANTENIMIENTO PREVENTIVO
ix
TITTLE: Machine learning for predictive maintenance on public transport buses
AUTHOR: Diaz Tipantuña Dayana Lizeth
TUTOR: Jorge Luciano Arroba Rimassa
ABSTRACT
Organizations that offer the public transport service, in order to avoid factors that lead
to an unnecessary state of inactivity, should prioritize preventive actions, which reduce
minor mechanical failures, on buses. Since offering a continuous service cannot stop
one of them at any time. With the following study a solution is proposed that reduces
the state of immobility of the machines due to technical failures anticipating the
competent ones of a future failure in a certain time, carrying out a process of data
mining to the records that have been collected throughout its operation, in a set time.
The results obtained are implemented in an application that warns of the presence of a
future failure, being able to take actions not only based on a maintenance established
by the factory, but also on a model that analyzed the process of machine failures.
KEY WORDS: PREDICTIVE MODEL / MACHINE LEARNING / FAILURES /
PREVENTIVE MAINTENANCE
1
INTRODUCCIÓN
Dentro de las grandes ciudades, la movilización de pasajeros a lo largo de la ciudad es
un tema importante puesto que garantiza las actividades cotidianas y productivas de
los ciudadanos. Al ser un sector estratégico muchas disciplinas se involucran en él,
una de ellas es la necesidad asegurar la confiabilidad de que las máquinas que día a
día operan, en un amplio intervalo de tiempo, garanticen el bienestar de la ciudadanía.
Dentro del contexto de empresa prestadora de servicio de transporte público urbano,
uno de sus pilares es mantener siempre la disponibilidad de sus unidades de trabajo.
Diariamente se sigue un proceso consecutivo para cubrir horas específicas en las que
los usuarios se transportan. El momento en el que una unidad sale del proceso por
motivos inesperados, genera un desequilibrio en la cadena y las acciones a tomar
dependen significativamente del momento del día en el que ocurre el suceso, se habla
de aquellos momentos específicos del día en el que la cantidad de personas se
dispara por hacer uso de este servicio. En este caso toda la secuencia programada
deberá ser modificada para poder cubrir el intervalo de tiempo descontinuado.
Las consecuencias de no ofrecer el servicio por un pequeño intervalo de tiempo son,
pérdida económica, horas hombres paralizados, inconvenientes en las vías públicas,
mal estar en los pasajeros entre otras.
Este tipo de sucesos requiere de acciones inmediatas para tratar de solventar el
problema en el menor tiempo posible. El principal motivo para que una unidad no
pueda seguir trabajando es por fallos mecánicos.
De ahí la importancia de cubrir procesos que minimicen este tipo de problemas en las
maquinas. Como primer tema de mitigación están los mantenimientos preventivos
recomendados por los fabricantes de las unidades de trabajo. Cuyo propósito general
se centra en el cambio de componentes que son deteriorados con el uso de la
máquina.
El aplicar este tipo de soluciones influye en un costo económico que deberá ser
realizado consecutivamente. Motivo por el cual algunas organizaciones no lo toman
como principal solución, ya que en este proceso no se estaría aprovechando el
verdadero tiempo de vida útil de cada componente.
2
Se presenta como solución un análisis en base a datos históricos de cambios de
componentes que intervienen en un mantenimiento preventivo para advertir el tiempo
en el que un repuesto en específico estaría propenso a fallar.
El tema se aborda en base a un proceso de análisis de datos que permite conocer de
manera inicial el comportamiento de las unidades de trabajo y el aplicar técnicas de
aprendizaje de máquina que permitan encontrar la existencia de un patrón para poder
predecir un valor, que este caso es el tiempo de falla de un componente en específico.
El documento está estructurado de la siguiente manera. Como primer capítulo la
presentación del problema y la solución brindada, definiendo específicamente el
resultado del experimento que involucra el desarrollo de una aplicación informática que
permite hacer uso del modelo encontrado.
En un segundo capítulo se abordan temas relacionados con el desarrollo de un
modelo matemático, explicando la teoría que sustenta una segunda parte del mismo
capítulo que son las técnicas usadas en cada proceso.
En un tercer capítulo se describen las principales metodologías que son aplicadas
para lograr el objetivo del proyecto, definiendo el proceso de cada una de ellas.
La parte del desarrollo del proyecto se realiza en base a la metodología CRISP-DM.
Siguiendo cada una de las fases en las cuales se presentan los resultados obtenidos
que permiten la continuación a una fase siguiente.
Como resultado al objetivo planteado se tiene por una parte el modelo matemático
encontrado y el desarrollo de una aplicación cuyo objetivo es mostrar el resultado de
una manera interactiva con el usuario.
3
1. ANÁLISIS DEL PROBLEMA
1.1. Antecedentes
Existen varios estudios que centran su objetivo en determinar un plan de
mantenimiento preventivo relacionado a unidades de una compañía en específico, que
brinda el servicio de transporte de público, con el objetivo de conocer el
comportamiento real de las unidades y poder evitar fallas. No obstante, la información
recolectada proviene de encuestas realizadas a los conductores de las unidades.
Es el caso de un estudio realizado por (Erazo & Martinez, 2012) para una compañía de
transporte de la ciudad Quito. Los datos recolectados se obtuvieron en base a
encuestas realizadas las cuales permitieron determinar los subsistemas mecánicos
más afectados por el surgimiento de fallas ligado a la determinación del causante.
Obviamente el conjunto automovilístico está conformado por diferentes marcas
prestigiosas en el mercado. El estudio se centró en brindar una solución a aquel
modelo que más unidades posee. Compartiendo el mismo objetivo de realizar un plan
de mantenimiento preventivo en base a sus fallas (Granja, 2014) hace su enfoque en
analizar una marca en específico, realizando una comparación de mantenimientos
entre el recomendado por el fabricante y el llevado a la práctica. Destaca en su
mantenimiento los elementos que más fallas han sufrido, a los cuales deben poner
más atención.
Muchos son los estudios que brindan una solución de mantenimiento preventivo a una
compañía de transporte en base a su propia información, es posible brindar una
información ya no de una manera generalizada sino en base al comportamiento
individual de cada componente considerando un historial real del comportamiento de
éstos. Está claro que el objetivo relacional entre todos estos estudios es tratar de
optimizar los procesos de mantenimiento de las unidades
1.2. Planteamiento del problema
La gran demanda de pasajeros que son transportados diariamente en toda la ciudad
de Quito por el transporte público requiere de una alta disponibilidad. En el momento
4
en el que una unidad sale de su ruta habitual por un fallo inesperado, los resultados no
son satisfactorios para la compañía prestadora del servicio, puesto que representan
pérdidas económicas, molestias en usuarios y tiempo perdido.
Como acto de mitigación existe un plan de mantenimiento preventivo otorgado por el
fabricante de las diferentes marcas que tiene como objetivo reducir el tiempo de
inmovilización, con el reemplazo de piezas o conjuntos mecánicos para evitar un
desgaste total. En estos planes de mantenimiento no se consideran factores
adherentes que involucran una avería, tales como; tipo de conducción, sobrepeso
transportado, condiciones viales, condiciones climáticas, uso de repuestos no
recomendados, etc. Estos factores provocan fallas imprevistas pese a que se haya
seguido un control en base al mantenimiento recomendado por el fabricante.
El problema se agrava si las compañías prestadoras de servicio no exigen el realizar
un plan de mantenimiento, aunque las autoridades de Quito tomen acciones
fiscalizadoras para que se lleve a cabo esta acción. El objetivo de disminuir la
inactividad de las unidades no está siendo analizada con la importancia que merece,
esto debido a que poner en práctica este mantenimiento tiene un coste elevado. En
consecuencia, se espera al surgimiento de una falla para tomar acciones que no sigan
perjudicando el estado de la unidad.
1.3. Hipótesis y justificación
1.3.1. Hipótesis.
¿Se puede predecir el tiempo en el que surgirá una falla en base a la duración de los
mismos considerando componentes pertenecientes a un mantenimiento preventivo?
1.3.2. Justificación
En las vías principales de la ciudad de Quito se evidencia el paro de las unidades del
transporte público al momento de estar en operación por motivo de algún daño
técnico. Independientemente del componente que haya fallado, el vehículo debe
detenerse pues a simple vista no se podría determinar la intensidad de falla y
principalmente no pueden poner en riesgo la vida de la cantidad de personas que
5
movilizan. Muchas de las unidades llevan años operando y es justificable el deterioro
que la máquina sufre con el pasar del tiempo pues todos los factores involucrados
hacen que su vida útil vaya decreciendo.
La consecuencia de daños frecuentes que podrían ser evitables no solo afecta a la
unidad, sino que se extiende hacia la compañía y llega a causar inconvenientes en la
sociedad. No con esto se pretende afirmar que, si se realizaran procesos mecánicos
estrictos para evitarlo, cesaría el daño de las unidades de la vía pública, puesto que es
la naturaleza de la máquina, funcionar en base a subsistemas relacionados entre sí
que algún momento ya no dependerá solo del enfoque en componentes individuales.
Específicamente la compañía a analizar no lleva un control estricto sobre el realizar un
mantenimiento preventivo, es por ello que muchas unidades esperan a sufrir un
inconveniente mecánico para actuar. Este acto se debe a un elevado costo económico
que requiere poner en práctica una medida de mitigación formal.
Cabe mencionar que la empresa cuenta con su propio taller mecánico que por motivos
administrativos se ven obligados a registrar cada uno de los movimientos realizados
en este campo. Todos los registros de estos eventos contienen información real y un
amplio histórico de datos.
Una solución atractiva para la empresa, en la cual no tengan que invertir grandes
cantidades de dinero para obtener una solución efectiva frente a estos sucesos, como
sería la implementación de nuevo equipos que transmiten el estado real de la
máquina, podría estar inmersa en su base de datos.
1.4. Objetivos
1.4.1. Objetivo General
Desarrollar e implementar un modelo predictivo de fallas para las unidades de una
empresa de transporte en bases a sus registros históricos usando técnicas de
aprendizaje de máquina.
6
1.4.2. Objetivos específicos
Desarrollar un modelo predictivo de fallas en base a los registros de duración de los
componentes que son incluidos en un plan de mantenimiento preventivo. Aplicando
diferentes técnicas de aprendizaje de máquina que permitan obtener un mejor
resultado en base a los datos recolectados.
Desarrollar una aplicación web que permita obtener el tiempo aproximado en el que
un nuevo registro esta propenso a fallar, en base a un modelo predictivo previamente
entrenando. Generando alertas continúas dependiendo del tiempo restante que le
queda a un registro en específico para ingresar en estado de fallo.
Determinar un plan de mantenimiento preventivo de acuerdo con el comportamiento
real de las unidades, dependiendo del tipo de marca.
1.5. Alcance
El proyecto abarcará la ejecución de dos partes principales; la primera, creación de un
modelo matemático que permitirá predecir el tiempo en el que un componente, que
forma parte de un mantenimiento preventivo, fallará. Para este propósito se aplicarán
metodologías y técnicas de minería de datos y aprendizaje de máquina. La principal
fuente de datos será los registros pertenecientes al área de taller de una empresa
prestadora de servicio público y también se obtendrá información general otorgada por
los fabricantes de las diferentes marcas de las unidades de la empresa. En base a los
datos proporcionados se encontrará una solución viable que permita cumplir con el
objetivo planteado
Como segundo punto, se desarrollará una aplicación web en la que el usuario final
podrá interactuar con la aplicación desarrollada sin cambiar su rutina diaria de registro,
es decir la manera en la que actualmente la empresa registra datos, se seguirá
conversando con la única diferencia que lo hará de una manera compactada y digital.
Al usuario se le presentaran los resultados, obtenidos en la primera parte, en pantalla
de manera continua de manera detallada, con el objetivo de controlar la cercanía de
una posible falla. Las alertas generadas estarán presentes en todo el proceso de
interacción con el aplicativo, apareciendo nuevas predicciones en el caso de que se
registrarán nuevos datos. Como complemento al aplicativo y resultado de la primera
7
parte, se le presentara el mantenimiento preventivo real que las marcas registradas en
la compañía están realizando.
1.5. Limitaciones
Teniendo en cuenta el objetivo planteado, se encuentra un modelo limitado a los
datos y al tamaño de los mismos proporcionados por la empresa.
Los resultados obtenidos son procedentes de cálculos aproximados, calculados en
base a toda la información recopilada.
El desarrollo del proyecto se lo realiza utilizando el lenguaje de programación
Python. Para la parte analítica se utiliza el entorno de desarrollo Spyder y para la parte
del aplicativo el framework Flask.
La arquitectura utilizada para la creación del aplicativo será para muestra del
funcionamiento del modelo, mas no para puesta en producción.
Pese a que el aplicativo permite el ingreso de nuevos registros, estos no serán
ocupados para el aprendizaje del mismo. Lo que restringe a la predicción solo de
valores reconocidos por el modelo aplicado. La persistencia de los datos se realiza en
archivos planos.
8
2. MARCO TEÓRICO
2.1. Marco conceptual
2.1.1. Mantenimiento
Según (Luis, 2013) una falla es la ocurrencia de un evento que impide el normal
funcionamiento del equipo. Es decir, a pesar de que una máquina siga funcionando,
refleja consecuencias que le impiden cumplir con su función satisfactoriamente.
Las consecuencias de una falla en una máquina afectan desde la degradación de la
misma hasta pérdidas monetarias y en ocasiones horas hombre improductivas. El
riesgo aumenta cuando un número de personas dependen del estado de un equipo,
como son equipos de transporte, máquinas que trabajan todos los días del año en un
promedio de 15 horas consecutivas diariamente.
Existen planes de mantenimiento para poder reducir los estados de falla de una
máquina, en el caso de equipos de transporte, los fabricantes sugieren planes de
mantenimientos preventivos. (Checa & Ferrer, 2010) aclaran que este tipo de
mantenimiento tiene como objetivo la prevención de una avería basándose en una
rutina establecida para el cambio de piezas en intervalos periódicos de tiempo que son
las principales para el funcionamiento de este.
Bajo el concepto de que los equipos de operación continua deberían seguir con
exhaustividad las tareas recomendadas para prevenir una falla en su actividad diaria,
se pone a discusión el tiempo que los lleva realizar estas acciones de manera
periódica y mucho más cuando aún los componentes que deben ser reemplazados les
restaba tiempo de vida, desde este punto se generarían pérdidas económicas
innecesarias.
Se habla de encontrar un equilibro que permita aprovechar en su máximo todos
aquellos componentes, pero sin llegar al punto de registrar un fallo significativo que
probablemente termine en un mantenimiento correctivo, y con una inversión mayor de
lo que el plan de mantenimiento preventivo conlleva.
9
2.1.2. Minería de Datos
El gran desarrollo tecnológico ha permitido la recopilación de una gran cantidad de
datos en los últimos años. Junto con ello las necesidades del personal administrativo
han ido inclinándose en conocer ya no solo la información que puedan obtener de los
datos, sino el conocimiento oculto que puede estar sumergido en esta avalancha de
información.
Este nuevo enfoque conlleva a estudiar nuevas disciplinas sujetas a los constantes
avances tecnológicos. (Han & Kamber, 2006) definen a la minería de datos como “la
extracción automática o conveniente de patrones que representar el conocimiento
implícitamente almacenado en grandes bases de datos”.
Figura 1. Representación gráfica del objetivo de la minería de datos. (Han, Kamber, &
Pei, Data Mining. Concepts and Techniques, 2012)
Una disciplina indispensable en el marco de la minería de datos es la estadística
(Agrawal & Agrawal, 2017), principalmente en la interpretación de resultados, las
métricas que hay que interpretar son estadísticas.
Otra disciplina que trabaja conjuntamente es el aprendizaje automático puesto que
comparten conceptos pese a que tienen objetivos diferentes. Conceptos como
aprendizaje supervisado el cual hace referencia a las técnicas de clasificación y el
aprendizaje supervisado que se refiera a las técnicas de agrupamiento. Los diferentes
métodos de cada técnica se fundamentan en la misma teoría, pero con objetivos
diferentes.
10
Dentro de la minería de datos se tienen dos grandes enfoques, los cuales son
divididos en base al objetivo del proyecto. Dentro de cada una de estas etapas se
puede aplicar diferentes modelos matemáticos.
Predictivas
Denominadas técnicas supervisadas puesto que todos los datos de entrada son
etiquetados con una salida predefinida, la cual, al hacer aplicados ciertos métodos
deberán ser predichos.
a) Clasificación. Los modelos utilizados para este propósito tratan de separar los
datos en clases predefinidas.
b) Regresión. Es el uso de metodologías estadísticas para predecir básicamente
valores numéricos. (Calders & Custers, 2012)
Descriptivas
También denominadas técnicas no supervisadas puesto que no necesita de conjunto
de datos preclasificados.
a) Reglas de Asociación. Incluye aquellos algoritmos que permitan encontrar
ciertos patrones o comportamientos entre los datos.
b) Agrupación. Los métodos utilizados para este propósito tienen como principal
objetivo dividir un conjunto de datos en subconjuntos homogéneos entre los
cuales exista una diferencia significativa. (Calders & Custers, 2012)
2.1.3. Análisis de Datos.
Se basa en la aplicación de un conjunto de procedimientos y la utilización de técnicas
específicas apropiadas a la naturaleza de los datos cuyo fin es compactar, resumir o
concentrarlos para sacar conclusiones basadas en ellos. (Urbano & Yuni, 2009).
2.1.4. Aprendizaje de máquina.
(Awad & Khanna, 2015) establece que el objetivo del aprendizaje de máquina (ML) es
la predicción de eventos futuros que una máquina desconoce. Este conjunto de
técnicas busca relaciones, patrones o comportamientos en grandes conjuntos datos,
11
los cuales sirven de “experiencia” para poder generar predicciones a futuro. Los
sistemas de ML tienen la capacidad de adaptarse a condiciones variables del proceso,
es decir encontrar un modelo adaptable a los datos cambiantes, este proceso es el
denominado aprendizaje automático.
Gracias a la capacidad tecnológica actual, el procesamiento del gran volumen de
datos hace que las técnicas de ML identifiquen y devuelvan resultados más
sofisticados.
ML hace una clasificación de categorías según el resultado que se pretenda obtener
dado los datos de entrada:
Aprendizaje Supervisado.
Es un mecanismo de aprendizaje en el cual los datos de entrada tienen una previa
clasificación, etiquetando el valor de salida. La actividad principal de este mecanismo
es la predicción de valores de salida, en base a un conjunto de entrenamiento.
Aprendizaje No Supervisado.
Los algoritmos pertenecientes a esta clasificación son utilizados para descubrir
conjuntos similares entre datos sin etiquetar. Es decir, los datos de entrada es el único
conjunto de donde se obtienen los resultados.
2.2. Marco técnico
El proceso que conlleva a obtener un buen modelo necesita de un tratamiento
referente al tipo de problema que se esté abordando, teóricamente se conoce las
pautas que se deben seguir para ir puliendo un modelo objetivo. A continuación, se
describen técnicas puntuales que son aplicadas dependiendo de la etapa del proceso.
2.2.1. Método IQR para datos atípicos
(Han, Kamber, & Pei, 2012) definen que un valor anómalo es un objeto dentro de los
datos que se desvía significativa de los otros.
12
Una manera de identificar este tipo de valores es en base a la selección de valores
que se encuentran 1.5* del rango intercuartil (IQR) sobre el tercer cuartil o 1.5 *IQR
por debajo del primer intercuartil.
Los cuartiles nos dan información acerca del centro de la distribución, extensión y su
forma.
Como en el siguiente gráfico muestra Q1 es el valor hasta donde se concentra el 25 %
de los datos, Q3 es el valor hasta donde se concentra el 75 % de los datos y Q2
representa la mediana, el valor hasta donde se centra el 50% de los datos.
La distancia entre Q3 y Q1 es lo que representa el rango intercuartil (IQR). Su fórmula
en ecuación (1)
IQR = Q3 − Q1 (1)
Figura 2. Interpretación del IQR. (Galarnyk, 2018)
2.2.2. Modelos de regresión
Lineales
a) Regresión Lineal Múltiple.
Es una extensión de la regresión lineal. Al aplicar este algoritmo se pretende encontrar
una línea que se ajuste a nuestros datos en base a varias variables.
13
y = w1x1 + w2x2 + ⋯ + wnxn + b (2)
Bajo el contexto de minería de datos x y y de la ecuación (2) deben representar
variables numéricas. Los coeficientes w y b especifican la pendiente de la línea y el
interceptor de y, respectivamente. (Han, Kamber, & Pei, 2012).
Los coeficientes de la ecuación se pueden encontrar en base al método de mínimos
cuadrados, los cuales minimizan el error entre los datos verdaderos con la línea
estimada, denominado error cuadrático medio, MSE por sus siglas en inglés.
En la siguiente gráfica representan los puntos azules los datos reales y la línea roja la
línea que se ajusta a los datos. Las líneas de color negro es lo denominado error
cuadrático medio.
Figura 3. Regresión Lineal. (Bronshtein, 2017)
No Lineales
a) RandomForestRegresor
Los árboles de decisión son algoritmos supervisados que basan su funcionamiento en
reglas de decisión obtenidas de las variables dependientes.
(Breiman, 2001) define que los bosques aleatorios es un conjunto de múltiples árboles
de decisión.
14
El resultado predicho está formado en base al promedio entre las predicciones
individuales de los árboles de decisión construidos en base a las características
seleccionadas aleatoriamente por el bosque aleatorio.
b) K-Nearest-Neighbors Regressor
Este algoritmo en su versión dirigida a problemas de clasificación es el más usado. La
misma teoría se aplica a un problema de regresión con la diferencia que al momento
de generar una salida el clasificador dirigirá a una de las clases definidas mientras que
el de regresión realiza un promedio en base a los valores de los vecinos más
cercanos.
Este algoritmo se fundamenta en la similitud de características para poder predecir
nuevos valores. (Wu, y otros, 2008) resumen el funcionamiento de este modelo en
encontrar un grupo de k de objetos en el conjunto de entrenamiento que se encuentren
más cercanos al objeto de prueba.
La determinación de “más cercano” se basa en las distancias calculadas entre los
puntos, pudiendo ser la distancia Euclideana y distancia Manhattan para variables
continuas y la distancia de Hamming para variables categóricas.
2.2.3. Técnicas para la evaluación del modelo.
División en data de entrenamiento y pruebas
Data de entrenamiento con la cual se entrena el modelo. Debe abarcar un
mayor número de datos representando la mayor cantidad de posibles casos
puesto que de ellos dependerá la respuesta.
Data de pruebas que permitirá comprobar la eficacia del modelo, comprobando
los valores obtenidos con los reales.
A esta técnica se le puede ajustar un parámetro que al momento de ejecutar la división
de los datos aleatorice los valores. El problema es que no se conoce si todos los
posibles casos de la data están en los conjuntos, estaríamos dependiendo de un
resultado en base a una elección aleatoria.
15
2.2.4. Validación Cruzada (KFold)
Esta técnica divide la data en k particiones aproximadamente del mismo tamaño
(Berrar, 2017). El procedimiento realizado para cada partición se resume en:
tomar las k-1 particiones que representarán la data de entrenamiento,
Un modelo se aplica, en base a los datos entrenados, en la partición restante
denominada data de pruebas con el objetivo de medir el rendimiento.
Este procedimiento se repite hasta que las k particiones hayan servido como data de
prueba.
Finalmente, la precisión obtenida por este método es el promedio calculado entre la
precisión obtenido en cada iteración.
Con esta técnica se obtiene una precisión real en base a todos los posibles casos que
nuestra data pueda tener.
Figura 4. Funcionamiento del método KFold. (Berrar, 2017)
2.2.5. Métricas
La minería de datos da como resultado patrones estadísticos que deben ser
interpretados.
Algunas de las métricas utilizadas para evaluar un modelo de regresión son las
siguientes:
a) Error cuadrático medio (MSE por sus siglas en inglés)
16
El valor de esta medida representa la magnitud del error del modelo. Es decir,
mientras más este valor tienda a cero, se podría deducir que tenemos un buen
modelo, en base a esta medida.
Su representación matemática es la siguiente:
1
n∑(reali − estimadoi)
2
m
i=1
, m = nº de total de puntos. (3)
La ecuación (3) explica la sumatoria de la diferencia entre los valores reales y los
valores predichos. Esto al cuadrado, para evitar valores negativos, en división para el
número de puntos, obtenemos el MSE.
b) Raíz del error cuadrático medio (RMSE por sus siglas en ingles).
Como bien su nombre lo indica, es la raíz del MSE, esto permite la conversión del
error cuadrático medio a las unidades originales manejadas por la variable
dependiente. Lo que permite una mejor interpretación.
c) R2
Es el coeficiente de determinación de la precisión del modelo. Esta medida es
representada entre 0 y 1, mientras más cercano a 1 sea este valor se deduce una
relación existente entre las variables independientes con las dependientes.
Hay que tener mucho cuidado con el valor de esta medida, puesto que la señal de un
coeficiente de determinación perfecto puede llegar hacer por un problema de
sobreajuste.
2.2.6. Sobreajuste
Para entrenar un modelo se necesita un conjunto de datos, los cuales serán ajustados
a un algoritmo. Al momento que el modelo obtenido se ajusta a los datos provocados
por el ruido o por la variación de los mismos, se habla de un modelo sobre ajustados.
Como la siguiente figura lo muestra, la distribución general de los datos sigue una
línea recta, debido a variación de algunos datos el modelo se ajuste a una parábola, lo
que provocará una mala precisión al momento de mandar a predecir nuevos valores.
17
Figura 5. Representación de sobreajuste. (Webb, 2010)
2.2.7. Hiperparámetros
Son aquellos valores que deben ser “maquillados” para obtener un modelo con un
buen rendimiento. Estos valores son propios de cada modelo y pueden ser ajustados,
para obtener el mejor resultado. No es lo mismo hablar de los parámetros del modelo
puesto que estos deben ser determinados para el entrenamiento del mismo.
Tabla 1. Ejemplos de hiperparámetros utilizados por diferentes modelos. (Elaboración
propia)
Modelo Hiperparámetro Descripción Valores por
defecto
Valores
Alternativos
K-vecinos
más
cercanos
n_neighbors Número de vecinos a
utilizar
5 Valor entero
metric Tipo de distancia minkowski -Euclidean
-Manhattan
-Chebyshev
Máquinas de
soporte
vectorial
kernel Especificación de tipo
de núcleo
Rbf
-Sigmoid
-linear
-poly
18
C Penalización para el
error
1.0
Árboles de
decisión
criterion Medida en base a la
cual va a determinar la
calidad de la división.
MSE (error
cuadrático
medio)
-MAE (Error
absoluto
medio)
Max_depth La profundidad
máxima del árbol.
none Valor entero
Los hiperparámetros mencionados en la tabla anterior, son ajustables en dependencia
del rendimiento que se obtiene del modelo al ajustarlos con diferentes valores.
2.2.8. Técnicas de preprocesamiento
Los datos que se obtienen de las fuentes de datos, en su mayoría son inconsistentes,
independientemente del lugar de recopilación se va a encontrar con datos que no
pueden ingresar en su naturaleza a un modelo de predicción puesto que de ellos
depende la calidad del rendimiento.
Para ello se debe seguir un preprocesamiento en los datos.
(Han, Kamber, & Pei, Data Mining. Concepts and Techniques, 2012) describen las
técnicas, que, en dependencia del tipo de datos, se pueden realizar:
a) Calidad de datos
Se resume en obtener una visión general de los datos de acuerdo al contexto y al
planteamiento del objetivo y determinar si los datos determinarán una solución al
problema.
Consistencia de acuerdo al contexto.
Son interpretables los datos
Confiables
Concordancia con el espacio de tiempo
b) Limpieza de datos
Una data inconsistente no generará buenos resultados, es por ello que hay que
analizar los siguientes aspectos. Tomar acciones justificables de acuerdo al concepto;
19
Valores faltantes
o Técnicas de imputación, eliminación de registros.
Valores atípicos.
o Visualización mediante gráficos
Graficar los datos obtenidos ayudará a obtener una visión más clara del
comportamiento de los mismos.
c) Integración de los datos
Muchas de las veces se trabajarán con datos provenientes de diferentes fuentes, la
unión entre ellos podría ocasionar ´la representación de un mismo campo, pero en
diferentes puntos de vista. Muchos modelos de aprendizaje automático, exigen ciertos
supuestos para que puedan ser aplicados, es por ello que se debe analizar la relación
entre los diferentes atributos, mediante los siguientes conceptos.
Correlaciones
Redundancia de datos
Valores repetidos
d) Reducción de datos
Dependiendo del problema a tratar, la cantidad de variables pueden ser muy grande.
Se deberán realizar ciertas técnicas que permitan la reducción de variables que
puedan estar representando la misma información. Al mismo tiempo, se deberá
escoger aquellas variables relevantes para nuestra salida.
Análisis de componente principales
Selección de variables
Agrupación.
e) Transformación y discretización de los datos
Existen diferentes técnicas aplicables a los diferentes tipos de datos, para variables
categóricas y numéricas.
Cuando se trabaja con variables numéricas, las siguientes técnicas pueden ayudar a
tratar valores numéricos.
Normalización.
Estandarización
20
Al momento de trabajar con variables categóricas como bien se conoce, dentro de este
grupo puede existir: nominales, ordinales, dicotómicas.
Estos tipos de datos no pueden ingresar sin antes ser transformados en un valor
numérico con el que modelo pueda trabajar. La transformación de este tipo de datos
dependerá bajo el juicio del analista sin desenfocar la representación de los datos. La
siguiente técnica puede ser aplicable en el caso descrito.
Generación de variables ficticias.
El procedimiento descrito es un marco de trabajo de referencia, las técnicas aplicadas
en cada fase deberán ser aplicado bajo el juicio del analista.
21
3. METODOLOGÍA DE DESARROLLO
3.1. Introducción
Existen diferentes metodologías que pueden ser aplicadas a un proyecto dirigido a la
minería de datos. En base a los resultados de encuestas realizadas por KDnuggets,
una plataforma digital basada en el análisis de negocios, big data, minería de datos y
ciencia de datos, CRISP-DM es la metodología más utilizada. (Piatetsky, 2014)
En la figura 6 se muestran los resultados obtenidos en el año 2007 y 2014 en relación
al uso de cada metodología. Se concluye que, frente al transcurso de los años,
CRISP-DM sigue liderando la tabla.
Figura 6. Metodologías más usadas. (Osorio, 2019)
3.2. CRISP-DM
(Cross Industry Standard Process for Data Mining) es una metodología robusta que
permite a implementar proyectos relacionados con la Ciencia de datos. Provee una
estructura enfocada a la planificación de proyectos de minería de datos.
22
Las principales etapas de CRISP-DM son:
Figura 7. Fases de la metodología CRISP-DM. (Piatetsky, 2014)
Se centra en identificar el problema de negocio desde un punto de vista empresarial,
para poder determinar objetivos en el contexto de minería de datos.
3.2.1. Compresión del negocio
Contextualizar el objetivo del negocio, es decir, conocer todos los puntos clave que
involucran el tema, para tener un conocimiento puntual de los objetivos. Definir en
términos de negocio los objetivos a cumplir.
3.2.2. Compresión de los datos.
Enfocada en la colección de datos que permitirá la conclusión de los objetivos
planteados. Posteriormente se necesita una exploración de los datos para verificar la
calidad de los mismos. Si el objetivo del negocio no se puede resolver con los datos
adquiridos es necesario volver a replantear el objetivo.
23
3.2.3. Preparación de datos.
Es un proceso que permite seleccionar y obtener los datos apropiados que serán
utilizados en la próxima etapa. Se debe tomar en cuenta que el resultado de la
siguiente etapa depende principalmente de este proceso.
3.2.4. Modelamiento.
Es un proceso dependiente de los objetivos planteados en base a los datos
disponibles. El objetivo principal de esta etapa es obtener el mejor modelo que se
aplique a nuestros datos en base a la preparación de datos.
3.2.5. Evaluación.
En esta etapa se evalúa si los resultados obtenidos satisfacen a los objetivos del
negocio planteados en la primera etapa. En el caso de que se concluyan resultados
diferentes a los objetivos iniciales, es momento de regresar a la primera etapa con la
experiencia del proceso ya realizado para plantearse nuevos objetivos.
3.2.6. Despliegue.
La presentación de los resultados para el cliente y la puesta en producción. El
funcionamiento de esta metodología es por fases, frente a la culminación de una se
debe continuar con la siguiente. Hay que considerar que estas fases son dependientes
entre sí, si los resultados de una etapa demuestran desviaciones del objetivo, hay que
retornar hacia la etapa necesaria que permita reimplantar el problema correctamente.
La fase 1 y la fase 2 son cruciales puesto que, al momento de determinar los objetivos
del negocio, el analista aún no conoce los datos disponibles. Una vez que el analista
se familiariza con el contexto es cuando se plantea nuevos objetivos viables.
Dependiendo de la fase se deben realizar ciertas actividades que traducido al contexto
de minería de datos son técnicas de análisis de datos que, en conjunto con el juicio del
analista, permitirá una salida que servirá como entrada para la próxima etapa.
24
3.3. SEMMA
SEMMA son las abreviaciones de muestra, exploración, modificación, modelación y
evaluación en terminología inglesa. Fue desarrollado por SAS Institute, quienes
consideraron 5 etapas principales.
1. Muestra.
En esta etapa hace referencia a la extracción de una muestra significativa de un
tamaño apropiado que permite su posterior manipulación.
2. Exploración.
Tiene su enfoque en la comprensión de los datos mediante la búsqueda de
tendencias y anomalías inesperadas.
3. Modificación.
Es una etapa crucial en el que se definen las variables que deben tener como
enfoque la entrada adecuado para un modelo, mediante la selección y
transformación de las mismas.
4. Modelo.
Se centra en la búsqueda de modelos apropiados mediante la combinación de
datos que permitan obtener un resultado confiable y deseado.
5. Evaluación.
Es la etapa de estimación y evaluación de los resultados obtenidos frente a los
objetivos planteados.
3.4. KDD
(Santos & Azevedo, 2007) describen que KDD es el proceso de usar métodos de
minería de datos para extraer lo que se considera conocimiento en base a la
especificación de medidas y umbrales. En la siguiente figura se muestra las etapas de
esta metodología.
25
Figura 8. Etapas del proceso KDD. (Fayyad, Piatetsky-Shapiro, & Smyth, 1996)
1. Selección.
Se centra en selección de los subconjuntos de datos pudiendo ser variables o en
base a una muestra.
2. Preprocesamiento.
Es el proceso obtener datos coherentes en base a la limpieza de los mismos.
3. Transformación.
Es la etapa en la que permite la aplicación de técnicas para transformación y
reducción de dimensionalidad de las variables
4. Minería de Datos.
Se centra en la búsqueda de patrones de interés en dependencia de los objetivos
establecidos
5. Interpretación/Evaluación.
Es la etapa que consiste en la interpretación y evaluación de los patrones
obtenidos.
26
4. DESARROLLO
4.2. Herramientas de desarrollo
4.2.1. Spyder IDE
En similitud con el desarrollo de un sistema informático, que utilizan entornos de
trabajo para el desarrollo de un programa, el uso de software apropiado para llevar a
cabo un proceso de obtención de un modelo también es importante.
Spyder es un ambiente científico robusto desarrollado en Python diseñado por
científicos, ingenieros y analistas de datos. Permite funcionalidades interactivas que
ayuda a la visualización y al control de resultados paso a paso mostrando los
resultados obtenidos.
4.2.2. Python
Python es un lenguaje de programación orientado objetos, que permite el desarrollo de
aplicaciones en diferentes plataformas. Es un lenguaje de programación robusto de
acuerdo con lo que (Kumar, 2019) señala en base las empresas mundiales que hacen
uso de este lenguaje, como lo son; Google, Youtube, NASA. etc,
En las últimas décadas ha sido ampliamente utilizado para la ciencia de datos, por lo
que es un lenguaje que apoya completamente al desarrollo de este tipo de proyectos.
Características de Python
Lenguaje interpretado. Python no compila el código fuente a estado de
máquina. Es el intérprete quien permite la ejecución de los programas
basándose en el código.
Multiplataforma. Se puede usar en los diferentes sistemas operativos, ya que
cada uno de ellos tiene su propio interprete.
Libre distribución. Posee una biblioteca muy extensa por lo que el uso de las
diferentes librerías puede ser usadas sin instalaciones complejas y evitando la
programación de funciones ya realizadas.
La comunidad de Python es extensa, por lo que tiene un gran soporte.
27
Principales librerías de Phyton
Pandas. Permite el uso de estructuras de datos de manera simplificada
denominadas DataFrame.
o Permite la lectura y escritura en diferentes formatos entre los datos
almacenados en memoria y las estructuras de datos
o Tiene el método reshape, que permite mezclar los datos.
o Representación de datos con la función groupby.
Numpy. Permite el manejo de arreglos N-dimensionalidades.
Matplotlib. Es una librería que permite realizar diferentes tipos de gráficos.
4.2.3. Scikit-learn
es una librería de Python que permite implementar modelos de aprendizaje de
máquina que vienen incrustados en si, permitiendo modificarlas a las necesidades del
proyecto.
Esta librería tiene sus fundamentos en las librerías mostradas en el siguiente gráfico
Figura 9. Bases de sklearn.(Elaboración propia.)
La librería ofrece funciones ya desarrollados en base a la siguiente clasificación.
28
Figura 10. División de Scikitlearn.(Elaboración propia)
Que como se puede observar en la Figura 10, esta librería basa su enfoque en guiar al
programador en todo un proceso de aprendizaje de máquina.
Clasificación
Todas las funciones dentro de este apartado son referentes a un aprendizaje
supervisado que permiten identificar a que categoría pertenece un objeto. Con
frecuencia estos algoritmos se usan para clasificar variables categóricas.
Dentro de ese grupo se pueden encontrar todos los modelos estudiados.
Regresión
Por otro lado, se encuentran los algoritmos de regresión que permiten predecir
valores numéricos. Cabe recalcar que los nombres de los modelos varían
dependiendo el enfoque al que el problema vaya dirigido.
Cluster.
Cuando se habla de agrupación se relaciona con el aprendizaje no
supervisado, puesto que no se conoce de ante mano valores establecidos.
Dentro de esta sección se encuentran métodos para poder ejercer la
agrupación, así como para poder evaluar su efectividad.
Reducción de Dimensiones
Esta sección es muy amplia puesto que abarca el tema de tratamiento de los
datos. Son métodos de gran ayuda que deben ser aplicados por el analista
siempre con el enfoque hacia al objetivo general.
29
Selección de modelos
Contiene algoritmos para evaluar el mejor modelo aplicado al problema.
Permite contrastar resultados con algoritmos programables.
Preprocesamiento.
En esta sección se encuentran los algoritmos que ayudan a obtener datos de
calidad que van a servir de entrada para el modelo.
4.2.4. Flask
Es un servidor web de aplicaciones que permite la creación de una manera rápida y
sencilla.
Sintaxis utilizada para incluir Flask en el proyecto, y que permite la manipulación
desde el Spyder ID. ¡pip install Flask
4.3. Metodología aplicada
El desarrollo del proyecto centra sus etapas en base a la metodología CRISP-DM, por
será una de las metodologías más utilizadas y por la flexibilidad que brinda para poder
buscar un nuevo enfoque al problema sin desviarse del propósito general,
independientemente de la fase que se esté desarrollando.
Terminología
Los siguientes vocablos describen la interpretación dada de acuerdo con el contexto.
Componente: hace referencia a la categoría en general de los repuestos.
Unidad: referente a un bus perteneciente a la organización.
4.3.1. Comprensión del negocio.
La compañía San Carlos S.A., brinda el servicio de transporte público cubriendo la
ciudad de Quito, sentido norte sur con 66 buses. Estas unidades son divididas en 4
grupos, y cada grupo mensualmente recorre las 5 rutas establecidas por la compañía.
La compañía posee un taller mecánico propio, pero no existe un control periódico de
los mantenimientos que deberían realizarse para el mantenimiento de las unidades.
Se necesita reducir los tiempos provocados por fallas en los componentes que
conciernen a un mantenimiento preventivo, ya que seguir las recomendaciones del
30
fabricante no son aplicables bajo el concepto de no usar el componente a su máximo.
Ver anexo A.
4.3.2. Compresión de los datos.
En base a los registros proporcionados por el departamento de Taller, se obtiene los
siguientes datos desde el año 2018 hasta agosto del 2019.
Tabla 2. Atributos referentes a la digitación de facturas. (Elaboración propia)
N.º Columna Nombre Descripción
1 Fecha Fecha en la que se realizó el trabajo
2 N.º Recibo Secuencia de recibos
3 Orden de Trabajo Secuencia de órdenes de trabajo
4 N.º Bus Número de unidad a la que se le realizo el
trabajo
5 Descripción Resumen rápido del trabajo que se realizó
6 Mano de Obra En el caso de haya habido intervención de
mano de obra, se detalla cual fue el trabajo
perteneciente a dicha tarea
7 Valor Costo total por el trabajo realizado
8 Código Código del repuesto utilizados en el trabajo
realizado.
9 Cantidad Cantidad del repuesto utilizado
Con respecto a los productos que la misma empresa maneja. (Ver anexo B)
Tabla 3. Atributos que describen a los productos. (Elaboración propia)
N.º Columna Nombre Descripción
1 Código Identificador para el producto
2 Producto Nombre del producto
3 Unidad Detalle de la unidad en la que se maneja un
producto
4 Costo Para socios Costo del producto
31
Los datos correspondientos a las unidades son:
Tabla 4.Características de las unidades. (Elaboración propia)
N.º Columna Nombre Descripción
1 N.º Número de la unidad
2 R.M. Registro municipal
3 Nombre Propietario de la unidad
4 C.I. Cédula del propietario
5 Placa Número de placa de la unidad
6 Marca Marca de la unidad
7 Año Año de la unidad
8 Modelo Modelo de la unidad
9 Clase Tipo de bus (ómnibus, autobús)
10 Fecha de ingreso Fecha que ingreso la unidad a trabajar en la
compañía.
Con la hipótesis de que existe un comportamiento distinto entre marcas, se obtiene
información de mantenimiento preventivo proporcionados por los fabricantes en la que
se resume los componentes comunes que forman parte de este mantenimiento junto
con plazo de cambio recomendado.
Tabla 5. Cambios de componentes recomendados por los fabricantes. (Elaboración
propia)
Código Detalle FG AK MB
AM Aceite de Motor 10 10 7.5
FA Filtro de aceite 10 10 7.5
FCP Filtro de combustible primario 20
FCS Filtro de combustible secundario 20
FC Filtro de combustible 20 7.5
ZP Zapatas posteriores 60 60 45
ZF Zapatas frontales 60 60 45
LF Líquido de frenos 60 60
FAP Filtro de aire primario 20 20 15
FAS Filtro de aire secundario 20
32
GC Grasa de chasis 5 5 7.5
GR Grasa de rodamiento 5 5 7.5
AD Aceite de engranajes del diferencial 30 30 45
AT Aceite de los engranajes de la
transmisión
30 30 45
R Refrigerante 60 60 82.5
RF Retenedor Frontal 60 60 MC
RP Retenedor Posterior 60 60 MC
4.3.3. Preparación de datos
En un primer análisis, para llegar a obtener los datos finales, se necesita verificar la
calidad de los datos. En este proceso se observa que muchos registros no concuerdan
con la información que les pertenece.
Los motivos principales que ocasionaron discordancia fueron:
Cada modelo utiliza componentes específicos. Muchos de los registros no
pertenecían a la unidad indicada.
Tabla 6. Componentes propios de cada marca. (Elaboración propia)
Marca Hino FG Hino AK MB
Filtro de aire primario X X X
Filtro de aire secundario X
Filtro de combustible simple X
Filtro de combustible primario X
Filtro de combustible
secundario
X
No se especifica concretamente el tipo de componente utilizado, ya que en el
inventario registran componente estándar para todas las unidades.
33
Algunas unidades no registraban suficiente información, por el motivo de que
no realizan el mantenimiento en el taller de la empresa.
La solución es estudiar los componentes por unidad y por modelo e imputar en
base al historial de cada máquina. Con respecto a unidades que no registran
suficientes datos se procede a eliminarlos. Finalmente se obtiene el siguiente
resumen.
Tabla 7.Unidades registradas por marca. (Elaboración propia)
Marca N.º
Unidades
Unidades Pertenecientes
Hino FG 12 3-12-13-14-15-20-22-23-48-50-51-55
Hino AK 30 1-5-7-8-16-17-18-21-26-27-28-31-32-36-39-41-
43-45-46-47-53-55-57-59-60-61-63-64-65-66
Mercedes Benz 17 2-4-6-9-19-24-25-29-30-33-34-35-37-38-40-52-58
Total 59
Cálculos adicionales necesarios.
En base al kilometraje que abarca cada ruta y con la información de despacho de las
unidades se calcula lo siguiente.
Tabla 8.Kilometraje abarcado por cada ruta. (Elaboración propia)
Grupo Ruta Km por
vuelta
N.º vueltas
diarias
Km/día Km/semanal
C Curiquingue-
Magdalena
48 9 432 3024
A Liga-Magdalena 37,32 9 335,88 2351,16
D Rancho-Arupos 22,17 11 243,87 731,61
B Loma-Magdalena 36 10 360 2520
D Mena del Hierro -
LA Y
21,73 14 304,22 1216,88
MENSUAL 9843,65
15 DIAS 4921,825
34
Obteniendo un aproximado por unidad de 5000 km recorridos en 15 días, este cálculo
permite conocer de manera significativa la duración de un componente en base a
kilómetros.
La duración del producto se calcula en base a la diferencia entre la fecha de ingreso
de un mismo componente con la fecha anterior registrada, que da como resultado la
cantidad de días útiles de un componente X. Guardando este valor junto con el código
del componente registrado con anterioridad.
Es necesario conocer si el registro de un producto fue debido a mantenimiento o falla.
Esto se calcula en base a la duración del producto analizando la media y la varianza
por componente, que permiten establecer límites para poder clasificar cada registro; M
si se encuentra dentro del rango de mantenimiento o F si se encuentra fuera de los
limite establecidos.
Figura 11. Técnica de clasificación de datos. (Elaboración propia)
Dentro de este proceso involucra la detección de valores atípicos, que están afectando
a la media de cada componente. Se aplica el método IQR, para poder eliminar estos
datos atípicos.
Con los datos calculados y las variables proporcionadas, se define las variables
candidatas para ingresar al modelo.
Tabla 9. Variables candidatas para el modelo. (Elaboración propia)
Definición de
variables
Nombre Tipo Descripción
Modelo
Categórica
Marca de la
unidad.
Unidad Código de la
unidad
35
En un segundo análisis en esta etapa concierne a analizar directamente los datos que
ingresaran al modelo.
Existen ciertos componentes en mantenimiento preventivo que deber ser cambiados
conjuntamente como es el caso de:
Tabla 10. Variables unidades en base al contexto. (Elaboración propia)
Aceite de Motor Filtro de Aceite
Filtros de aire primario Filtro de aire secundario
Filtro de combustible primario Filtro de combustible secundario
Este conjunto de pares dirige al registro de los mismos en una misma variable con los
siguientes valores; nuevo código que representa el ingreso de los dos componentes
caso contrario se le asigna el código correspondiente a cualquiera de los dos
productos registrados.
Figura 12.Comportamiento de AM-FA de la unidad 1. (Elaboración propia)
Independiente Código componente nominal Código del
componente
Motivo Motivo del
cambio.
Dependiente Duración
componente
Cuantitativa Duración en
semanas del
componente.
36
Como resultado de esta unión de productos en una misma variable, se estandarizan
los mismos componentes para las diferentes marcas.
En resumen, los componentes a tratar son:
Tabla 11.Componentes seleccionados. (Elaboración propia)
Código Detalle
AM-FA Aceite de motor y filtro de aceite
FC Filtro combustible
ZP Zapatas posteriores
ZF Zapatas frontales
FAP Filtro de aire primario
GC-GR Engrasada
RP Retenedor Posterior
AD Aceite de Diferencial
AT Aceite de Transmisión
R Refrigerante
En relación a valores faltantes, aquellos componentes ingresados por última vez,
serán usados para la predicción posterior del modelo.
Se analiza datos atípicos en la variable duración componente, en base a los
diagramas de caja y bigote y utilizando método cuartil, se eliminan todos aquellos
registros anómalos.
Figura 13.Detección de atípicos por componente (Elaboración propia)
37
Se observa gráficamente códigos de productos que son utilizados sola una vez. Estos
códigos son reemplazados por otros códigos que representan al mismo componente y
que han sido utilizados frecuentemente por la misma unidad.
Figura 14.Frecuencia por código de componente. (Elaboración propia)
Se obtiene el siguiente resumen de datos.
Tabla 12.Resumen del tamaño del conjunto de datos. (Elaboración propia)
Descripción Cantidad Datos
Datos iniciales 3953
Datos faltantes 519
Datos atípicos 381
Datos concatenados 196
Total, de datos a trabajar 2857
Selección de variables
Los códigos de los productos representan componentes que muchos de ellos
pertenecen a una marca en específico, incluir la variable MODELO en el algoritmo no
aportaría información alguna además que estaría enviando una misma información,
pero en de una manera globalizada. Correlacionando variables, que es uno de los
principales requisitos que hay que descartar para a la aplicación de un modelo de
regresión.
Debido a que el intervalo de tiempo de los datos es reducido, predecir en días y mucho
menos en kilometraje no es una solución factible, puesto a la diversa cantidad de
valores que se llegó a obtener, por lo tanto, se necesita una medición más extensa
38
que ayude a representar la duración del componente sin perder mucha información, es
por ello que la variable a predecir será en semanas.
Por lo tanto, se definen las variables finales para la aplicación del modelo.
Tabla 13. Variables seleccionadas. (Elaboración propia)
Como se puede observar las tres variables predictoras son categóricas, lo que
involucra una transformación de estas para que sean aceptadas en el modelo.
La función get_dummies() proporcionada por la librería pandas, permite la
transformación de tipos de datos categóricos en una matriz donde las columnas
representan todos los valores diferentes posibles y la presencia de un registro será
denotado con el valor de 1 y completada con 0.
Figura 15. Valores únicos por categoría. (Elaboración propia).
Definición de
variables
Nombre Tipo Descripción
Independiente
Unidad
Categórica
nominal
Código de la
unidad
Código componente Código del
componente
Motivo Motivo del
cambio.
Dependiente Duración
componente
Cuantitativa Duración en
semanas del
componente.
39
Para evitar redundancia entre las nuevas variables, se elimina la columna MOTIVO_M,
puesto que es posible representar la misma información con la variable MOTIVO_F.
En total resulta una matriz con 166 variables y 2857 registros.
Para entrenar un modelo se necesita de dos conjuntos de datos, uno de entrenamiento
y otro de prueba que permitirá evaluar el rendimiento del modelo encontrado.
La librería sklearn ofrece la clase train_test_split, lo cual permitió la división de los
datos en base a los siguientes parámetros:
X_train, X_test, y_train, y_test = train_test_split(X,Y, test_size=0.33, random_state=7)
El 33 % de los datos destinados para pruebas (test) y el 67% para entrenamiento
(train), estableciendo un estado aleatorio con una semilla de 7 para generar datos
aleatorios.
4.3.4. Modelamiento
Se conoce que la variable dependiente es de tipo cuantitativa, por lo que modelos de
regresión son los recomendables para este problema.
Se realiza una comparación entre diferentes modelos para obtener el que mejor se
ajuste al problema. Los modelos candidatos se dividen en lineales y no lineales.
Tabla 14.Algoritmos a utilizar. (Elaboración propia)
Lineales No Lineales
Regresión Lineal KNeighborsReggresor
Lasso DecisionTreeRegressor
ElasticNet RandomForestRegressor
SVR
El parámetro principal que se analizan para la determinación de un buen modelo es el
error medio cuadrático.
Esta acción se realiza tomando en cuenta que, por cada modelo se ejecuta una
validación cruzada, con el método KFold con el objetivo de que tomen diferentes
muestras de entrenamiento, evitando un sobre ajuste del modelo y una precisión en
base al comportamiento de los datos enviados.
40
Al usar directamente KFold en toda la data, puede desencadenar en un problema de
sobreajuste puesto que las métricas de evaluación se sobre generalizan ajustando los
parámetros hasta que funcione de una manera óptima.
De acuerdo al problema planteado en este proyecto, se tiene un conjunto de datos
“pequeño” y muy diverso, en el cual no podemos inferir en una división aleatoria.
Como solución a este problema se presenta la figura 16, donde el conjunto de datos
es dividido en dos partes; una de entrenamiento y otra de pruebas con el objetivo de
poder extender los datos de prueba hasta una evaluación final.
El método KFold es aplicado en el conjunto de datos entrenamiento, para que
finalmente los parámetros obtenidos se prueben en una evaluación final con los datos
de prueba.
Figura 16. KFold en el conjunto entrenamiento. (Pedregosa, y otros, 2011)
El siguiente fragmento de código en Python, permite realizar lo explicado. Para cada
algoritmo incluido en modelos se realiza lo siguiente:
Con el método KFold proporcionado por sklearn, se establece que el conjunto
de datos de entrenamiento se divida en 10 particiones con una semilla de 7
que permitió dividir el mismo conjunto de datos para cada modelo.
El método cross_val_score permite obtener el MSE, asignado a scoring de
cada partición entrenada de acuerdo a los parámetros de kfold.
Estos valores se van almacenado para cada modelo.
41
Figura 17. Funcionamiento de KFold. (Elaboración propia)
Para probar si el número de particiones de los datos infería en los resultados, se
realiza el procedimiento anterior con KFold=5 y KFold=10.
Una vez que todos los modelos fueron comprobados, se promedió los MSE para
obtener un solo valor por cada modelo.
Tabla 15. Resultados con diferentes particiones en KFold. (Elaboración propia)
KFold=5 KFold=10
Graficando los resultados obtenidos se obtiene para kFold = 10
42
Figura 18.Comparación de resultados entre algoritmos. (Elaboración propia)
Como se puede observar no hubo diferencias en los resultados obtenidos por las
diferentes particiones establecidas. En ambos casos, el algoritmo de regresión lineal
junto con el algoritmo de RandomForest y KNeighbors son los modelos que devuelven
un valor cuadrático bajo. El motivo del porque devuelve valores negativos, es por el
funcionamiento de la librería utilizada.
Con el objetivo de obtener los mejores resultados de cada modelo, se ajustó un
conjunto de datos pertenecientes a los hiperparámetros de cada modelo, para obtener
un modelo final en base al que mejor precisión devuelve.
Random Forest.
Aplicando nuevamente la validación cruzada, por cada partición se envió a comparar
cada una de los siguientes hiperparámetros.
Tabla 16. Diferentes valores para cada parámetro de RF. (Elaboración propia)
Hiperparámetro Valores
bootstrap True
max_depth 80,90,100,110
max_features 2,3
min_samples_split 8,10,12
n_estimators 100,200,300
43
KNeighbors
Tabla 17. Diferentes valores para n_neighbors. (Elaboración propia)
Hiperparámetro Valores
n_neighbors ([1,3,5,7,9,11,13,15,17,19,21]
La función que permitió encontrar los mejores parámetros para los diferentes
estimadores fue gridSearchCV.
Está función recibe como parámetros, el modelo al que se le pretende ajustar, los
parámetros previos designados y se le establece que realice una validación cruzada
para cada ejecución de conjunto de parámetros. Finalmente, se le ajustan los datos
donde debe realizar cada iteración.
Figura 19. Funcionamiento de GridSearchCV.(Elaboración propia)
Después de un costo computacional elevado, los siguientes valores fueron devueltos
con los cuales se ajustaron al modelo.
Tabla 18.Valores que mejoran el modelo. (Elaboración propia)
Hiperparámetro Valor
bootstrap True
max_depth 80
max_features 3
44
min_samples_split 12
n_estimators 300
El mismo procedimiento se realiza para el modelo de KNeighbors.
Donde el mejor resultado obtenido es con n_neighbors=17
El proceso de ajuste de hiperparámetros para el modelo de regresión lineal no se lo
realiza, puesto que la función no tiene datos puntuales para establecerlos. Una vez
ajustados los modelos se predicen lo datos de prueba en base al algoritmo ajustado.
Se ajusta el modelo a los datos de entrenamiento y se obtiene el error cuadrático
medio y el R2.
4.3.5. Evaluación
Tabla 19. Resultados obtenidos por cada modelo. (Elaboración propia)
RandomForestReggresor LinearRegression KNeighborsRegressor
MSE 22.90 1.46e+25 24.51
𝐑𝟐 0.44216302 -3.56e-23 0.40
El modelo de regresión lineal obtuvo resultados diferentes a los otros dos modelos,
pese a que fue el modelo que menor MSE obtuvo y era el principal candidato para
escogerlo como mejor modelo.
El algoritmo de KNeighbors devuelve una precisión más baja y un error cuadrático
medio más algo que el de RandomForest.
Por las razones anteriores se escogió como modelo que mejor se ajuste a los datos al
algoritmo de RandomForest.
Se llega a concluir un valor que determinará el tiempo restante de vida, en base a la
información limitante por la empresa. Se cumplen con los objetivos por lo que el
modelo se lleva a su despliegue.
45
4.3.6. Despliegue.
Se crea una aplicación web con la siguiente arquitectura
Spyder como IDE
Python como lenguaje de programación
Flask como Framework Web
Boostrap como Framework CSS
Figura 20. Arquitectura seleccionada. (Elaboración propia)
46
a) Funcionamiento principal
Figura 21.Pantalla principal. (Elaboración propia)
La Figura 21 muestra la pantalla de inicio con la que el usuario va a interacturar para el
ingreso de datos y la obtencion de alertas en relacion a las unidades que tienen un
componente que esta prximo a fallar.
Las alertas se generan al momento de iniciar el sistema y dependiendo con la fecha
actual, iran advertiendo las mas cercanas a la fecha rotuladass de color rojo, mientras
que las que aún estan a tiempo son rotuladas de color azul.
Es una manera intuitiva de mostrar el tiempo restante en que una unidad puede
acercarse por motivos de fallo.
Al momento que una alerta haya llegado a la fecha, desaparecerá de la interfaz del
usuario, para que le permite un mejor control.
47
b) Ingreso de datos
El funcionamiento principal del ingreso de datos es seguir adviertiendo de los nuevos
componentes el tiempo de vida útil que tendrán.
Es posible que un mismo registro, se requiera el ingreso de varios componentes
reemplazados la misma fecha. Es por eso que el usuario tiene la opcion de ir
agregando varios componentes.
c) Desarrollo
El proyecto queda divido bajo la siguiente estructura, mostrada en la Figura 22:
Figura 22. Estructura del proyecto. (Elaboración propia)
Las carpetas templates y static que sirven para redireccionar a las vistas.
Para poder guardar el modelo ya entrenado con los parámetros establecidos, se
guarda en un archivo denominado model.pkl. Este tipo de archivo se creo gracias al
modulo pickle que permite la serializacion y deserializacion de objetos en python.
El archivo app.py es el controlador entre los datos persistentes y las vistas.
El archivo model_columns.pkl almacena todos los códigos pertenecientes a unidades,
código de componente y motivo. Esta acción se realiza puesto que, al ingresar un
componente no registrado, al momento de realizar la predicción se obtiene un error.
El archivo inserción.csv funciona para poder persistir los datos de los componentes
nuevos ingresados.
En la Figura 23 se muestra como inicializar la aplicación en Flask.
48
Figura 23. Levantamiento de la aplicación en el servidor web (Elaboración propia)
Método para predecir nuevos valores
El procedimiento para el usuario pueda predecir nuevos valores es:
Se lee los componentes persistidos en el archivo .csv
Se formatea los atributos a tipo string, puesto que es la estructura que acepta
el modelo.
Capturados los datos de ingreso, estos son transformados a sus variables
ficticias pertenecientes.
Como datos de entrega debe ingresar la matriz completa de variables ficticias,
es por eso que los componentes no registrados se los rellenan de cero
Los datos están listos para mandar a predecir
Una vez obtenido el valor estimado, este es persistido en el archivo csv.
Método para mostrar los valores estimados
Para que los datos puedan ser mostrados en pantalla, se obtiene del archivo
persistente todos sus valores.
Se calcula la fecha actual y se compara con la numero de semanas estimado.
Se realiza el cálculo pertinente y compara si la fecha actual está próxima a
alguna fecha estimada, para poder generar una alerta llamativa.
Se realiza una comparación en el compara si la fecha actual coincide con la
estimada para poder eliminar el registro de la base.
En la pestaña de mantenimiento se muestran los cambios reales que las unidades de
las diferentes marcas están realizando, pudiendo interpretarlo como el mantenimiento
preventivo real que las unidades están siguiendo.
Como se puede observar en las siguientes figuras, el kilometraje real en el que se
están cambiando los componentes versus el recomendado por fabrica.
La figura 24 es el resultado del promedio en cada componente de todas las unidades
pertenecientes a la marca Hino AK.
49
Figura 24. Comportamiento real del modelo Hino AK vs el recomendado. (Elaboración
propia).
La figura 25 es el resultado promedio en cada uno de los componentes pertenecientes
a esta marca de todas las unidades pertenecientes a la marca Hino FG.
Figura 25.Comportamiento real de un modelo Hino FG. (Elaboración propia)
La figura 26 es el resultado del comportamiento promedio en cada uno de los
componentes entre todas las unidades pertenecientes a la marca Mercedes Benz.
50
Figura 26.Comportamiento real de un modelo Mercedes Benz. (Elaboración propia).
51
CONCLUSIONES
El resultado de esta tesis es el desarrollo de un modelo predictivo de fallas
para las unidades de una empresa de transporte y la implementación de dicho
modelo en una aplicación web.
Referente al desarrolló del modelo predictivo de fallas, Random Forest fue el
que mejor resultados proporcionó en base a los registros históricos de la
empresa. Es posible que la precisión obtenida del modelo final dependa de la
cantidad de datos con los que se trabajó. El intervalo de tiempo analizado fue
muy corto para algunos componentes los cuales por naturaleza no registran
cambios constantes. Estas restricciones se vieron reflejadas en las
estimaciones obtenidas, los componentes más habituales de reemplazo
tomaron valores cercanos a los reales, mientras que los componentes que no
registraron muchos datos tomaron valores incoherentes. Pese a que el tipo de
información fue limitada, se logró resultados aceptables.
Las diferentes técnicas de aprendizaje de máquina, desde las referentes a la
preparación de los datos hasta la comparación de diferentes modelos, fueron
de gran apoyo para mejorar el modelo considerablemente.
En base al desarrollo de la aplicación web se integró el modelo final con una
interfaz intuitiva que permite al usuario conocer las próximas fallas propensas a
surgir, dependiendo de los datos ingresados en el algoritmo. La salida se
presenta en notificaciones detalladas que van apareciendo de acuerdo con los
nuevos datos ingresados y su permanencia en pantalla depende del tiempo de
falla restante. La implementación de la arquitectura para obtener un producto
final manejable por un usuario se logró gracias al enfoque que Python ofrece,
centrar al programador hacia el objetivo del negocio.
En el proceso de desarrollo del modelo se encontró el plan de mantenimiento
real que las unidades de las diferentes marcas están realizando. Este proceso
formó parte de la clasificación del estado de falla de los componentes, por lo
que los resultados fueron tomados para realizar una comparación con la
información recomendada. Esta información se representó en forma de gráficos
permitiendo una visión general del comportamiento real de las unidades.
52
RECOMENDACIONES
Al hablar de un sistema mecánico hace referencia a un sistema bastante
complejo por todos los componentes relacionales que existen entre sí. A pesar
de que se analizaron componentes pertenecientes a un mantenimiento
preventivo, es posible que otro tipo de información se vea involucrada para la
predicción de un fallo. Un siguiente estudio podría realizarse la inclusión de
componentes que pertenecen a un mantenimiento correctivo involucrando la
relación de los subsistemas de la máquina. Claro esta que para poder realizarlo
se necesita un amplio registro de datos en un tiempo considerado.
Muchas de las empresas prestadoras de servicio incluyen en su motor
sensores que permiten medir con exactitud el funcionamiento de la máquina. El
problema es que muchos de los empresarios dedicados a este oficio, no le dan
la importancia necesaria al almacenar este tipo de información, que puede
estar escondiendo un conocimiento inesperado. Estos datos pueden ser
incluidos para alimentar a la solución del problema planteado en este proyecto
y así obtener un resultado ya no en base en aproximaciones sino en base a
datos reales.
53
REFERENCIAS BIBLIOGRÁFICAS
Awad, M., & Khanna, R. (2015). Machine Learning. En Efficient Learning Machines
(págs. 1-18). Berkeley CA: Apress.
Berrar, D. (Diciembre de 2017). ResearchGate. Obtenido de Cross-Validation:
https://www.researchgate.net/publication/324701535_Cross-Validation
Breiman, L. (2001). Random Forest. Machine Learning, 45, 5-32.
Bronshtein, A. (17 de Mayo de 2017). Towards Data Science. Obtenido de Train/Test
Split and Cross Validation in Python: https://towardsdatascience.com/train-test-
split-and-cross-validation-in-python-80b61beca4b6
Calders, T., & Custers, B. (2012). What is data mining and how does it work? En
Discrimination and Privacy in the Information Society (pág. 42). Italia: Springer.
Erazo, D., & Martinez, N. (Abril de 2012). Programa de mantenimiento para la flota de
unidades de transporte Condores del Valle y diseño de la planta de su taller
automotriz. Obtenido de bibdigital.epn.edu.ec:
https://bibdigital.epn.edu.ec/bitstream/15000/4634/1/CD-
4266.pdfhttps://bibdigital.epn.edu.ec/bitstream/15000/4634/1/CD-4266.pdf
Fayyad, U., Piatetsky-Shapiro, G., & Smyth, P. (1996). From Data Mining to knowledge
discovery in Databases. AI Magazine, 37-54.
Galarnyk, M. (12 de Diciembre de 2018). Towards Data Science. Obtenido de
Understanding Boxplots: https://towardsdatascience.com/understanding-
boxplots-5e2df7bcbd51
Granja, D. N. (octubre de 2014). Análisis de los daños más frecuentes causados por la
diferencia entre el mantenimiento realizado en los autobuses mercedes benz
del recomendado por el fabricante. Obtenido de bibdigital.epn.edu.ec:
https://bibdigital.epn.edu.ec/bitstream/15000/8715/3/CD-5853.pdf
Han, J., & Kamber, M. (2006). Data Mining: Concepts and Techniques. USA: Elsevier.
Han, J., Kamber, M., & Pei, J. (2012). Data Mining. Concepts and Techniques. USA:
Elsevier.
Kumar, S. k. (Octubre de 2019). Python Basick Books using Pycharm (Working on ...).
Obtenido de ResearchGate:
54
https://www.researchgate.net/publication/336829680_Python_Basic_Books_usi
ng_Pycharm_Working_on
Luis, O. J. (2013). Análisis de fallas: fundamentos y aplicaciones en componentes
mecánicos. Argentina: Eudem.
Osorio, C. G. (Mayo de 2019). ResearchGate. Obtenido de Metodologías de desarrollo
de proyectos de minería de datos - Una visión centrada en CRISP-DM:
https://www.researchgate.net/publication/333339261_Metodologias_de_desarr
ollo_de_proyectos_de_mineria_de_datos_-_Una_vision_centrada_en_CRISP-
DM
Pedregosa, F., Varoquaux , G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., . . .
Duchesnay, E. (2011). Scikit-learn: Machine Learning in Python. JMLR12,
2825-2830.
Piatetsky, G. (noviembre de 2014). KDnuggets. Obtenido de
https://www.kdnuggets.com/2014/10/crisp-dm-top-methodology-analytics-data-
mining-data-science-projects.html
Santos, M., & Azevedo, A. (Diciembre de 2007). Researchgate. Obtenido de KDD,
semma and CRISP-DM: A parallel overview:
https://www.researchgate.net/publication/220969845_KDD_semma_and_CRIS
P-DM_A_parallel_overview
Urbano, C., & Yuni, J. (2009). Técnicas para investigar vol.3:análisis de datos y
redacción científica. Argentina: Editorial Brujas.
Webb, G. I. (2010). Overfitting. En C. Sammut, & G. I. Webb, Encyclopedia of Machine
Learning. (2010 ed., pág. 744). Berlin: Springer.
Wu, X., Kumar, V., Quinlan, J., Ghosh , J., Yang, Q., Motoda, H., . . . Steinberg, D.
(2008). Top 10 algorithms in data mining. Knowl Inf Syst, 14, 1-37.
55
ANEXOS
1
Anexo A
Mantenimiento recomendado para un bus marca Mercedes Benz.
BAREMO DE MANTENIMIENTO PARA CHASIS OF 1723
DETALLE DE ACTIVIDADES
TIPO KM *1000
MANO DE OBRA Horas
1 Cambio de Aceite de Motor + Filtro M 0,8 7,5
2 Cambio de aceite de Caja de cambios M 0,6 9
3 Cambio aceite de eje trasero(diferencial) M 0,5 45
4 Cambio de aceite dirección hidráulica M 0,4 90
5 Lubricación de Pines de los principales arboles de accionamiento de las zapatas de freno delantero + trasero. M 0,2 7,5
6 Lubricación de las conexiones universales de los árboles de transmisión. M 0,1 7,5
7 Lubricación de rodamiento del eje de la polea tensora de la cinta de ventilación. M 0,1 7,5
8 Comprobar la proporción del agente anticorrosivo y/o anticongelante. M 0 7,5
9 Comprobar el nivel de aceite de la dirección hidráulica M 0 7,5
10 Comprobar el nivel de líquido limpia parabrisas M 0 7,5
11 Verificar la estanqueidad de todos los agregados (motor, caja de cambios automática, retardador, ejes de M 0 7,5
2
tracción y caja direccional)
12 Verificar la estanqueidad y estado de todas las tuberías de aceite, mangueras, tubos flexibles, conectores
eléctricos y cables eléctricos de los sensores.
M 0 7,5
13 Verificar la estanqueidad y estado de los depósitos, componentes neumáticos, componentes hidráulicos
(bomba de dirección), amortiguadores de la suspensión delantera y trasera, guarda polvos y campanas.
M 0 7,5
14 Verificar la estanqueidad y estado sistema de admisión desde el tubo de admisión entre filtro de aire y motor M 0 7,5
15 Verificar la estanqueidad y estado del sistema de refrigeración y calefacción: Verificar estado del radiador, de
las tuberías y tubos flexibles
M 0 7,5
16 Cambio de Pre filtro de combustible con separador de agua(cambio de elemento filtrante) M 0,2 7,5
17 Cambio del filtro primario de combustible M 0,2 7,5
18 Examinar el estado de cintas en V de accionamiento del ventilador (De ser necesario ajustar la tensión de las
cintas o proceder al remplazo de las mismas) nota: no incluye el remplazo de las cintas
M 0 7,5
19 Cambio de Grasa y verificar los rodamientos además de regular la holgura axial de las ruedas del eje delantero M 1,8 45
20 Cambio de Grasa y verificar los rodamientos además de regular la holgura axial de los cubos de las ruedas del
eje de arrastro
M 1,8 45
21 Verificar holgura y desgaste de las crucetas, del guante deslizante y rodamiento interno del árbol de
transmisión.
M 0 7,5
3
23 Sistema de Freno (frenos a tambor): Verificar el desgaste de las lonas de freno de ser necesario realice el
cambio nota: no incluye el cambio de forros de zapatas.
M 0,4 7,5
24 Comprobar el funcionamiento del regulador automático de freno (sistemas de freno a tambor) M 0 7,5
25 Drenar el agua condesada del depósito neumático de almacenamiento. M 0 7,5
26 Verificar la holgura del selector, el estado y la holgura del mecanismo y los terminales del sistema de dirección M 0 7,5
27 Verificar la fijación de los amortiguadores de las suspensiones de los ejes delantero y trasero M 0 7,5
28 Verificar estado de los soportes de la suspensión delantera y trasera M 0 7,5
29 Verificar el apriete de tuercas y tornillos y reapretar en caso de ser necesario la suspensión del motor y de la
caja de cambios, fijaciones de las barras estabilizadoras delanteras y traseras, fijación de las barras tensoras de
los ejes delantero y trasero
Z2 0,2 15
30 Verificar el funcionamiento del Freno-moto. Z4 1,5 30
31 Inspección visual en cuanto a daños en los muelles de la suspensión neumática Z4 0,3 30
32 Verificar la estanqueidad, el estado de conductos y la fijación del sistema de escape Z4 0,1 30
33 Radiadores de aire verificar estado en cuanto a daños físicos así como en la obstrucción del flujo de aire Z4 0,1 30
34 Radiador de sistema de refrigeración verificar estado físico así con la estanqueidad del liquido Z4 0,1 30
35 Limpieza de la rejilla del depósito de combustible Z4 0,3 30
36 Comprobar la alineación de los faros y regular de ser necesario Z4 0,3 30
37 Cambiar el cartucho de elemento granulado del secador de aire comprimido J1 0,7 30
4
38 Limpiar e inspeccionar condensador y separador Haldex J1 1,5 45
39 Cambio de filtro de aire primario J2 0,2 15
40 Cambio de filtro de aire secundario J2 0,1 30
41 Cambio de Líquido Refrigerante J3 0,6 75
42 Calibración de válvulas de Motor V4 1,1 30
5
Mantenimiento recomendado para una marca Hino AK y FG.
A: chequee y ajuste si es necesario I: inspecciones, limpie y corrija o reemplace según sea necesario L:lubrique R: reemplace o cambie T: ajuste al torque
especificado
KM: 5 1
0
1
5
2
0
2
5
3
0
3
5
4
0
4
5
5
0
6
0
9
0
12
0
MESES(CAD
A)
KM*100
0
MOTOR
Holgura de la válvula A - 60
Mangueras de caucho para las líneas de aire e hidráulicas
(Compresor de aire)
R:24 240
Tensión de la correa de transmisión I: cada 24000 km - 24
SISTEMA DE COMBUSTIBLE
Filtro de combustible R 6 20
Colador de la bomba de alimentación de combustible I 12 20
Manguera de combustible R:48 480
Presión de la boquilla de inyección de combustible I - 50
SISTEMA DE LUBRICACIÓN
Aceite de motor y filtro de aceite Con aceite de
motor genuino
de Hino
R 6 20
6
Con aceite de
motor no
genuino
R 2 10
SISTEMA DE ENFRIAMIENTO
Funcionamiento de la tapa del radiador A - 60
Refrigerante(Concentración 50%) Tipo rosa R: Cada 600000 36 360
Tipo azul R: Cada 800000km 48 800
Manguera de caucho para el radiador A 12 60
SISTEMA DE ENTRADA DE AIRE Y ESCAPE
Depurador(filtro de aire) A R I:2 50
Ajuste de cada parte de la admisión y del escape I I:24 60
Operación del rotor del turbocargador I 24 60
Adosamientos del tubo de escape y del silenciador flojos y dañados A A:3 15
Función del silenciador A A:12 60
Manguera de caucho para el interenfriador A - 60
EMBRAGUE
Líquido del embrague R:12 120
Booster del embrague R:12 120
Desgaste del revestimiento del embrague A:12 120
TRANSMISIÓN
7
Aceite de los engranajes de la transmisión R R:6 30
Nivel del aceite de los engranajes de la transmisión A - 5
Colador de aceite de los engranajes de la transmisión I I:6 30
Juego del varillaje de control de la transmisión A - 60
Respirador de la transmisión¿? I - 30
Manguera de caucho para el enfriamiento de la transmisión y
sistema de lubricación forzada
R:24 240
EJE PROPULSOR
Deflexión del eje propulsor A 12 30
Juego de la ranura del eje propulsor y de la junta universal A 12 30
Soporte del rodamiento central del eje propulsor A - 60
Daño del retenedor de la ranura deslizante y el rodamiento central I - 60
Ajuste del yugo de la brida del eje propulsor y de los pernos de
montaje del rodamiento central
T - 30
EJE FRONTAL
Daños, desgaste y apriete de las partes del eje A 24 60
Alineación de las ruedas A 12 60
Daños de los forros contra el polvo de las juntas de bola de la barra
de acoplamiento
A - 15
EJE POSTERIOR
8
Aceite de engranajes del diferencial R A:1 R:6 30
Nivel de aceite de los engranajes del diferencial I - 5
Ajuste de los pernos de montaje del semieje T - 30
Torceduras y roturas(grietas) del semieje I 12 60
Respirador de la coraza del eje I 6 60
Roturas de la coraza del eje, deformación y daño I 12 60
DIRECCIÓN
Ajuste de los pernos de montaje de la caja de los engranajes de la
dirección y de las conexiones (varillaje)
A 12 60
Estrías y junta universal del eje de la dirección L 2 5
Juego, aflojamiento y daño del eje de la dirección y rótula de la
barra de la dirección
A - 15
DIRECCIÓN HIDRÁULICA
Ajuste de las partes de instalación de la dirección hidráulica A 12 60
Colador del tanque de reserva de la dirección hidráulica y elemento
de filtro
I I:12 60
Líquido de la servodirección R 12 60
Partes de goma de la servodirección R:48 480
Manguera de goma de la servodirección Baja presión R:48 480
Alta presión R:24 240
9
FRENO DE SERVICIO(pedal)
Partes internas del tambor del freno y del freno de rueda I 12 60
Recorrido de la varilla de la cámara del freno(Con ajustador de
tensión manual)
A - 5
Recorrido de la varilla de la cámara del freno(Con ajustador de
tensión automática)
A - 40
Juego del ajustador de tensión(Frontal & posterior) A:12 120
Desgaste del revestimiento(Espesor)[revestimiento de las zapatas
del freno]
A - 15
Funcionamiento de la válvula del freno, válvula de relevo, válvula de
liberación rápida y cámara del freno
A A:12 60
Funcionamiento del secador de aire A R A:3 R:12 60
Mangueras de caucho para las líneas de aire R:24 240
Mangueras del freno y tubo de drenaje, daño y conexiones flojas A R A:12 R:24 240
Diafragma de la cámara del freno R:24 240
FRENO DE PARQUEO DE LA RUEDA(freno de mano)
Daño y desgaste del tubo de aire A - 5
Válvula de control y funcionamiento de la válvula de relevo A:12 120
Partes de caucho para la válvula de aire(Válvula de control del freno
de parqueo)
R:24 240
10
Cámara del freno del resorte posterior(Piggyback) R:36 360
Diafragma de la cámara del freno R:24 240
RUEDA Y NEUMÁTICO
Condición de acoplamiento del rodamiento de la rueda frontal
(Cudo de la rueda del torque de giro y pista externa del rodamiento,
tuerca de seguridad) posterior (torque de giro)
I 12 60
Disco de la rueda y daño del aro lateral del rim A 1 5
Posición de los neumáticos R 1 5
SUSPENSIÓN
Flojedad, juego libre excesivo o daños de montaje o de unión de la
suspensión (resorte de láminas, amortiguador)
A 3 5
Función y daños del amortiguador A 3 5
Apriete del perno en U y de la banda de resorte A - 5
Apriete de la ménsula del resorte A 3 30
OTROS
Manguera de caucho para el medidor de presión de aire R:48 480
ENGRASE
Grasa de chasis 5
Grasa de rodamiento 5
1
Anexo B
CODIGO PRODUCTO UNIDAD COSTO
PARA
SOCIOS
101 ACEITE RALOY 15W40 CANECA CANECA 0
102 ACEITE RALOY 80W90 GALÓN 12
103 ACEITE MOVIL 80W90 GALÓN 20
104 ACEITE RALOY 85W140 GALÓN 12
105 ACEITE MOVIL 85W140 GALÓN 20
109 FILTRO DE ACEITE HINO DONALSON P552050 UNIDAD 15
112 FILTRO DE ACEITE MERCEDES BENZ TECFIL PSL301 UNIDAD 10
117 FILTRO DE AIRE FG PRIMARIO DONALSON P902384 UNIDAD 34
125 FILTRO DE COMBUSTIBLE TECFIL PSD460/1 UNIDAD 10
130 FILTRO DE ACEITE HINO SHOGUN UNIDAD 10
133 ACEITE MOVIL 15W40 super 1300 CANECA 90
134 FILTRO DE ACEITE HINO SAMURAY UNIDAD 10
137 ZAPATAS DE CARBON 9000. D - ISUZU FTR POSTERIORES JUEGO
138 ZAPATAS DE ASBESTO 9204. D - HINO FG FRONTALES JUEGO 66
140 ZAPATAS DE ASBESTO 9204. X D JUEGO 70
141 ZAPATAS DE ASBESTO 9035. X D JUEGO 75
147 ZAPATAS DE ASBESTO 4705 X D - VW FRONT JUEGO 60
159 REFRIGERANTE VERDE GALON 3,5
166 FILTROS DE COMBUSTIBLE PRIMARIO PARA EL HINO AK
SHOGUN
UNIDAD 10
167 FILTRO DE COMBUSTIBLE SECUNDARIO PARA EL HINO AK
SHOGUN
UNIDAD 10
172 ZAPATAS DE CARBON Q5520 8 1/2 H - HINO POSTERIOR JUEGO
173 ZAPATAS INCOLBEST XD FRONTAL - HINO JUEGO 65
174 ZAPATAS DE CARBON 9204 X D-HINO FRONTAL FILO DORADO JUEGO
175 ZAPATAS DE CARBON Q9006 XH -HINO FRONTAL JUEGO 60
177 GRASA SKF KG 18
179 FILTRO DE AIRE PRIMARIO A1325 SHOGUN - HINO FG UNIDAD 25
180 FILTRO DE AIRE SECUNDARIO A1330 SHOGUN - HINO FG UNIDAD 12
181 FILTRO DE AIRE PRIMARIO A1313 SHOGUN - HINO AK UNIDAD 25
12
182 FILTRO DE AIRE SECUNDARIO A1307 SHOGUN - HINO AK UNIDAD 14
183 FILTRO DE COMBUSTIBLE PRIMARIO SFC 1901 SHOGUN -
HINO FG
UNIDAD 10
185 FILTRO DE ACEITE PSL339 - VOLKSWAGEN UNIDAD 10
187 FILTRO DE ACEITE C721 SHOGUN - CHEVROLET FTR UNIDAD 13
188 FILTRO DE COMBUSTIBLE PRIMARIO F1507 SHOGUN -
CHEVROLET FTR
UNIDAD 5
189 FILTRO DE COMBUSTIBLE SECUNDARIO FC1503 SHOGUN -
CHEVROLET FTR
UNIDAD 5
191 REFRIGERANTE VERDE SUPER 2000 UNIDAD 3,5
192 KENDALL 15W40 CANECA UNIDAD 75
193 ACEITE ATF KENDALL CLASIC UNIDAD 5,5
195 ZAPATAS 9204 D- HINO FRONTAL CARBON FILO DORADO JUEGOS
196 ZAPATAS AB 1017 XD - HINO FRONTAL JUEGOS 65
197 ZAPATAS FILO ASUL X D - HINO POSTERIOR JUEGOS 48
198 ZAPATA 9035 XD FILO DORADO - HINO POSTERIOR 1X JUEGOS 70
267 ZAPATA IFRISA ASBESTO Q 5520 8 1/2 X 5/8 H - HINO POST JUEGO
268 ZAPATA IFRISA ASBESTO Q 5520 8 1/2X 11/16 H - HINO POST JUEGO
308 GRASA DE CHASIS PREMIUM AZUL KG 7
318 REGRIGENRANTE FREEZETONE - GALON GRIS UNIDAD 3,5
319 FILT DE AIRE ISUZU FTR - SHOGUN UNIDAD 28
323 FILT DE COMBUSTIBLE TECFIL PSC84 UNIDAD 8
324 REFRIGENTANTE FREEZETONE - GALON AMARILLO UNIDAD 3,5
357 ZAPATA IMFRISA ASBESTO Q9006 5/8 - HINO FRONTAL JUEGO 60
360 ACEITE RALOY 20W50 CANECA 68
361 ZAPATAS POST HINO - 9035 D FILO DORADO JUEGO 70
405 ZAPATA DE CARBON FX 4710 XX D - VW 17-210 UNIDAD 94
424 GRASA GULF CROWN EP-2 LIBRA 4
472 FILTRO DE COMBUSTIBLE FAISSA FSC UNIDAD 0
473 ACEITE PENZOIL 15W40 CANECA CANECA 80
478 FILTRO COMBUSTIBLE HINO FG SHOGUN GOLD UNIDAD 5
479 REFRIGERANTE FLEET CHARGE 50/50 GALÓN 13,5
482 AMALIE 15W40 CANECA CANECA 75
13
483 RETENEDOR POSTERIOR interior HINO ORIGINAL anillo UNIDAD
484 RETENEDOR POSTERIOR EXTERIOR HINO ORIGINAL UNIDAD 14
507 ZAPATA FRONTAL HINO CARBON XD FILO DORADO 9204 XD JUEGO
520 ACEITE AMALIE 15W40 GALON UNIDAD 20
527 GRASA SKF 3/5 TARRO
GRANDE
78,00
555 ACEITE KENDAL 15W40 GALÓN 20,00
577 VALVODIES SAE15W40 GALON GALÓN 15,00