Full text
UNIVERSIDAD COMPLUTENSE DE MADRID FACULTAD DE CIENCIAS MATEM ´ ATICAS DEPARTAMENTO DE SISTEMAS INFORM´ ATICOS Y COMPUTACI ´ ON TRABAJO DE FIN DE GRADO Mantenimiento Predictivo Machine Learning para la detecci´on automatizada de fallos Supervisor: Carlos Gregorio Rodr´ıguez Diego Jos´e S´anchez Mart´ın Doble Grado en Matem´aticas y F´ısica Curso acad´emico 2020-21 Convocatoria: Junio
Agradecimientos Se atribuye a Walt Disney la frase “Los grandes logros de cualquier persona generalmente dependen de muchas manos, corazones y mentes”. Independientemente de qui´en fuera el autor real de esta sentencia, me gustar´ıa empezar esta memoria agradeciendo a aquellos que me han ayudado con su trabajo, ´animo y sabidur´ıa a llegar hasta aqu´ı: apenas a un paso de graduarme en Matem´aticas. Sin un orden particular, gracias: A Carlos, tutor de este trabajo. Gracias por aceptarme como alumno cuando no ten´ıas pensado dirigir TFGs este curso, por saber conjugar palabras de aliento y correcciones, por la paciencia cuando ha hecho falta. A mis profesores en colegio, instituto y universidad. Menci´on especial merecen Hermelinda, que convirti´o mi potencialidad en acto; Juan Carlos, que me abri´o el camino a las “matem´aticas de verdad” a trav´es del Concurso de Primavera; y David, que con su pasi´on termin´o de transformar mi afici´on por la Ciencia en vocaci´on. A mis padres, que me ense˜naron los n´umeros jugando a las cartas, con las matr´ıculas de los coches y con lo que hiciera falta. En aquel momento no era consciente, pero una semilla empezaba a crecer. Gracias por guiar mis decisiones y, sobre todo, por ser siempre un ejemplo a seguir. A mis compa˜neros de fatigas en estos a˜nos. Enfrentarse a Galois y asociados es mucho m´as f´acil con Ricardo, Laura, Jaime, Arturo y Ramonda de mi lado. A Natalia, por ser mucho m´as que editora y correctora de estilo experta. Siendo sinceros, si no hay dos erratas por p´agina en lo que sigue, es gracias a ti. 1
Mantenimiento predictivo Machine Learning para la detecci´on automatizada de fallos Resumen: Este Trabajo de Fin de Grado ha consistido en la resoluci´on de un problema de mantenimiento predictivo a partir de un conjunto de datos reales proporcionados por la marca de camiones Scania. El objetivo que se persigue es minimizar una cierta funci´on de coste que pondera de forma desigual los errores cometidos en la predicci´on de la aparici´on de fallos en los camiones seg´un estos sean falsos positivos o falsos negativos. Algunas de las particularidades del conjunto de datos disponibles es que est´an etiquetados pero no balanceados y, adem´as, existe en ellos una gran cantidad de errores de medici´on. Por este motivo, se han aplicado sobre los datos diversas t´ecnicas de filtrado e imputaci´on. A continuaci´on, se han efectuado predicciones mediante distintos algoritmos de machine learning. Se ha escogido de entre ellos Random Forest por su rendimiento superior y se ha afinado para alcanzar el mejor resultado posible, tomando en todo momento como m´etrica la funci´on de coste anteriormente mencionada. Finalmente, los resultados obtenidos han sido comparados con aquellos alcanzados sobre el mismo problema por parte de varios investigadores. Abstract: This Final Thesis has consisted in the solution of a predictive maintenance problem using a real-world dataset supplied by Scania, a lorry manufacturer company. The goal to pursue is to minimize a certain cost function that weighs differently prediction mistakes depending on whether they are false positives of false negatives. Some of the peculiarities of the available dataset are that data are classified but unbalanced and there is a considerable amount of measurement errors. For this reason, several filtering and imputing techniques have been applied over the data. Then, predictions have been made with different machine learning algorithms. Amongst them, Random Forest has been selected because of its superior performance. It has been refined to obtain the best possible result taking as metric the aforementioned cost function. Finally, our results have been compared to those achieved on the same problem by several researchers. 2
´ Indice Agradecimientos 1 1. Introducci´on 4 1.1. Mantenimiento predictivo: marco te´orico. ............ 4 1.2. Caso de estudio .......................... 7 1.3. Estructura de la memoria .................... 8 2. Objetivos 9 3. Metodolog´ıa 9 3.1. Herramientas inform´aticas .................... 9 4. Desarrollo 10 4.1. Estudio preliminar de los datos disponibles ........... 10 4.1.1. Datos etiquetados, pero con una distribuci´on no ideal . 10 4.1.2. Variables no conocidas .................. 10 4.1.3. Presencia de valores NaN ................. 10 4.1.4. Organizaci´on en histogramas ............... 12 4.2. Predicci´on de resultados: primera iteraci´on ........... 14 4.2.1. Sustituci´on de los valores NaN .............. 14 4.2.2. Algoritmos de machine learning a emplear ....... 15 4.2.3. Resultados con diferentes combinaciones ........ 15 4.3. Afinado de modelo ........................ 18 4.3.1. Consistencia de Random Forest ............. 18 4.3.2. B´usqueda de par´ametros ´optimos ............ 19 4.3.3. An´alisis cualitativo .................... 20 4.3.4. Ajuste para el caso de estudio .............. 22 5. Resultados 25 5.1. ¿C´omo de bueno es el modelo obtenido? ............ 26 5.2. El papel de la funci´on de coste .................. 27 6. Conclusiones 28 Bibliograf´ıa 31 3
1. Introducci´on 1.1. Mantenimiento predictivo: marco te´orico. A la hora de idear un negocio basado en la producci´on a gran escala de un producto, la regla b´asica que determina el ´exito de dicho negocio es la diferencia entre beneficios y costes. As´ı, cuanto m´as positivo sea este n´umero, mejor. Es por ello que resulta de vital importancia saber qu´e factores afectar´an a un aumento de los costes. Algunos de los m´as transversales a todo tipo de industrias son el valor de las materias primas, los salarios de los trabajadores o la carga impositiva asociada a la actividad comercial. Otro coste muy a tener en cuenta es el derivado del mantenimiento del sistema de producci´on. Podr´ıa parecer que no es relevante comparado con los anteriormente mencionados. Sin embargo, L¨ofsten [19] estim´o que el gasto en mantenimiento supon´ıa entre el 15 % y el 40 % del total de los costes de producci´on, siendo esta horquilla fruto de los diferentes sectores industriales estudiados. Si bien es cierto que estas investigaciones tienen ya algo m´as de 20 a˜nos, el objetivo de este Trabajo de Fin de Grado (de ahora en adelante, TFG) no es cuantificar con exactitud los costes econ´omicos que acarrea el mantenimiento, sino estudiar maneras de reducirlos mediante el empleo de herramientas matem´aticas. Por ello, el trabajo de L¨ofsten es un punto de partida adecuado, pues muestra el inter´es que tiene para la industria una posible mejora en la eficiencia del mantenimiento. Existen tres grandes grupos dentro de los cuales pueden clasificarse los m´etodos de mantenimiento utilizados en la industria [29]. Estos son: Mantenimiento reactivo (en ingl´es, Run To Failure, normalmente abreviado a R2F). Consiste en la intervenci´on sobre la maquinaria una vez se ha producido un fallo de la misma. Su ventaja principal es la simplicidad, y por ello es empleado a menudo. Sin embargo, tambi´en entra˜na importantes riesgos, puesto que puede ocasionar tiempos de reparaci´on muy largos que mantengan la producci´on parada. Mantenimiento preventivo (en ingl´es, Preventive maintenance, normalmente abreviado a PvM). Se basa en un calendario de reparaciones o sustituci´on de piezas asociado a tiempo de uso o n´umero de iteraciones de un proceso. Mediante esta t´ecnica se suelen evitar la mayor´ıa de los fallos pero, al mismo tiempo, se reemplaza maquinaria que podr´ıa haber seguido funcionando, lo cual conlleva un uso ineficiente de los recursos. Mantenimiento predictivo (en ingl´es, Predictive maintenance, normalmente abreviado a PdM). Es el m´etodo tecnol´ogicamente m´as avanzado, sustentado en una evaluaci´on individualizada y en tiempo real del estado de cada m´aquina que participa de un proceso industrial con el fin de reparar los fallos de la misma antes de que estos se manifiesten en un mal funcionamiento. Aunque su puesta en marcha es cara en comparaci´on con los dos m´etodos anteriores, sus resultados son los mejores, maximizando la vida ´util de cada parte del sistema sobre el que se aplica. Ser´a el tipo de mantenimiento estudiado a lo largo del presente TFG. Con el fin de explicar de manera m´as clara las particularidades de cada uno de los tipos de mantenimiento enumerados quiz´as lo m´as adecuado sea hacer uso de un ejemplo. En aras de ser ilustrativo, se utilizar´a para ello una m´aquina bastante compleja pero que forma parte del d´ıa a d´ıa y es bien conocida por casi todos: el coche. Su mantenimiento puede llevarse a cabo de diversas formas que proceden a detallarse. 4
Una posibilidad es utilizar un coche sin seguir las indicaciones del fabricante en lo que respecta a mantenimiento. En cierto momento, aparecer´a alg´un problema de gravedad variable. Puede ser desde una luz fundida hasta una parada repentina del motor. Entonces, habr´a que solucionar la aver´ıa ya ocurrida, por lo que nos encontramos ante un caso de mantenimiento reactivo. Este ejemplo pone de manifiesto que el mantenimiento reactivo no est´a exento de riesgos: si el problema inadvertido en el veh´ıculo afectase a la direcci´on o a los frenos, las consecuencias para los ocupantes podr´ıan ser fatales. El mantenimiento preventivo est´a dise˜nado precisamente para evitar que se den este tipo de situaciones. Dentro del mismo podemos englobar acciones tan variadas como acudir a revisiones peri´odicas donde se sustituyen el aceite y el l´ıquido de frenos, pasar las ITVs correspondientes seg´un la antig¨uedad del veh´ıculo, cambiar los neum´aticos cada cierto n´umero de kil´ometros, etc. El objetivo de todas ellas es renovar las distintas piezas antes de que dejen de funcionar correctamente. Sin embargo, puede darse el caso de que se cambie una pieza que todav´ıa podr´ıa haber desempe˜nado su funci´on durante m´as tiempo. Por ´ultimo, el mantenimiento predictivo se dar´ıa si el coche fuera capaz de avisar de que alguno de sus componentes va a romperse antes de que esto ocurriera. Aunque el ordenador de a bordo de un veh´ıculo puede dar alarmas ante posibles fallos, estas suelen ser consecuencia de la lectura de un solo sensor. Un sistema de mantenimiento predictivo propiamente dicho deber´ıa integrar informaci´on procedente de varios sensores y compararla a trav´es de un algoritmo m´as o menos complejo con datos tomados de otros veh´ıculos en distintas situaciones para determinar si se va a producir un fallo. En este TFG se ver´a un ejemplo de un sistema de este tipo en camiones de la marca Scania. En general, la premisa de la que parte cualquier estrategia de mantenimiento predictivo [22] es que una monitorizaci´on regular del estado mec´anico, la eficiencia de operaci´on y otros indicadores de inter´es de un sistema industrial proporcionar´an los datos necesarios para asegurar un m´aximo intervalo de tiempo entre reparaciones. De esta manera, se conseguir´a minimizar la cantidad y el coste de posibles intervenciones imprevistas requeridas para solucionar fallos. Cabe destacar que esta monitorizaci´on requiere de la presencia de sensores espec´ıficos, no es suficiente con el seguimiento por parte del usuario, incluso aunque este posea conocimientos t´ecnicos acerca del sistema industrial en cuesti´on. Existen dos motivos principales para ello. Por un lado, los algoritmos que predicen la aparici´on de fallos funcionan mejor con una cantidad muy grande de datos, por lo que su rendimiento se optimiza si disponen de informaci´on en tiempo real y casi continua del estado de las m´aquinas. Que un operario dedicase la totalidad de su jornada laboral a revisar y transcribir par´ametros como temperatura o vibraci´on de una m´aquina ser´ıa muy ineficiente (y, adem´as, tremendamente aburrido, lo cual tambi´en viene a ser contraproducente [28]). Por otro lado, el desgaste de las piezas de un sistema industrial se produce normalmente en la parte interior de las mismas, ya que es ah´ı donde hay rozamientos o flujo de l´ıquidos [9]. Esto complica mucho su inspecci´on. En definitiva, la puesta en marcha del mantenimiento predictivo pasa por la incorporaci´on de sensores que automaticen la toma de datos. De esta forma, el mantenimiento predictivo excede las pretensiones de las estrategias R2F y PvM. Es un medio para mejorar la productividad, la calidad del producto y, en general, la eficiencia global de las plantas de producci´on. Utiliza informaci´on en tiempo real del estado de la planta para optimizar sus operaciones. Para lograr esto se vale de mediciones de todo tipo de sensores (algunos ejemplos son vibraci´on, temperatura, humedad...) que permiten conocer en detalle c´omo est´a funcionando un sistema de m´aquinas. Gracias a ello, no depende de las estad´ısticas respecto 5
a la vida ´util media de las piezas del sistema, sino que eval´ua la situaci´on particular de cada una. La ventaja principal que supone esta estrategia es que se eliminan casi por completo las aver´ıas de gran calado puesto que los peque˜nos fallos que, acumulados en el tiempo, las producir´ıan son detectados antes de que originen problemas graves. Siendo el mantenimiento predictivo la alternativa claramente mejor de entre los m´etodos mencionados, cabr´ıa preguntarse por qu´e no se aplica en todas las industrias. El motivo principal es que su puesta en funcionamiento requiere de un gran despliegue t´ecnico para la elecci´on y colocaci´on de sensores, lo cual es caro. Adem´as, para que sea efectivo, se requiere de la gesti´on de un enorme volumen de datos. Es aqu´ı donde entran en juego las Matem´aticas: se debe conseguir, en base a la informaci´on (generalmente cuantitativa) recogida por los sensores, ser capaces de predecir un fallo antes de que este ocurra. Para ello, se emplean diversas t´ecnicas [7] que se sirven de herramientas estad´ısticas, de modelizaci´on y de inteligencia artificial. Lo explicado anteriormente condiciona el tipo de industrias que pueden servirse de mantenimiento predictivo. Hasta ahora, las que han mostrado un mayor inter´es son aquellas que trabajan con productos tecnol´ogicamente complejos y de alto valor econ´omico. Muchas de ellas ya incorporaban sensores en sus productos y plantas de producci´on, por lo que la inversi´on inicial ha sido proporcionalmente menor. Adem´as, los potenciales fallos en sus sistemas productivos tendr´ıan consecuencias de gran coste, lo cual supone otro incentivo para innovar en sus estrategias de mantenimiento. Un ejemplo paradigm´atico de esto es el mantenimiento de aviones comerciales [1]. Cabe destacar que, en Espa˜na, una de las instituciones que ha desarrollado estrategias de mantenimiento predictivo en sus equipos es la Armada. Los buques con los que trabajan cumplen las dos condiciones clave para ser objeto de este tipo de mantenimiento: inclusi´on de tecnolog´ıa y alto valor econ´omico. As´ı, por ejemplo, en algunos de sus proyectos de los ´ultimos a˜nos han empleado inteligencia artificial para evitar desv´ıos de las rutas mar´ıtimas [23] y para detectar anomal´ıas en la propulsi´on de los motores navales [16]. De hecho, existen voces que abogan por una transformaci´on total del modelo productivo naval. En el III Congreso Nacional de I+D en Defensa y Seguridad, celebrado en 2015, se expuso [5] que la Log´ıstica Basada en Prestaciones (por sus siglas en ingl´es, PBL) deb´ıa ser adoptada en la Armada. El modelo PBL, que comenz´o en la Marina de Estados Unidos en los a˜nos 90 y ya ha sido adoptado por otros pa´ıses de nuestro entorno, consiste en que el proveedor de un producto, barco militar en este caso, asume un contrato que abarca tanto la fabricaci´on como el mantenimiento predictivo del producto en cuesti´on. Esto permite a largo plazo una reducci´on en los costes derivados de las reparaciones del equipamiento militar y una vida ´util m´as larga. Finalmente, ser´ıa un error limitar la discusi´on sobre mantenimiento predictivo a las grandes industrias. Aunque son aquellas que m´as lo utilizan por las razones econ´omicas ya discutidas, existen tambi´en empresas de tama˜no mediano que participan de este creciente mercado. En nuestro pa´ıs tenemos un ejemplo paradigm´atico con Libelium [18], compa˜n´ıa con sede en Zaragoza dedicada al dise˜no y fabricaci´on de sensores de diversas tipolog´ıas para ofrecer soluciones tecnol´ogicas a sus clientes mediante el Internet de las Cosas (IoT, por sus siglas en ingl´es). Una de las principales aplicaciones de los sensores producidos por esta empresa es la Industria 4.0, nombre dado a aquellos sistemas productivos que se han digitalizado para mejorar su productividad. Entre los servicios ofrecidos por Libelium [27] destacan la monitorizaci´on de los procesos de producci´on para optimizar y prevenir fallos y la detecci´on de la salud estructural de las instalaciones. Ambos son aspectos centrales en el mantenimiento predictivo. 6
Una de las caracter´ısticas llamativas de Libelium es que no se trata de un gigante tecnol´ogico, sino de un proyecto emprendedor de apenas 15 a˜nos de vida fundado por Alicia As´ın, ingeniera inform´atica que quer´ıa conectar Internet a dispositivos f´ısicos [6]. Actualmente, la empresa trabaja con clientes de 120 pa´ıses y es toda una referencia a nivel internacional. De hecho, Alicia As´ın ha visto reconocida su trayectoria con, entre otros, el Premio Rey Jaime I al emprendimiento en 2017 [14] y el segundo puesto Women Innovators Award en 2018 [11]. Desde luego, su recorrido profesional es una clara muestra de que el mantenimiento predictivo no es solamente para grandes empresas. Por ´ultimo, y aunque escapa de los objetivos de este TFG, merece la pena mencionar un t´ermino relacionado con la aplicaci´on de machine learning a sistemas industriales cuyo uso se va extendiendo. Se trata de “mantenimiento prescriptivo” (traducci´on libre que he realizado del concepto prescriptive maintenance). Esta clase de mantenimiento supone un paso m´as en la integraci´on de lo datos con respecto al mantenimiento predictivo. Su objetivo no es solamente detectar los fallos en la maquinaria antes de que estos se den, sino tambi´en proponer de forma autom´atica soluciones para los mismos [20]. Esto podr´ıa, incluso, evitar algunos de los fallos solucionando un problema t´ecnico sin ninguna clase de intervenci´on humana. 1.2. Caso de estudio En octubre del a˜no 2016 tuvo lugar en Estocolmo la decimoquinta edici´on del International Symposium on Intelligent Data Analysis (de ahora en adelante, IDA 2016)1. Este congreso internacional, que se celebra anualmente, versa acerca de la incorporaci´on de t´ecnicas de an´alisis de datos a diversos sectores industriales. Adem´as de ofrecer ponencias impartidas por acad´emicos y profesionales, mesas de debate y espacios de networking, en el IDA 2016 se propuso un challenge relacionado con el mantenimiento predictivo en formato competitivo. As´ı, los participantes interesados deb´ıan enviar sus modelos soluci´on al problema planteado, obteniendo premios los mejores de entre ellos. El problema propuesto en el challenge en cuesti´on se centraba en el mantenimiento del sistema de aire comprimido que poseen los camiones de Scania, empresa sueca propiedad del Grupo Volkswagen. Esta parte de la mec´anica de los veh´ıculos es de gran importancia, puesto que genera el aire a alta presi´on que se emplea en tareas tan importantes como producir el movimiento de las zapatas que permite la frenada del veh´ıculo. El objetivo a perseguir era predecir, en base a una serie de lecturas obtenidas de los diferentes sensores que incorporan los camiones, si el sistema de aire comprimido de cada cami´on concreto iba a presentar un fallo o no antes de que este se diera, de forma que fuese posible ponerle remedio. Para lograr este fin, Scania proporcionaba dos datasets de estructura similar. El primero de ellos, al que nos referiremos como training set por estar destinado a entrenar el modelo predictivo, constaba de ejemplos de 60.000 camiones. El segundo, llamado test set, servir´ıa para evaluar el rendimiento del modelo dise˜nado y entrenado a partir del training set. Conten´ıa datos correspondientes a 16.000 veh´ıculos. En todos los casos, para cada uno de los camiones de ambos datasets se daba informaci´on num´erica de 170 atributos diferentes. Algunas particularidades importantes de estos datos son que, como se detallar´a en secciones posteriores, dichos atributos o variables son desconocidos (no sabemos qu´e est´an midiendo dentro del sistema de aire comprimido) y abundan los errores de medici´on, que figuran en los datasets como NaN (Not a Number). Scania no indica 1Se puede consultar informaci´on detallada acerca del evento en https://ida2016.blogs.dsv.su.se/ 7
cu´al es el motivo para la aparici´on de los valores NaN, aunque posteriormente se har´an hip´otesis de sus posibles causas. De hecho, la forma de lidiar con estos valores NaN ser´a uno de los principales retos a los que se tratar´a de dar respuesta en este trabajo. La evaluaci´on de c´omo de preciso a la hora de resolver el problema es un modelo se hac´ıa seg´un la siguiente funci´on de coste: Coste = 10 ×F P + 500 ×F N, (1) donde FP indica el n´umero de falsos positivos (se detecta un fallo que en realidad no es tal) y FN se refiere al n´umero de falsos negativos (se obvia un fallo del sistema de aire comprimido). La diferente ponderaci´on para los tipos de errores en la predicci´on se justifica en base a las necesidades reales de una empresa como Scania: es preferible llevar a revisi´on un cami´on que en realidad no tiene ning´un problema (falso positivo) que no detectar un fallo que podr´ıa desencadenar un accidente de un cami´on en circulaci´on (falso negativo). Este Trabajo de Fin de Grado utilizar´a diversos algoritmos de aprendizaje autom´atico convenientemente adaptados al caso de estudio para optimizar la eficiencia de predicci´on de fallos. Por tanto, el objetivo a alcanzar durante esta memoria ser´a minimizar en la medida de lo posible el valor que toma la funci´on de coste. 1.3. Estructura de la memoria El Trabajo de Fin de Grado que recoge esta memoria consistir´a en la resoluci´on de un problema pr´actico con datos del mundo real enfocado al mantenimiento predictivo. En la secci´on 1se ha hecho una introducci´on te´orica y se ha descrito con precisi´on cu´al ser´a el caso de estudio concreto. En la secci´on 2quedar´an establecidos los objetivos, tanto generales como espec´ıficos, que se pretenden alcanzar. La secci´on 3explicar´a brevemente las herramientas que se utilizar´an en el trabajo, que se ir´a desarrollando en profundidad a lo largo de la secci´on 4. Este apartado ser´a el m´as largo de la memoria, pues contiene tanto un estudio detallado de los datos disponibles (secci´on 4.1) como la construcci´on del modelo predictivo que se propondr´a como soluci´on del problema planteado (secciones 4.2 y4.3). A continuaci´on, la secci´on 5mostrar´a los resultados alcanzados mediante la implementaci´on sobre el caso de estudio de este modelo. Finalmente, las conclusiones que se extraen del conjunto del trabajo se expondr´an en la secci´on 6. 8
4.2.2. Algoritmos de machine learning a emplear Un apartado clave de este Trabajo de Fin de Grado son los algoritmos de machine learning que se utilizar´an sobre los datos. Una correcta elecci´on de los mismos posibilitar´a que las predicciones realizadas sean mejores. As´ı, se han implementado tres algoritmos diferentes que se encuentran entre los m´as utilizados en mantenimiento predictivo [7]: Support Vector Machines (SVM) [10]: m´etodo que consiste en la representaci´on de los datos en un espacio de la dimensi´on requerida por el n´umero de variables dadas. A partir de esa representaci´on y de una funci´on distancia, el algoritmo busca el hiperplano que mejor separa los positivos de los negativos, estableciendo dos regiones diferenciadas para la predicci´on. Se ha empleado este algoritmo con dos funciones distancia distintas: lineal y sigmoidea (que utiliza la tangente hiperb´olica). Cabe destacar que este m´etodo fue utilizado por Praveenkumar [26] para detectar fallos en cajas de cambios de veh´ıculos con una tasa de acierto superior al 90 %. Logistic Regression (LR) [32]: emplea una funci´on log´ıstica de la forma 1 1+e−X, siendo Xuna combinaci´on lineal de las variables del modelo. Los coeficientes que acompa˜nan a los valores de las variables se ajustan con el training set de manera que la funci´on log´ıstica arroje valores pr´oximos a 1 si hay un fallo y a 0 en caso de que no lo haya. Este m´etodo dio muy buenos resultados para la predicci´on de fallos en maquinaria industrial en un art´ıculo de Battifarano [2], aunque con abundancia de falsos positivos. Random Forest (RF) [3]: algoritmo que crea un conjunto de ´arboles de decisi´on en principio aleatorios sobre subconjuntos de los datos elegidos tambi´en al azar. Se eval´ua su rendimiento de predicci´on, de manera que se van seleccionando los que dan mejores resultados. De esta manera, RF evita el overfitting. Como punto negativo, el car´acter aleatorio de los ´arboles generados produce cierta discrepancia entre los resultados obtenidos por este m´etodo sobre un mismo conjunto de datos. Este m´etodo fue empleado para predecir la aparici´on de fallos en sistemas de refrigeraci´on con un acierto del 89 % [17]. 4.2.3. Resultados con diferentes combinaciones Sobre la base de lo anteriormente descrito, se probaron las 16 combinaciones posibles que aparecen al hacer pares de m´etodos de sustituci´on de los NaN y algoritmos de machine learning. As´ı, se completaron los errores de medici´on tanto del training set como del test set de cada una de las formas disponibles (media, m´as frecuente e iterative imputer con n= 10 y n= 20). A continuaci´on, se utiliz´o cada training set resultante como conjunto de datos a partir del cual ajustar los diferentes algoritmos (SVM lineal, SVM sigmoideo, LR y RF) y se ejecutaron estos algoritmos para predecir los fallos existentes en el test set. Finalmente, se calcul´o el valor de la funci´on de coste para cada caso seg´un el n´umero de aciertos y desaciertos de la predicci´on. En la Figura 4pueden observarse estos resultados. Hay dos elementos que merece la pena destacar en la figura anterior. Por un lado, tenemos que el rendimiento de los diferentes algoritmos es consistente independientemente del m´etodo de sustituci´on de los NaNs elegido. As´ı, en todos los casos LR y RF proporcionan resultados notablemente mejores que SVM en sus dos modalidades, lo cual se ve reflejado en un valor m´as bajo de la funci´on de coste resultante de su aplicaci´on. Por otro lado, resulta llamativo que diferentes m´etodos de sustituci´on de los NaNs no parecen tener un efecto notable sobre el rendimiento de los algoritmos. Es cierto que SVM con funci´on kernel sigmoidea experimenta una mejora cuando se usa sobre datos con iterative imputer, pero sigue en todo caso dando valores para la funci´on de coste significativamente m´as elevados que LR y RF. Por este motivo, y para ahorrar coste computacional, salvo que 15
Figura 4: Representaci´on gr´afica de los valores tomados por la funci´on de coste cuando se realiza una predicci´on aplicando cuatro m´etodos de sustituci´on de los valores NaN y cuatro algoritmos de machine learning. se diga lo contrario las siguientes predicciones ser´an efectuadas habiendo previamente rellenado los huecos de los datasets con la media de los valores num´ericos que toma cada variable. Hay otra comprobaci´on a realizar seg´un lo discutido en la secci´on 4.2.1. Se van a modificar los datasets tanto a˜nadiendo una columna extra que cuente el n´umero de NaNs como eliminando aquellas variables que presenten errores en m´as de la mitad de sus valores. El efecto sobre las predicciones se muestra a continuaci´on en la Figura 5. Figura 5: Representaci´on gr´afica de los valores tomados por la funci´on de coste cuando se realiza una predicci´on aplicando diferentes formas de tratamiento de los datos y cuatro algoritmos de machine learning. Las abreviaturas del eje horizontal significan lo siguiente: “DB” indica Datos Brutos (sin aplicar nada), “EC” quiere decir Eliminar Columnas con m´as de un 50 % de NaNs, “#NaNs” se refiere a a˜nadir una columna que cuenta el n´umero de NaNs en cada cami´on y “EC+#NaNs” se corresponde con las dos acciones anteriores simult´aneas. Aparentemente, la representaci´on gr´afica anterior no muestra informaci´on relevante: cuatro rectas paralelas al eje horizontal. Podr´ıa pensarse que las hip´otesis que est´abamos tratando de comprobar han resultado fallidas. En realidad, as´ı es para la idea de contar el n´umero de NaNs, que no ha permitido mejorar la predicci´on con respecto a los datos brutos. Sin embargo, en lo que respecta a haber eliminado un cierto n´umero de columnas ocurre lo contrario. As´ı, tenemos que, con 16
menos variables consideradas, la predicci´on permanece estable. Esto es una indicaci´on clara de que hay una cantidad destacable de variables redundantes o cerca de serlo, lo cual es muy l´ogico teniendo en cuenta que se est´a efectuando una clasificaci´on binaria relativamente simple y se dispone de 170 datos para cada caso. Vamos a comprobar hasta qu´e punto se mantiene este comportamiento, es decir, trataremos de averiguar cu´antas columnas podemos eliminar de los datasets sin que esto suponga un aumento importante de la funci´on de coste que se desea minimizar. El criterio que utilizaremos para elegir qu´e columnas se van eliminando progresivamente ser´a la cantidad de valores NaN que aparecen en las mismas en el training set. Al aplicar esto sobre los algoritmos que han ofrecido resultados m´as prometedores se obtiene la siguiente gr´afica: Figura 6: Representaci´on gr´afica de los valores tomados por la funci´on de coste para LR y RF cuando se van eliminando progresivamente columnas seg´un la cantidad de valores NaN que contengan. El eje horizontal est´a invertido (va desde 50 hasta 0) porque un valor umbral de porcentaje de NaNs tolerado m´as peque˜no implica que se han eliminado m´as columnas antes de calcular la predicci´on. Los resultados son incluso mejores de lo esperado. Se puede observar que el valor de la funci´on de coste se mantiene b´asicamente constante hasta que el umbral de NaNs permitidos se hace muy peque˜no. El salto se produce, tanto para Logistic Regression como para Random Forest, cuando el umbral tolerado es inferior al 2 %. Por tanto, de ahora en adelante, se eliminar´an de los datasets las variables para las cuales el training set presenta m´as de un 2 % de valores NaN. Esto supone deshacerse de 70 de esas variables, o lo que es lo mismo, reducir el volumen de datos con los que trabajar en m´as de un 40 %, lo cual ahorra carga computacional y tiempos de espera en la ejecuci´on del c´odigo de forma notable. En el conjunto de datos resultante, que se utilizar´a a partir de ahora como training set, solamente hay un 1,07 % de NaNs sobre el total, lo cual supone una proporci´on casi ocho veces menor que la que se ten´ıa inicialmente. 17
4.3. Afinado de modelo Todo lo expuesto hasta este momento nos permite concluir que el algoritmo que mejor funciona para el problema que nos ocupa es Random Forest. Adem´as de proporcionar el valor m´as bajo conseguido hasta ahora para la funci´on de coste, es superior al resto de algoritmos en todos los casos estudiados, sin importar qu´e m´etodo de imputer se use sobre los NaNs o cu´antas variables sean eliminadas. Por ello, en la presente secci´on se analizar´a en mayor detalle su comportamiento y se propondr´an mejoras para alcanzar resultados todav´ıa mejores. 4.3.1. Consistencia de Random Forest Tal y como se ha comentado en el apartado 4.2.2, el algoritmo Random Forest tiene un componente aleatorio en su construcci´on. Los ´arboles de decisi´on que se utilizan son obtenidos a partir de dos procesos conocidos como bagging yfeature randomness [31], consistentes en seleccionar una serie de elementos y variables del dataset de forma aleatoria. Esto se hace muchas veces con el objetivo de que las predicciones que realicen para las clases de inter´es no est´en correlacionadas entre s´ı y, por tanto, su predicci´on conjunta sea mejor que cada una de ellas por separado. Al final del proceso, se da como definitiva la predicci´on mayoritaria entre los ´arboles. Figura 7: Ejemplo en el que la decisi´on de un algoritmo tipo Random Forest se toma como la m´as repetida entre los ´arboles de decisi´on generados autom´aticamente Una consecuencia negativa de este m´etodo es que cada vez que se hace funcionar da resultados ligeramente diferentes, motivo por el cual en esta subsecci´on vamos a estudiar su comportamiento para asegurar que las variaciones no son de importancia. Una de las ventajas derivadas de haber reducido el n´umero de variables a considerar es que se reduce dr´asticamente el coste computacional derivado de calcular los valores que sustituyen a los NaN. Esto permite rescatar el m´etodo KNN imputer descrito en la secci´on 4.2.1, que no hab´ıa llegado a implementarse anteriormente. As´ı, aplicando RF sobre el test set se obtienen los siguientes valores de la funci´on de coste en funci´on del m´etodo de sustituci´on de los NaN empleado, ahora con todas las opciones disponibles: 18
Imputer Media M´as frecuente II con n=20 KNN con n=8 KNN con n=20 F. de coste 51190 54160 54710 51670 54680 Cuadro 1: Valores de la funci´on de coste para RF seg´un m´etodo de sustituci´on de los NaNs empleado. Se puede observar que los resultados son muy similares en todos los casos, sobre todo teniendo en cuenta el car´acter potencialmente aleatorio de RF. En este sentido, los m´etodos m´as complejos de sustituci´on de los NaN no parecen tener un efecto notable sobre la predicci´on. Por este motivo, se seguir´a usando la media. Tambi´en se efectuaron sobre el modelo varias pruebas de cross validation mediante el empleo de diferentes funciones score incluidas en Scikit-learn. Este m´etodo comprueba si el algoritmo utilizado sufre exceso de overfitting, es decir, si las predicciones que realiza est´an excesivamente condicionadas por los datos que ha usado en el proceso de entrenamiento. En nuestro caso particular, se dividi´o el training set en seis partes diferenciadas y se entren´o al algoritmo con cada una de ellas, comparando los resultados obtenidos con el cross val score est´andar que utiliza por defecto Scikit-learn y tres funciones extra: f1,balanced accuracy y la funci´on de coste del problema. En esta tabla se muestran los resultados obtenidos: Resultados cross validation Funci´on score Media Desviaci´on t´ıpica Por defecto 0,9937 0,0006 f1 0,79 0,01 balanced accuracy 0,85 0,01 Funci´on de coste 24300 2200 Cuadro 2: Cross validation con diferentes funciones score sobre RF dividiendo el training set en seis partes. Resulta evidente que, en todos los casos, la desviaci´on t´ıpica es muy inferior a la media. Esto nos da una idea de que, independientemente de la m´etrica que usemos, los resultados obtenidos a partir de RF sobre diferentes subconjuntos de los datos de entrenamiento iniciales son similares. En definitiva, podemos concluir que el algoritmo es consistente. 4.3.2. B´usqueda de par´ametros ´optimos El paquete Scikit-learn incorpora tambi´en funciones destinadas a adecuar los par´ametros que definen el funcionamiento de los algoritmos de machine learning a problemas concretos. La m´as com´un, que usaremos en esta secci´on, es GridSearch. Esta funci´on realiza una b´usqueda exhaustiva entre los par´ametros introducidos para optimizar el rendimiento de las predicciones hechas por nuestro modelo. El punto negativo de esta b´usqueda es que requiere de mucho tiempo de computaci´on, sobre todo teniendo en cuenta el gran tama˜no de los datasets con los que estamos trabajando. Por este motivo, tambi´en se dispone de la funci´on RandomizedSearch, donde se deja margen a la aleatoriedad para explorar un determinado espacio de par´ametros en un tiempo considerablemente menor. Se han implementado ambas funciones y se han combinado los resultados obtenidos con ambas. 19
As´ı, se emple´o GridSearch para evaluar los par´ametros ´optimos a utilizar como ’criterion’, ’max features’, ’class weight’ y’warm start’. En los tres primeros casos, se obtuvieron los par´ametros por defecto que ya incorpora Random Forest. Para ’warm start’, en cambio, no parece haber gran diferencia entre utilizar False (valor por defecto) o True. Esta segunda opci´on permitir´ıa modificar el n´umero de ´arboles en cada iteraci´on del algoritmo partiendo de los ya calculados anteriormente. Puesto que vamos a mantener 100 ´arboles en todos los casos, se deja en False. Tambi´en se utiliz´o RandomizedSearch sobre los par´ametros ’min samples split’, ’min samples leaf’, ’max leaf nodes’ y’oob score’, cuya evaluaci´on mediante GridSearch llevar´ıa mucho tiempo. Los resultados obtenidos nos llevan a ajustar ’min samples split’=4, manteniendo el resto de par´ametros en sus valores predeterminados. Con estas modificaciones, se consigue un valor para la funci´on de coste de 49180, que mejora ligeramente lo obtenido en la tabla 4.3.1. Cabe destacar que la elecci´on de los par´ametros anteriores no es exhaustiva, tanto por el uso de la funci´on RandomizedSearch como por el hecho de que resulta inviable probar todas las combinaciones posibles de par´ametros. De hecho, algunas de las ejecuciones llevadas a cabo necesitaron cerca de una hora para completarse. Se debe por tanto entender el procedicimiento descrito en esta subsecci´on como una serie de comprobaciones y ajustes que permiten mejorar el resultado final, pero no como un an´alisis completo de todas las posibilidades que ofrece Random Forest. 4.3.3. An´alisis cualitativo Antes de hacer los ´ultimos c´alculos de funci´on de coste para el modelo, se va a tratar de describir de manera sucinta su comportamiento cualitativo. Esto no resulta sencillo, en especial por lo comentado en lo que se refiere a las variables desconocidas. Como no sabemos qu´e mide cada uno de los par´ametros estudiados, no podemos inferir cu´al es la manera en la que afectan al sistema de aire comprimido de los camiones. Sin embargo, s´ı que podemos emplear el Random Forest obtenido y buscar aquellas variables que est´an teniendo un mayor peso en la toma de decisiones. Para ello, utilizamos la funci´on feature importances , que asigna un valor entre 0 y 1 a cada variable seg´un su importancia relativa para efectuar una predicci´on. Como disponemos de 100 variables, estos n´umeros ser´an peque˜nos, pues la suma de todos ellos ser´a la unidad. En el siguiente histograma se muestra la distribuci´on que sigue la importancia de las variables. Figura 8: Distribuci´on de la importancia relativa de las variables mostrada en forma de histograma con nueve clases de amplitud 0,005 que van desde 0 hasta 0,045. 20
Muchas de las variables tienen una importancia relativamente baja, lo cual puede verse en el hecho de que las dos primeras clases del histograma anterior acumulen m´as de 70 variables diferentes. Sin embargo, las que m´as nos interesan de cara al an´alisis cualitativo son precisamente aquellas situadas en la cola derecha, puesto que est´an siendo tenidas en mayor consideraci´on por el algoritmo a la hora de tomar decisiones respecto a si existe un error en el sistema de aire comprimido de los camiones. Representando las 20 con mayor importancia, obtenemos: Figura 9: Importancia relativa de las variables del dataset para la predicci´on. Se muestran solamente las 20 variables m´as importantes seg´un este criterio. Cabe destacar que en la representaci´on gr´afica anterior est´an presentes muchas variables que forman parte de los histogramas representados en la Figura 3. As´ı, se pueden ver ag 001, ag 002 y ag 003 (todas en el top-12 de variables m´as importantes y pertenecientes a la regi´on centralizquierda del primer histograma); cn 000 y cn 001 (zona izquierda del quinto histograma); o ee 005 (zona central del ´ultimo histograma). Si se ampl´ıa la selecci´on a las 30 variables con mayor importancia relativa tambi´en aparecen ay 006, ee 007, ay 009, ay 008 y cn 004. Otra manera muy visual de estudiar el modelo propuesto es mediante la representaci´on gr´afica de uno de los ´arboles que conforman el bosque. Para ello, se extrae del modelo mediante el comando export graphviz, que pertenece a la librer´ıa sklearn.tree, y se convierte a formato PNG. Se obtiene la siguiente imagen: Figura 10: ´ Arbol de decisi´on del algoritmo Random Forest. De la Figura 10 no es posible sacar muchas conclusiones. Esto es consecuencia de la enorme cantidad de datos que estamos manejando, que hacen necesaria la utilizaci´on de ´arboles de decisi´on muy extensos. Por ello, se har´a una segunda representaci´on en la cual nos limitaremos a estudiar 21
los niveles superiores del ´arbol anterior. Estos son algunos de los m´as importantes dentro del ´arbol, ya que realizan la clasificaci´on que aplica sobre un mayor n´umero de datos. Figura 11: ´ Arbol de decisi´on de la Figura 10 truncado a sus cuatro niveles superiores. Cabe destacar que el ´arbol anterior no es especialmente sim´etrico. El valor de samples, que indica cu´antos de los casos considerados van hacia cada lado del ´arbol, es muy alto en todo momento en la rama situada m´as a la izquierda, correspondiente con clasificaciones True consecutivas. Adem´as, tambi´en se puede rese˜nar que algunas de las variables que aparecen en este ´arbol truncado son las presentes en histogramas. As´ı, se tiene cn 001 en el nivel 2 y en el nivel 3, varias variables de tipo ay en los niveles 3 y 4 y la variable ee 008 en el nivel 4. Esto refuerza la hip´otesis de que los datos recogidos en los histogramas son de importancia para hacer una correcta predicci´on de los fallos en el sistema de aire comprimido de los camiones de Scania. 4.3.4. Ajuste para el caso de estudio Finalmente, se va a afinar el modelo teniendo en cuenta el problema concreto que se est´a tratando de solucionar. Hasta ahora, en esta secci´on 4.3 se han llevado a cabo comprobaciones rutinarias gen´ericas y se han utilizado funciones proporcionadas por Scikit-learn para mejorar los resultados. Sin embargo, no se ha tenido en cuenta la particular funci´on de coste con la que estamos trabajando. La caracter´ıstica m´as importante de la misma es que el coste marginal asociado a un falso negativo es 50 veces mayor que el que se otorga a un falso positivo. En otras palabras, es preferible cometer 49 fallos por dar como positivo un valor realmente negativo que uno solo en el cual la confusi´on se produzca en sentido inverso. Esta asimetr´ıa, impuesta por Scania para que la soluci´on al problema propuesto se adec´ue a sus necesidades log´ısticas, va a ser clave para mejorar el rendimiento de nuestro modelo. Tal y como se ha descrito anteriormente, Random Forest funciona mediante la construcci´on sucesiva de ´arboles de decisi´on. En nuestro algoritmo particular, el n´umero de ´arboles que se construyen es 100. Por ello, para cada predicci´on en realidad RF nos da una probabilidad de que nos encontremos ante un caso positivo que se calcula simplemente como P=N+ 100 , donde N+ indica el n´umero de ´arboles que arrojan un resultado positivo para una predicci´on determinada. Por defecto, el algoritmo hace una predicci´on positiva si P > 0,5 y negativa en caso contrario. Esta manera de operar, que es l´ogica para un caso general y busca realizar predicciones equilibradas, resulta no ideal para el problema que nos ocupa. En realidad, necesitamos ser m´as “audaces” a la hora de hacer una predicci´on positiva, pues los errores que cometamos juzgando un negativo como 22
positivo tendr´an una penalizaci´on baja. As´ı, vamos a probar diferentes valores umbral adem´as del 0,5 inicial para comprobar su efecto sobre la funci´on de coste. Figura 12: Representaci´on gr´afica de la funci´on de coste para distintos valores umbral de la probabilidad a partir de la cual se ha considerado como positivo un evento. Para cada valor umbral se han hecho diez predicciones distintas con el algoritmo Random Forest ajustado seg´un lo explicado anteriormente. La figura muestra en azul las medias de la funci´on de coste para cada probabilidad interpoladas y en rojo las barras de error, tomadas como la desviaci´on t´ıpica de los diez datos disponibles para cada probabilidad umbral. En este caso las barras de error son dif´ıciles de apreciar debido a su peque˜no tama˜no en comparaci´on con la escala del eje vertical. Tal y como se esperaba, la Figura 12 muestra valores mucho m´as altos para la funci´on de coste cuando el umbral para P es alto (se favorecen los falsos negativos frente a los falsos positivos). Nosotros estamos interesados en el lado contrario de la gr´afica. En esta parte izquierda se encuentra una zona en la que la funci´on de coste se minimiza. Vamos a repetir el mismo proceso para m´as valores situados en el intervalo [0,0,2] con el fin de hallar el valor de este m´ınimo. Figura 13: Representaci´on gr´afica del valor que toma la funci´on de coste para distintos valores umbral de la probabilidad. Se han realizado los c´alculos de manera completamente an´aloga a lo explicado para la Figura 12, con la salvedad de que en este caso los valores umbral para la probabilidad son 21 puntos equiespaciados entre 0 y 0,2 (ambos inclusive). 23
La representaci´on gr´afica anterior nos permite situar el m´ınimo de la funci´on de coste para P= 0,04. Este valor arroja un resultado medio para la funci´on de coste de 10795, con una desviaci´on t´ıpica de aproximadamente 587. En la secci´on posterior se discutir´a en mayor detalle la validez de este resultado. S´ı que merece la pena mencionar respecto al resultado obtenido el hecho de que es muy parejo a todos los que presenta la funci´on de coste para valores de P en el intervalo entre 0,02 y 0,06, hasta el punto de que sus barras de error tienen intersecci´on com´un. Por ello, a t´ıtulo informativo se presentan en la siguiente tabla los valores obtenidos en dicho intervalo. En todos los casos, se redondea a la unidad el resultado obtenido. Funci´on de coste Valor de P Media Desviaci´on t´ıpica 0,02 11355 724 0,03 10807 504 0,04 10795 587 0,05 10980 662 0,06 11038 605 Cuadro 3: Valores que toma la funci´on de coste para RF ajustado seg´un el valor umbral de probabilidad a partir del cual se da un evento como positivo. Se ha se˜nalado en color amarillo el mejor resultado, que se toma como soluci´on definitiva al problema propuesto. Se puede ver, eso s´ı, que la funci´on de coste obtenida para valores de P pr´oximos es muy similar a este resultado. 24
Bibliograf´ıa [1] M´arcia Baptista y col. “Forecasting Fault Events for Predictive Maintenance using Datadriven Techniques and ARMA Modeling”. En: Computers Industrial Engineering 115 (nov. de 2017). doi:10.1016/j.cie.2017.10.033. [2] Matthew Battifarano y col. “Predicting Future Machine Failure from Machine State Using Logistic Regression”. En: (abr. de 2018). [3] Leo Breiman. “Machine Learning, Volume 45, Number 1 - SpringerLink”. En: Machine Learning 45 (oct. de 2001), p´ags. 5-32. doi:10.1023/A:1010933404324. [4] S. F. Buck. “A Method of Estimation of Missing Values in Multivariate Data Suitable for use with an Electronic Computer”. En: Journal of the Royal Statistical Society. Series B (Methodological) 22.2 (1960), p´ags. 302-306. issn: 00359246. url:http://www.jstor.org/ stable/2984099. [5] Rafael-Mar´ıa Carre˜no-Morales, Francisco Rodr´ıguez y Arturo Santiago. “Seguridad y garant´ıa para las unidades de la Armada: la Log´ıstica Basada en Prestaciones aplicada al mantenimiento”. En: nov. de 2015. [6] Laura Montero Carretero. Alicia As´ın: ((Debemos ser m´as ambiciosos para que nuestras startups no se vayan de Espa˜na)).url:https://www.abc.es/economia/abci-alicia-asin-debemosmas-ambiciosos-para-nuestras-startups-no-vayan-espana-202103140101 noticia.html?ref= https%5C%3A%5C%2F%5C%2Fwww.google.com%5C%2F (visitado 03-07-2021). [7] Thyago P. Carvalho y col. “A systematic literature review of machine learning methods applied to predictive maintenance”. En: Computers Industrial Engineering 137 (2019), p´ag. 106024. issn: 0360-8352. doi:https://doi.org/10.1016/j.cie.2019.106024.url:https: //www.sciencedirect.com/science/article/pii/S0360835219304838. [8] V´ıtor Cerqueira y col. “Combining boosted trees with metafeature engineering for predictive maintenance”. English. En: Advances in Intelligent Data Analysis. Ed. por Henrik Bostr¨om y col. Lecture Notes in Computer Science. 15th International Symposium on Intelligent Data Analysis, IDA 2016, IDA 2016 ; Conference date: 13-10-2016 Through 15-10-2016. Springer, ene. de 2016, p´ags. 393-397. isbn: 978-3-319-46348-3. doi:10.1007/978-3-319-46349-0 35. url:https://ida2016.blogs.dsv.su.se/. [9] Bryan Christiansen. An Introduction to Predictive Maintenance (PdM) with CMMS.url: https://medium.com/@bryanc.limble/an-introduction-to-predictivemaintenance-pdmwith-cmms-c1dcec1e0284 (visitado 02-07-2021). [10] Koby Crammer y Yoram Singer. “On the Algorithmic Implementation of Multiclass KernelBased Vector Machines”. En: J. Mach. Learn. Res. 2 (mar. de 2002), p´ags. 265-292. issn: 1532-4435. [11] Comisi´on Europea. EU Prize for Women Innovators 2018.url:https:/ /ec.europa .eu/ info/ researchandinnovation/funding/fundingopportunities / prizes /eu - prizewomen - innovators/eu-prize-women-innovators-2018 en (visitado 29-06-2021). [12] Camila Ferreira Costa y Mario Nascimento. “IDA 2016 Industrial Challenge: Using Machine Learning for Predicting Failures”. En: oct. de 2016, p´ags. 381-386. isbn: 978-3-319-46348-3. doi:10.1007/978-3-319-46349-0 33. [13] Christopher Gondek, Daniel Hafner y Oliver Sampson. “Prediction of Failures in the Air Pressure System of Scania Trucks Using a Random Forest and Feature Engineering”. En: oct. de 2016. doi:10.1007/978-3-319-46349-0 36. 31
[14] Fundaci´on Rei Jaume I. Hist´orico Premiados Emprendedor.url:https://www.fprj.es/es/ historico-premiados-emprendedor/ (visitado 29-06-2021). [15] Kevin G. Jamieson y Ameet Talwalkar. “Non-stochastic Best Arm Identification and Hyperparameter Optimization”. En: CoRR abs/1502.07943 (2015). arXiv: 1502 .07943.url: http://arxiv.org/abs/1502.07943. [16] Francisco Jim´enez-Espadafor y Daniel Palomo Guerrero. “Sistema de mantenimiento predictivo y diagn´ostico de anomal´ıas para la propulsi´on naval: aplicaci´on en motores di´esel 2T”. En: 2018. [17] Kedar Kulkarni y col. “Predictive Maintenance for Supermarket Refrigeration Systems Using Only Case Temperature Data”. En: 2018 Annual American Control Conference (ACC). 2018, p´ags. 4640-4645. doi:10.23919/ACC.2018.8431901. [18] Libelium: Impulsando la revoluci´on IoT.url:https : / / www . libelium . com / es/ (visitado 02-07-2021). [19] Hans L¨ofsten. “Measuring maintenance performance – in search for a maintenance productivity index”. En: International Journal of Production Economics 63.1 (2000), p´ags. 47-58. issn: 0925-5273. doi:https : / / doi . org / 10 . 1016 / S0925 - 5273(98 ) 00245 - X.url:https : //www.sciencedirect.com/science/article/pii/S092552739800245X. [20] Henrique Marques y Alesandro Giacotto. “Prescriptive Maintenance: Building Alternative Plans for Smart Operations”. En: oct. de 2019, p´ags. 231-236. doi:10.3384/ecp19162027. [21] Rahul Mazumder, Trevor Hastie y Robert Tibshirani. “Spectral Regularization Algorithms for Learning Large Incomplete Matrices”. En: Journal of Machine Learning Research 11.80 (2010), p´ags. 2287-2322. url:http://jmlr.org/papers/v11/mazumder10a.html. [22] R. Keith Mobley. An introduction to predictive maintenance. Butterworth Heinemann, 2002, p´ags. 4-5. isbn: 0-7506-7531-4. [23] Jose N´u˜nez, Miguel Rodelgo Lacruz y Carlos P´erez-Seoane. “Desarrollo de un sistema de inteligencia artificial para la supervisi´on y detecci´on de anomal´ıas en rutas mar´ıtimas”. En: nov. de 2016. [24] Ezgi Ozan y col. “An Optimized k-NN Approach for Classification on Imbalanced Datasets with Missing Data”. En: oct. de 2016, p´ags. 387-392. isbn: 978-3-319-46348-3. doi:10.1007/ 978-3-319-46349-0 34. [25] F. Pedregosa y col. “Scikit-learn: Machine Learning in Python”. En: Journal of Machine Learning Research 12 (2011), p´ags. 2825-2830. [26] T. Praveenkumar y col. “Fault Diagnosis of Automobile Gearbox Based on Machine Learning Techniques”. En: Procedia Engineering 97 (2014). ”12th Global Congress on Manufacturing and Management”GCMM - 2014, p´ags. 2092-2098. issn: 1877-7058. doi:https://doi.org/ 10.1016/j.proeng.2014.12.452.url:https://www.sciencedirect.com/science/article/pii/ S187770581403522X. [27] Soluciones IoT: Industria 4.0.url:https://www.libelium.com/es/soluciones-iot/industria/ (visitado 02-07-2021). [28] Paul E. Spector y col. “The dimensionality of counterproductivity: Are all counterproductive behaviors created equal?” En: Journal of Vocational Behavior 68.3 (2006), p´ags. 446-460. issn: 0001-8791. doi:https://doi.org/10.1016/j.jvb.2005.10.005.url:https://www. sciencedirect.com/science/article/pii/S0001879105001284. 32
[29] Gian Antonio Susto y col. “Machine Learning for Predictive Maintenance: A Multiple Classifiers Approach”. English. En: IEEE Transactions on Industrial Informatics 11.3 (jun. de 2015), p´ags. 812-820. issn: 1551-3203. doi:10.1109/TII.2014.2349359. [30] Olga Troyanskaya y col. “Missing value estimation methods for DNA microarrays ”. En: Bioinformatics 17.6 (jun. de 2001), p´ags. 520-525. issn: 1367-4803. doi:10.1093/bioinformatics/ 17.6.520. eprint: https://academic.oup.com/bioinformatics/article-pdf/17/6/520/760366/ 170520.pdf.url:https://doi.org/10.1093/bioinformatics/17.6.520. [31] Tony Yiu. Understanding Random Forest. 2019. url:https : / / towardsdatascience . com / understanding-random-forest-58381e0602d2 (visitado 24-06-2021). [32] Hsiang-Fu Yu, Fang-Lan Huang y Chih-Jen Lin. “Dual coordinate descent methods for logistic regression and maximum entropy models”. En: Machine Learning 85 (oct. de 2011), p´ags. 41-75. doi:10.1007/s10994-010-5221-8. 33