scieee AI-readable full text Open interactive document viewer

Estudio de técnicas de clasificación para detección y diagnostico de fallos

Medrano Sanz, Julia Isabel

Abstract

Departamento de Ingeniería de Sistemas y Automática

Full text

UNIVERSIDAD DE VALLADOLID ESCUELA DE INGENIERIAS INDUSTRIALES Grado en Ingeniería Química Estudio de técnicas de clasificación para la detección y diagnóstico de fallos. Autor: Medrano Sanz, Julia Isabel Tutor: De la Fuente Aparicio, María Jesús Departamento de Ingeniería de Sistemas y Automática. Valladolid, julio 2019. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 2 Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 3 AGRADECIMIENTOS. En primer lugar, quiero expresar mi más sincero agradecimiento a mi tutora María Jesús de la Fuente, por darme la oportunidad de realizar este trabajo, con el que tanto he aprendido y gracias al cual seré graduada en Ingeniería Química. Gracias por todo lo que me has enseñado y me has sabido trasmitir, por estar siempre disponible y por tu paciencia. Gracias a mi familia por haber estado siempre a mi lado durante esta etapa, sin vosotros, vuestros consejos y paciencia no habría sido posible. Por último, gracias a todos mis amigos por haber estado ahí para celebrar todos los logros y también para escucharme cuando parecía que no había luz al final del túnel. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 4 Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 5 ÍNDICE DE CONTENIDOS 1. RESUMEN. ........................................................................................ 7 2. INTRODUCCIÓN Y OBJETIVOS. ....................................................... 11 2.1. MOTIVACIÓN. ........................................................................... 11 2.2. OBJETIVOS DEL TRABAJO. ...................................................... 12 2.3. ORGANIZACIÓN DE LA MEMORIA. .......................................... 13 3. ESTADO DEL ARTE. ......................................................................... 15 3.1. REDES NEURONALES. ............................................................ 16 3.1.1. RED NEURONAL PERCEPTRÓN. ......................................... 18 3.2. REDES NEURONALES PROBABILÍSTICAS. ............................. 20 3.3. ANÁLISIS DEL DISCRIMINANTE DE FISCHER (FDA). ............. 22 3.4. ÁRBOLES DE DECISIÓN. ......................................................... 26 3.4.1. RANDOM FOREST ............................................................... 28 3.5. MÁQUINAS DE VECTORES SOPORTE O SVM. ........................ 29 4. PLANTA TENNESSE EASTMAN. ...................................................... 35 5. SIMULACIÓN. .................................................................................. 39 5.1. DATOS DE LA PLANTA. ............................................................ 39 5.2. REDES NEURONALES. ............................................................ 40 5.3. REDES NEURONALES PROBABILÍSTICAS. ............................. 48 5.4. DISCRIMINANTE DE FISCHER. ............................................... 55 5.5. ARBOLES DE DECISIÓN. ......................................................... 66 5.6. MÁQUINAS DE VECTORES SOPORTE (SVM). ......................... 69 5.7. COMPARACIÓN. ....................................................................... 77 6. CONCLUSIONES. TRABAJO FUTURO. ............................................. 79 6.1. CONCLUSIONES. ..................................................................... 79 6.2. TRABAJO FUTURO. .................................................................. 81 7. BIBLIOGRAFÍA. ................................................................................ 83 Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 6 Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 7 1. RESUMEN. En el presente trabajo se estudian diferentes técnicas de clasificación para diagnosticar fallos o malfunciones que puede haber en diversos procesos industriales con el objetivo de tener un seguimiento de la calidad, tanto del propio proceso como de los distintos productos fabricados. Para poder llevar un estudio profundo y poder llegar a unas conclusiones solidas sobre los distintos tipos de clasificadores primero se hace un estudio teórico sobre el estado del arte de los clasificadores. En él se describe de manera teórica los clasificadores y los algoritmos de clasificación de estos. En este trabajo se van a estudiar cinco tipos de clasificadores, redes neuronales multicapa, redes neuronales probabilísticas, discriminante de Fischer, árboles de decisión y por último máquinas de vectores soporte. Posteriormente, se realiza una simulación de estos clasificadores con datos de fallo. Los datos de fallo son extraídos del conocido proceso Tennessee Eastman (TEP), se analizan únicamente cuatro tipos de fallo (fallo 1, fallo 2, fallo 4 y fallo 5). Una vez se ha realizado la simulación se comparan los resultados obtenidos con los diferentes clasificadores y se hace un breve estudio sobre el trabajo futuro que se podría llevar a cabo para en el futuro mejorar este trabajo. Palabras clave: clasificación, diagnosis de fallos, Tennessee Eastman, redes neuronales, árboles de decisión, máquinas de vectores soporte, análisis del discriminante de Fisher. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 8 Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 9 ABSTRACT. This work studies different techniques of classification faults or malfunctions that nowadays apply to diverse industrial processes with the aim of having a follow-up of the quality, of the own process as of the different manufactured products. In order to be able to carry out a deep study and to reach some solid conclusions about the different types of classifiers, a theoretical study is first made. This study is about the classifiers, its theoretical formalism and the classification algorithms of them. In this paper we will study five types of classifiers, multilayer neural networks, probabilistic neural networks, Fischer discriminant analysis, decision trees and finally support vector machines. Subsequently, a simulation of these classifiers is carried out with fault data. Fault data are extracted from the well-known Tennessee Eastman process (TEP), only four types of failure are analysed (failure 1, failure 2, failure 4 and failure 5). Once the simulation has been carried out, the results obtained are compared with the different classifiers and a brief study is made about the future work that could be carried out to improve this work in the future. Keywords: classification, fault diagnosis, Tennessee Eastman. Neural networks, decision trees, SVM, FDA Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 16 En este trabajo, casi todos los métodos que se utilizan para clasificar los fallos serán métodos basados en datos. Este tipo de clasificadores son las redes neuronales, las redes neuronales probabilísticas, los árboles de decisión y las máquinas de vector soporte. Aunque también se utiliza un tipo de método basado en señal, el discriminante de Fischer. Una vez se ha realizado esta introducción para entender el estudio del arte del diagnóstico y clasificación de fallos se va a describir de manera breve los conceptos básicos de cada tipo de clasificador que se utilizará posteriormente en la simulación. Se verán esquemas de cada uno de ellos y la manera en la que se tienen que diseñar o que datos tienen que tratar para que clasifiquen de manera adecuada. 3.1. REDES NEURONALES. Las redes de neuronas artificiales (RNA) son dispositivos programados de tal manera que funcionen como un proceso automático inspirado en la forma en la que trabaja el sistema nervioso de los seres vivos. Se trata de un sistema de interconexión de neuronas en una red que, operando de forma paralela, consiguen resolver problemas relacionados con el reconocimiento de formas o patrones, predicción, codificación, control y optimización, para producir un estímulo de salida. [4] La neurona es el elemento fundamental para que el sistema nervioso entre en funcionamiento. Generalmente, una neurona consta de un cuerpo celular más o menos esférico del que salen una rama principal, el axón, y varias ramas más cortas llamadas dendritas. Una de las características de las neuronas es su capacidad para comunicarse. Las dendritas y el cuerpo celular reciben señales de entrada; el cuerpo celular combina e integra y emite señales de salida. El axón transmite dichas señales a los terminales axónicos, que distribuyen información a un nuevo conjunto de neuronas. Para construir una similitud directa entre la actividad sináptica y la analogía con las redes neuronales artificiales, se pueden considerar que las señales que llegan a la sinapsis son las entradas a la neurona. Estas son ponderaras (atenuadas o simplificadas) a través de un parámetro denominado peso asociado a la sinapsis correspondiente. Estas señales de entrada pueden excitar a la neurona (sinapsis con peso positivo) o inhibirla (peso negativo). El efecto es la suma de las entradas ponderadas, siendo esta señal del tipo todo/nada, es decir, la neurona se activa o no se activa. [4] Una neurona artificial es un procesador elemental en el que se procesa una o varias entradas, donde puede verse aumentada su intensidad debido al parámetro característico de conexión denominado peso. Las conexiones Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 17 determinan la influencia entre neuronas. Finalmente, se produce una respuesta o salida única. Los componentes principales de una neurona artificial son las entradas, los pesos, las salidas y las funciones de activación. En la figura 1 se encuentra un esquema de una neurona artificial. Figura 1. Esquema de una neurona artificial. Las entradas son la información que reciben del exterior. Cada neurona suele recibir varias entradas. Los pesos se pueden asemejar a la importancia que tienen las distintas entradas que llegan a la neurona. Los pesos pueden adaptarse dentro de la red y constituyen la medida de la fuerza de una conexión de entrada. Las salidas vienen definidas por los valores que dan las distintas funciones de activación. Las funciones de activación transforman la entrada neta que la neurona presenta al valor de salida. La función escalón o la Gaussiana son ejemplos de funciones de activación. [4] La combinación de dos o más neuronas forma una capa, y una o más capas forman una red. Generalmente, los elementos de una misma capa tienen la misma función de activación. Cada capa puede recibir información de una o más capas, y después de procesarla puede enviar su salida a una o más capas. El caso más general a tener en cuenta para analizar una capa de neuronas es considerar que las neuronas de la capa poseen múltiples entradas, su esquema sería similar al de la figura 1. Pero cuando la red neuronal está formada por una o más capas de neuronas, su esquema se puedo ver en la figura 2. En esta figura se ven las distintas capas que componen la red neuronal multicapa. La primera capa o capa de entrada, recibe la información de fuentes externas a la red. La capa oculta, no tiene contacto con el exterior y es donde se encuentran las distintas neuronas que forman la capa. La capa de salida es la encargada de transferir la información al exterior. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 18 Figura 2. Esquema red neuronal multicapa. (Fuente: ceres.urg.es) Las redes neuronales pueden actuar de dos maneras, si las entradas y señales de las capas se propagan siempre hacia adelante, o si las entradas y salidas de las capas tienen retroalimentación. La primera forma de actuación de las redes se conoce cono red estática o red feedforward, mientras que la segunda se conoce como red dinámica o red recurrente. En la simulación se usarán redes neuronales multicapa que clasifiquen de manera estática. Tienen un número determinado de neuronas que se encuentren en la capa oculta. [4] Para poder utilizar las redes neuronales como clasificadores es necesario llevar a cabo un aprendizaje previo de las mismas. El aprendizaje se define como el mecanismo que hace que los pesos tomen los valores necesarios para desempeñar la tarea deseada. Los mecanismos de aprendizaje y determinación de pesos constituyen uno de los puntos críticos en la investigación con redes neuronales. Hay varios tipos de aprendizaje como puede ser el aprendizaje supervisado, el aprendizaje no supervisado o autoorganizado, el aprendizaje híbrido y el aprendizaje reforzado. 3.1.1. RED NEURONAL PERCEPTRÓN. Fue el primer modelo de red neuronal artificial, desarrollado en 1958 por Rosenblatt. Despertó un gran interés en los años 60 debido a su capacidad para aprender a reconocer patrones sencillos. Está formado por varias neuronas para recibir las entradas a la red, y una neurona de salida que es capaz de decidir cuándo una entrada a la red pertenece a una de las dos clases que es capaz de reconocer. La neurona de salida del Perceptrón realiza la suma ponderada de las entradas, resta el umbral y pasa el resultado a una función de transferencia de tipo escalón. La regla de decisión es responder +1 si el patrón presentado pertenece a la clase A, o -1 si el patrón pertenece a la clase Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 19 B. Al constar solamente de una capa de entrada y otra de salida con una única neurona, tiene una capacidad de representación bastante limitada. Solo es capaz de discriminar patrones muy sencillos y linealmente separables en el plano. El aprendizaje de este tipo de estructuras es de tipo supervisado, es necesario que sus resultados sean evaluados. [4] Figura 3. Esquema Perceptrón (Fuente: Wikipedia.com) Como consecuencia de las limitaciones de la arquitectura del perceptrón simple, surge el perceptrón multicapa. En 1969, Minsky y Papert (Minsky and Papert, 1969) mostraron que la combinación de varios perceptrones simples podía resultar una solución adecuada para tratar ciertos problemas no lineales. Sin embargo, los autores no presentaron una solución al problema de cómo adaptar los pesos de la capa de entrada a la capa oculta, pues la regla de aprendizaje del Perceptrón simple no puede aplicarse en este escenario. [4] A pesar de ello, la idea de combinar varios perceptrones sirvió de base para estudios posteriores, que dieron lugar al desarrollo de un método de retropropagación de errores medidos en la salida de la red hacia neuronas ocultas. Se ha demostrado que el Perceptrón multicapa es un aproximador universal, en el sentido de que cualquier función continua sobre un compacto de Rn puede aproximarse con un Perceptrón multicapa, con al menos una capa oculta de neuronas. Un esquema general de este tipo de red es el mostrado en la figura 2, donde además la capa oculta siempre tendrá una función de activación no lineal y diferenciable, como la tangente hiperbólica. La habilidad del Perceptrón multicapa para aprender a partir de un conjunto de ejemplos, aproximar relaciones no lineales, filtrar ruido en los datos, etc. hace que sea un modelo adecuado para abordar problemas reales. En la actualidad, es una de las arquitecturas más utilizadas en la resolución de problemas. [4] Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 20 3.2. REDES NEURONALES PROBABILÍSTICAS. Las redes neuronales probabilisticas constituyen, junto con las redes neuronales perceptrón multicapa, una de las estructuras de aprendizaje mas extendidas en la actualidad. Estas redes se enmarcan dentro de los denominados sistemas expertos y su uso se ha extendido fundamentalmente a problemas de clasificación. Las redes probabilísticas se enmarcan en los tipos de sistemas expertos que se enfrentan a problemas de tipo probabilistico pues se enfrentan a problemas con elementos de incertidumbre relevantes. [5] Una red neuronal probabilísticaa (PNN) es una red neuronal unidireccional, la cual se deriva de la red bayesiana y un algoritmo estadístico llamado “Kernel Fisher discriminant análisis” que fue introducido por D.F. Specht en los principios de 1990s. Pertenecen a la familia de redes neuronales con función en base radial. A diferencia de las redes neuronales definidas anteriormente, en este tipo de redes no hay que realizar el ajuste de pesos y bies. Los patrones de salida son determinados mediante la comparación y el cálculo de distancias. [5] La regla de clasificación óptima bayesiana puede ser definida de la siguiente manera, dada una colección de muestras aleatorias de n poblaciones, la probabilidad a priori de que la muestra y pertenezca a la población k, es denotada como hk. El costo asociado con una clasificación errónea de que una muestra pertenezca a la población k es denotado por lk. La probabilidad condicional de que una muestra específica pertenezca a la población k, está dada por la función de densidad de probabilidad fh(y). Por tanto, una muestra yi es clasificada dentro de la población k si cumple la condición establecida en la Ecuación 1, en el caso de dos poblaciones. [6] ℎ𝑘𝑙𝑘𝑓 𝑘(𝑦𝑖)> ℎ𝑙𝑙𝑙𝑓 𝑙(𝑦𝑖) (1) En un PNN, las operaciones están organizadas en una red unidireccional multicapa con cuatro capas: Capa de entrada, capa oculta, capa de patrón o capa de suma y capa de salida, como se muestra en la figura 4. La PNN es a menudo utilizada en problemas de clasificación. Cuando una entrada está presente, la primera capa calcula la distancia del vector de entradas a los vectores de entrada del entrenamiento. Esto produce un vector donde sus elementos indican cuan cercanos esta la entrada de la entrada de entrenamiento. La segunda capa suma la contribución para cada clase de entradas y da su salida como un vector de probabilidades. Finalmente, una función de transferencia competitiva en la salida de la segunda capa elige el máximo de estas probabilidades, y produce un 1 (identificación positiva) para esta clase y un 0 (identificación negativa) para las clases no identificadas. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 21 En la capa de entrada, cada neurona representa un predictor de variables. En variables categóricas, se utilizan N-1 neuronas cuándo hay un número N de categorías. Estandariza el rango de los valores restando la mediana y dividiendo por el rango inter-cuartiles. Entonces las neuronas de la capa de entrada alimentan los valores a cada una de las neuronas en la capa oculta. [6] La capa patrón contiene una neurona para cada posible patrón (o caso) en el conjunto de datos de entrenamiento. Almacena los valores del predictor de variables para cada patrón o caso junto con el valor objetivo. Una neurona de la capa oculta calcula la distancia Euclidiana del caso de prueba al centro de la neurona y entonces aplica una función de transferencia de tipo base radial (es decir, una función de transferencia gaussiana). Para las redes probabilísticas hay una neurona en la capa patrón para cada categoría de la variable objetivo. La verdadera categoría objetivo de cada caso de prueba está almacenada con cada neurona oculta; el valor del peso que sale de una neurona de la capa oculta está alimentado sólo con la neurona patrón que corresponde a la categoría de la neurona oculta. Las neuronas patrón añaden los valores para la clase que representan, y así es como queda explicada la capa de suma. [7] La capa de salida compara el peso de votos para cada categoría objetivoacumulada en la capa patrón y utiliza el voto más grande para pronosticar la categoría objetivo. Figura 4. Esquema Red Probabilística. (Fuente: Wikipedia.com). Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 22 Este tipo de clasificador necesita aprendizaje para poder llevar a cabo después de este, su función de clasificador. Para este tipo de redes se dan dos modos de aprendizaje, el aprendizaje paramétrico y el aprendizaje estructural. Los primeros se centran en la búsqueda e identificación de la estructura de las relaciones de dependencia y correlación a través de la estructura grafo que define la red. Por su parte, los de tipo paramétrico están ligados a la estimación de valores de los parámetros asociados a los nodos y aristas del grafo que representa la red. Cabe señalar que varias estructuras de grafos pueden representar las mismas estructuras de independencia y/o las mismas distribuciones conjuntas para el conjunto de variables. [7] 3.3. ANÁLISIS DEL DISCRIMINANTE DE FISCHER (FDA). El análisis del discriminante de Fischer o FDA, puede utilizarse para detectar fallos definiendo una clase adicional que es la de condiciones normales de operación, y utilizar una función discriminante que nos diga si los datos actuales son más similares a los datos de operación normal o a los datos de alguna las otras clases (posibles fallos). Esto se podrá utilizar siempre y cuando los datos de entrenamiento usados para calcular los FDA de la operación normal sean muy distintos a los datos recogidos de la planta cuando hay fallos. Los datos tomados de la planta en diferentes situaciones (operación normal y/o operación con distintos tipos de fallos) se clasifican en clases, donde cada clase representa un determinado tipo de fallo. La técnica FDA es una técnica de reducción de la dimensionalidad que es óptima en términos de maximizar la separación entre clases. Es decir, determina un conjunto de vectores de transformación lineales, ordenados en términos de maximizar la distancia entre clases y minimizar la distancia dentro de la propia clase. [8] Se definen n como el número de observaciones (datos) y m como el número de variables medibles, p es el número de clases, y nj es el número de datos de la clase j. Si todos los datos tomados de la planta se representan en la matriz X, se obtendría la matriz representada en (2):               = nmn2n1 2m2221 1m1211 x...xx ............ x...xx x...xx X (2) Primero se definirán algunos conceptos, como la matriz de dispersión total: Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 23 T n 1i iit )x)(xx(xS−−=  = (3) donde x es el vector media total, es decir,  = =n 1i i x n 1 x . Xj es el conjunto de vectores xi que pertenecen a la clase j. Se define la matriz de dispersión de la clase j como:   −−= ji Xx T jijij )x)(xx(xS (4) donde j x es el valor medio de la clase j, es decir:   = ji Xx i j jx n 1 x Se define también la matriz de dispersión dentro de la clase como:  = =p 1j jw SS (5) y la matriz de dispersión entre clases como: T p 1j jjjb )xx)(xx(nS −−=  = (6) La matriz de dispersión total será la suma de las dos anteriores, es decir, St = Sb + Sw. El objetivo del primer vector del análisis discriminante de Fisher es maximizar la dispersión entre clases y minimizar la dispersión dentro de la misma clase, es decir: vSv vSv max w T b T 0v (7) Suponiendo Sw sea invertible y v Rm. El objetivo del segundo vector FDA es resolver el mismo problema, pero considerando los vectores perpendiculares al primer vector FDA, y así sucesivamente. Los vectores FDA así calculados son iguales a los vectores propios wk del problema de valores propios generalizado: Sb wk = k Sw wk (8) Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 24 Donde los valores propios k indican el grado de separabilidad entre las clases al proyectar los datos en wk. Esto se puede resolver siempre que Sw sea invertible, lo cual ocurre siempre que el número de datos (observaciones) n, sea mucho mayor que el número de variables medidas, m. El primer vector FDA es el que está asociado al valor propio más grande, el segundo vector FDA está asociado al segundo valor propio más grande y así sucesivamente. Un valor grande de k indica que cuando los datos de la clase se proyectan en los vectores propios asociados wk hay una gran separación de la media de la clase relativa a las varianzas de las clases y en consecuencia, una gran separación de las clases a lo largo de la dirección wk. [8] Si se define la matriz Wp  Rm x (p-1) que contiene los (p-1) vectores FDA como columnas, entonces la transformación lineal de los datos del espacio de dimensión m (con todas las variables) a este espacio de dimensión menor (p1) se describe como. zi = WpT xi (9) donde zi  R(p-1).. El problema ahora es decidir el orden de reducción, es decir el número, p, más adecuado de vectores FDA. Esto se puede realizar de varias formas, cuando se tienen suficientes datos de todas las posibles clases se puede utilizar la correlación cruzada, que consiste en dividir los datos en varios conjuntos, uno llamado de entrenamiento y los otros de test o validación. La técnica de reducción de dimensionalidad FDA se aplica a los datos de entrenamiento, y después el comportamiento del modelo obtenido se valida con los datos de test, y esto se hace para cada orden de reducción, es decir, desde, a =1,..., p. Se elige el orden que optimice el comportamiento del modelo para los datos de validación. [8] Otra forma de calcular el orden cuando tenemos pocos datos es calcular el orden a, que minimice el siguiente criterio: n ~ a (a)fm+ (10) Donde fm(a) es la proporción de datos mal clasificados, es decir pertenecientes a una clase y clasificados como de otra clase, para los datos de entrenamiento proyectados sobre los “a” vectores FDA, este término tiene en cuenta el error de predicción, mientras que el otro término de la ecuación, a/ñ se añade para penalizar el incremento de dimensionalidad, es decir, tiene en Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 25 cuenta la complejidad del modelo, siendo ñ el número medio de observaciones por clase. [8] Una vez se ha descrito la forma teórica en la que se basa la clasificación mediante el discriminante de Fischer, se va a pasar a describir la manera de aplicar lo explicado anteriormente a una herramienta de simulación. Se asignará una observación a la clase i, si se cumple que: gi(x) > gj(x)  ji, (11) Donde a la función gj(x) se le llama función discriminante para la clase j dado un vector de datos x. La función, gj(x) que minimiza el error, cuando ocurre el evento wi (por ejemplo, un fallo) es: gi (x) = P (wi x) (12) Donde P (wix) es la probabilidad a posterior de que x pertenezca a la clase i. Si se usa la regla de Bayes: p(x) ))P(wwp(x )xP(w ii i= (13) Donde P(wi) es la probabilidad a priori para la clase wi,, p(x) es la función densidad de probabilidad para x, y p(xwi) es la función densidad de probabilidad de x condicionada al evento wi. Si se supone que los datos están normalmente distribuidos: ( )        −−−= −)μ(xΣ)μ(x 2 1 exp Σdet(2π2 1 )wP(x i 1 i T i 1/2 i m/2 i (14) Con m el número de variables medidas, y i y i son la media y la matriz de covarianza para la clase i. La función gi(x) de la ecuación (12) puede ser sustituida por la ecuación (15), y se puede demostrar que la clasificación obtenida con ambas funciones es idéntica: gi (x) = ln p(x wi) + ln P(wi) (15) Si se sustituye la ecuación (14) en la ecuación (15) se obtiene finalmente que la función discriminante es: Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 32 Figura 8. Explicación parámetro C. (Fuente: medium.com/datos-y-ciencia) Esta es la manera más simple de realizar la separación mediante una línea recta, un plano recto o un hiperplano N-dimensional. Desafortunadamente los universos a estudiar no se suelen presentar en casos idílicos de dos dimensiones, figura 8, sino que un algoritmo SVM debe tratar con más de dos variables predictoras, curvas no lineales de separación, casos donde los conjuntos de datos no pueden ser completamente separados, clasificaciones en más de dos categorías, etc. Debido a las limitaciones computacionales de las máquinas de aprendizaje lineal, éstas no pueden ser utilizadas en la mayoría de las aplicaciones del mundo real. La representación por medio de funciones Kernel ofrece una solución a este problema, proyectando la información a un espacio de características de mayor dimensión el cual aumenta la capacidad computacional de las máquinas de aprendizaje lineal. [11] Por tanto, las SVM son una rama popular de algoritmos, ya que se pueden utilizar para resolver problemas de clasificación no lineales. Esto se realiza con un método denominado “kernelización”. La idea básica es el uso de un kernel, cuando tratamos con combinaciones no lineales de las características originales, para proyectarlas en un espacio con más dimensiones vía una función de correspondencia Ø, de forma que los datos sean linealmente separables en este nuevo espacio, normalmente de mayor dimensión. Intuitivamente, el conjunto de datos original se transforma en otro de más dimensiones, y después se aplica una proyección para hacer las clases separables. Por último, se aplica el algoritmo, se separan las clases y se aplica la función inversa a la que provoca la proyección para volver a la distribución original de los datos (Figura 9). [9] Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 33 Figura 9. Kernel SVM. (Fuente: medium.com/datos-y-ciencia) Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 34 Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 35 4. PLANTA TENNESSE EASTMAN. Los datos que se van a utilizar para este trabajo son extraídos del proceso Tennessee Eastman (TEP) el cual ha sido ampliamente utilizado para numerosas pruebas de métodos de detección y diagnóstico de fallos. El proceso Tennessee Eastman, que constituye un problema de control, fue propuesto por Downs y Vogel en 1993. Se vieron en la necesidad de crear una planta química hipotética basada en que la compañía Eastman Chemical desarrolló con el objetivo de evaluar técnicas de control de procesos y métodos de supervisión y diagnóstico y poder extrapolarlo a otras plantas o a otro tipo de procesos. [12] El proceso ficticio produce dos compuestos a partir de cuatro reactivos. También presenta un inerte y una purga, por lo que en total se tienen ocho componentes, A-H. Las reacciones que se llevan a cabo son las siguientes: A(g) + C(g) + D(g) → G(liq) A(g) + C(g) + E(g) → H(liq) A(g) + E(g) → F(liq) 3 D(g) → 2F(liq) Todas las reacciones son reversibles y exotérmicas y su equilibrio depende de la temperatura. Se pueden asemejar todas las cinéticas de reacción de todas las reacciones del proceso a cinéticas de orden uno. Además, esto hace que se respeten las concentraciones obtenidas de producto. [13] El proceso tiene cinco operaciones clave, el reactor, el condensador, el compresor, el separador y el destilador. Se puede observar en la figura 10 todas las operaciones citadas y los componentes mencionados anteriormente. Los reactivos gaseosos se alimentan al reactor donde se convierten en productos líquidos, por lo que la reacción ocurre en fase gaseosa. La reacción esta catalizada por un disolvente no volátil que se encuentra en la fase líquida. El reactor contiene un intercambiador de calor para su refrigeración, dado que la reacción genera gran cantidad de calor. [13] Los productos que abandonan el reactor se encuentran en estado vapor. También sale como productos parte de los productos alimentados que no han reaccionado. Estos productos pasan a través de un enfriador para condensarse. Después de la condensación pasan a un separador de líquido y vapor. Los productos no condensados se recirculan mediante un compresor centrifugo y vuelven a alimentar al reactor. Los productos condensados se van Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 36 a la columna de destilación, la cual elimina las pequeñas cantidades de producto que pudieran quedar. La columna es alimentada también por una corriente de vapor pura. [13] Los productos G y H salen por la parte baja de la columna. Se llevará a cabo una separación de estos productos, pero esta operación no se encuentra dentro de los procesos de estudio. El proceso tiene 12 variables que pueden ser manipuladas y 41 instrumentos de medición, en los cuales se pueden ver los distintos cambios que se producen al cambiar las variables. En la figura 11 y en la figura 12 se encuentran las variables manipuladas y las medidas de los instrumentos respectivamente. [13] Figura 10. Esquema Planta TEP. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 37 Figura 11. Variables manipuladas TEP. Figura 12. Variables Medidas TEP. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 38 Para obtener los datos, que más adelante usaremos para la simulación, se toman datos de las variables en intervalos de 3 minutos. Se almacenan los datos en dos conjuntos de datos, el de entrenamiento y el de prueba. Cada simulación consta de 22 ensayos. El primer ensayo se realiza para un comportamiento normal de la planta, es decir sin que haya fallo. Los ensayos restantes, 21, se realizan cada uno para un tipo de fallo. Se tienen dos conjuntos de datos para cada situación, uno para entrenamiento y otro para validación. La simulación de los datos entrenamiento se realizan durante 25 horas y la de los datos de prueba se realiza durante 48 horas. Estos datos fueron generados por y son públicos pudiéndose bajar de la página web: http://web.mit.edu/braatzgroup/links.html. En la figura 13 se encuentran los 21 tipos de fallos que se pueden dar en la planta. [13] Figura 13. Fallos provocados TEP. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 39 5. SIMULACIÓN. En este capítulo describiremos el proceso que se ha seguido para desarrollar el sistema de clasificación de fallos realizado en este trabajo, se presentarán los resultados obtenidos en las simulaciones, se analizarán, se compararán y se discutirá sobre los mismos. Para clasificar los fallos se plantearon diferentes enfoques. Primero se realizó una clasificación usando redes neuronales de dos tipos, red perceptron multicapa y una red probabilística. Después se utilizó un clasificador lineal estadístico, el análisis discriminante de Fisher (FDA), después se usaron nuevos enfoques sacados de la inteligencia computacional como son las máquinas de vectores soporte (SVM) y los árboles de decisión, en concreto “ramdon forest” (RF). Se analizará el resultado de clasificación de todos ellos y se hará una comparativa para saber cuál es el mejor para esta tarea de clasificación. 5.1. DATOS DE LA PLANTA. Para la realización de la parte experimental o de simulación de este trabajo se han cogido ficheros de datos de la planta descrita en el tercer capítulo de este trabajo. La planta cuenta con 21 tipos de fallos, como se ha comentado anteriormente, pero en este trabajo solo se usarán 4 de ellos: fallo1 que consiste en un cambio en la relación entre los componentes A/C del flujo 4, fallo2 que consiste en un cambio en la composición de B en el flujo 4, fallo4 que consiste en un salto en la temperatura del agua de refrigeración del reactor y fallo5 que es un salto en la temperatura del agua de refrigeración del separador. Se trabajará con dos tipos de ficheros de datos, uno para diseñar y testear los clasificadores que consta de 960 observaciones de las 52 variables de la planta y otro para probar la eficacia de los clasificadores. Habrá dos ficheros de datos por cada tipo de fallo, por lo que en total se cuenta con ocho ficheros de datos. En los datos usados para el diseño y el entrenamiento de los clasificadores se conoce el tipo de fallo y de las 960 observaciones que se tienen, las primeras 160 son datos de comportamiento normal de la planta, es decir no son datos de fallo. A partir de la fila 161 son datos de fallo. Para diseñar los clasificadores se usarán únicamente datos de fallo, más en concreto los datos de fallo que van desde la fila 161 hasta la fila 750, es decir 590 observaciones se usan para entrenar los clasificadores. El resto de los datos, de la fila 750 hasta la 960, se utilizará para testear los clasificadores. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 40 Un segundo conjunto de datos de cada fallo se usará para testear los clasificadores, en este caso se tienen únicamente 480 observaciones, todas de fallo, de las mismas 52 variables. De estas observaciones se eliminarán las diez primeras, que son los datos de puesta en marcha de la planta y con estos datos el clasificador no funcionaría correctamente. 5.2. REDES NEURONALES. Como se ha descrito anteriormente, se utilizan redes neuronales perceptron multicapa. Lo primero que se realiza para poder llevar a cabo la clasificación, es la creación de la red neuronal, para posteriormente poder utilizarla. Para crear la red neuronal, primero tenemos que decidir cuál son las entradas a la red. En este caso con todos las variables (52) y todos los datos de entrenamiento de cada fallo puestos unos detrás de otros. Es decir, se crea una matriz de entrada formado por 52 variables y (590*4) observaciones, donde las primeras 590 son de fallo 1, las siguientes 590 son de fallos 2 y así sucesivamente. Después se deben definir la salida de la red, y cuantas neuronas hay en esta capa de salida. En este caso como hay 4 fallos se definen 4 neuronas en la capa de salida. También se necesita la salida deseada de la red neuronal para poder entrenarla. Esta salida deseada será una matriz formada por 4 variables y 590*4 observaciones. Esta matriz se diseña de la manera que el usuario quiera que la red clasifique los datos. En las redes neuronales multicapa se quiere tener una salida que valga 1 para el tipo de fallo que se quiere detectar y cero para el resto. Por tanto, tendremos una salida en la que la primera neurona detecte el fallo1, es decir, vale 1 siempre que los datos de entrada sean de fallo 1 y cero en cualquier otro caso. La segunda neurona detectará el fallo 2 y su salida deseada será 1 cuando en la entrada los datos sean de fallo 2 y cero en todos los demás y así todas las demás. Por tanto, en la primera fila, los 590 primeros datos, tendrán un valor de 1 y cero el resto. En la segunda fila, a partir del 591 y hasta el 1181 valdrán 1 y cero todos los demás y así sucesivamente. La matriz de datos de salida es de vital importancia, dado que es la que dirá qué tipo de fallo es. Según se ha diseñado para la red neuronal, si es fallo tipo 1, la primera neurona de la capa de salida nos data un 1 y cero el resto de las neuronas, si es fallo tipo 2, la segunda neurona tendrá valor uno y el resto cero, si es fallo tipo 4, la tercera neurona valdrá uno y el resto cero y para fallo tipo 5 la cuarta neurona es la que valdrá uno. Esto se observará en la salida de la red, mostrada en la figura 2 con los datos de entrenamiento, y en las Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 41 simulaciones que se realizarán para los datos de test y para los datos no conocidos que permitirán validar la red. Un segundo paso en todo método basado en datos es el preprocesamiento de la información, como filtrar el ruido, eliminar datos espurios, etc., en este caso sólo es necesario normalizar los datos de entrada entre [-1 1]. Después ya se crea la red, definiendo el número de neuronas en la capa oculta, que será el único parámetro de diseño para crear diferentes redes y quedarnos con la mejor. Después de varias pruebas la mejor selección fue con 10 neuronas en la capa oculta. Y el último paso es el entrenamiento de la red, que consiste en modificar los pesos y las bias de la red para obtener la salida deseada. En figura 14, se observa un esquema y el resultado de la red entrenada. Figura 14. Red neuronal. En la figura 15 se observa cómo es la salida de la red con los datos de entrenamiento. Se ve, que clasifica los datos de una manera muy apropiada. Salvo pequeñas oscilaciones, para el segundo y cuatro gráficos, en las que no se tiene un valor de cero exacto cuando no hay fallo. Las oscilaciones son muy pequeñas, dado que en ningún momento llegan a aproximarse siquiera a valores de 0,5. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 48 Se puede observar que todos los datos de fallo 2, fallo 4 y fallo 5 se clasifican de manera correcta y su salida es como se esperaba. Los datos de fallo 1, se clasifican bien, aunque una parte muy baja de estos datos son clasificados como fallo 5. 5.3. REDES NEURONALES PROBABILÍSTICAS. El primer paso que hay que llevar a cabo para la clasificación de datos de fallo mediante redes neuronales probabilísticas (RP) o redes de probabilidad es, al igual que en las redes neuronales preceptron multicapa, la creación del clasificador, en este caso basado en una red probabilística. Como se ha visto en el capítulo dos de este mismo trabajo, las redes neuronales y las redes probabilísticas tienen una cierta semejanza, por lo tanto, su diseño se hará también de manera similar. Las redes probabilísticas tienen una capa de entrada, que serán los datos de entrada, y se genera una capa de salida con una única neurona, por lo que la salida de esta red se verá representada, por una única fila. Lo primero que hay que realizar para crear la red neuronal, es definir cuáles son las entradas a la red. En este caso con todas las variables (52) y todos los datos de entrenamiento de cada fallo puestos unos detrás de otros. Es decir, se crea una matriz de entrada formado por 52 variables y (590*4) observaciones, donde las primeras 590 son de fallo 1, las siguientes 590 son de fallos 2 y así sucesivamente. Una vez definida la entrada de la red, hay que definir la salida de la misma. En este caso los datos de salida estarán definidos en un vector, es decir una única fila. Este vector tendrá la forma que el usuario desee y será el encargado de asociar los datos de entrada a un tipo de fallo y tendrá una dimensión de 1xm. Al crear la red para clasificar 4 tipos de fallos, se asocia un valor a cada clase de fallo. Los primeros valores, hasta el 590, valdrán 1. Los valores del 590 hasta el 1180 tendrán un valor de 2. Los siguientes 590 valdrán 3 y los últimos 590 datos valdrán 4. De tal manera que los 590 primeros valores irán asociados a datos de fallo de tipo 1, los 590 siguientes datos estarán asociados a datos de fallo tipo 2, los siguientes a fallo tipo 4 y los siguientes a fallo tipo 5. La figura 24 muestra la forma que tiene el vector de los datos de salida de la red. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 49 Figura 24. Gráfica de datos de la salida deseada para el diseño red probabilística. Según el diseño, el vector de los datos de salida definidos, cuando el fallo de entrada en la red probabilística sea tipo 1, la salida de la red dará un 1. Cuando los datos de entrada sean de tipo 2, la salida de la red dará un 2, cuando los datos de entrada sean de tipo 4, la salida mostrará un 3 y por último cuando los datos de entrada sean de tipo 5, la salida mostrará un cuatro. La salida de la red para los datos de entrenamiento se encuentra en la figura 25, como es de esperar, la clasificación es perfecta y no aparecen oscilaciones. Figura 25. Histograma de clasificación de fallos de la red probabilística con datos de entrenamiento. Una vez se ha realizado la simulación para crear la red probabilística, se pasa a probarla con los datos de test para ver si es capaz de generalizar y si se podría extrapolar el uso de este tipo de redes a aplicaciones industriales. Para Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 50 ello se crea una matriz de datos de entrada con los datos de entrenamiento de cada tipo de fallo de manera separada, esto difiere de lo realizado para la creación de la red en la que todos los tipos de fallos estaban en una única matriz de datos de entrada. Se prueba la red con los distintos tipos de fallo por separado para ver su comportamiento. Las salidas para los distintos tipos de fallos se encuentran en las figuras 26, 27, 28 y 29 respectivamente. El histograma de la figura 26, indica cuantos datos se han clasificado de manera correcta. Se observa que la mayor parte de los datos valen 1 o entorno a este valor, por lo que la clasificación mediante redes probabilísticas para datos de fallo 1 parece buena. Hay que comentar que hay unos valores que se saldrían un poco del margen de aceptación de buena clasificación dado que hay datos que llegan a valer casi 2, por lo que hay algunos valores que no se clasifican de manera óptima. Figura 26. Histograma de clasificación de la RP con datos de test con fallo 1. Como se puede observar en la figura 27 la clasificación de los datos de test de fallo 2 no es muy buena dado que aproximadamente la mitad de los datos aparecen como fallo 1 en vez de como fallo 2. También hay algunos valores, muchos menores, que aparecen como fallo 4. Se esperará a probar la red probabilística con datos no conocidos para poder llegar a una conclusión sobre su utilización como clasificador. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 51 Figura 27. Histograma de clasificación de la RP con datos de test de fallo 2. En la figura 28 se observa que la clasificación de los datos de test de fallo 4 es buena, aunque aparezcan algunos datos de los otros tipos de fallo. Cerca del 70% de los fallos, de manera aproximada, se clasifican bien, por lo que se consideraría una buena clasificación, siendo mejor que la clasificación para los datos de test de fallo 2 pero peor que la que se da con los datos de test de fallo 1. Figura 28. Histograma de clasificación de la RP con datos de test de fallo 4. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 52 Figura 29. Histograma de clasificación de la RP con datos de test de fallo 5. Finalmente, en la figura 29 se observa que la clasificación de los datos de test de fallo 5 que no es buena, ya que la mayoría de los datos los clasifica como fallo 4. Para llegar a una conclusión definitiva sobre la clasificación de datos de fallo usando las redes probabilísticas se realiza una simulación con datos no conocidos, cogidos de la planta real para ver si somos capaces de clasificar los fallos que ocurren en la planta de forma adecuada. Se crean cuatro matrices de datos de entrada para los cuatro ficheros de datos no conocidos y se observa su salida en las figuras 30, 31, 32 y 33 respectivamente. Figura 30. Histograma de clasificación de la RP con la matriz datos no conocidos 1. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 53 Se puede observar en la Figura 30 que la clasificación de estos datos es perfecta. Los datos de fallo serán de tipo 1, dado que todos los datos aparecen concentrados en el valor 1. Se observa en la figura 31 que los datos no se clasifican bien, dado que aparecen datos de fallo de todos los tipos, aunque predominando los datos de fallo de tipo 1 y de tipo 2. Se cree que los datos de fallo que almacena el segundo fichero son datos de fallo de tipo 2, dado que si fueran de fallo tipo 1 se clasificarían bien, como se ha descrito en este mismo capítulo del trabajo. La posible implementación de un clasificador de este tipo en la industria tendría que estudiarse a fondo, dado que dependiendo de las características del proceso y de los requisitos de calidad se podría usar o no. Figura 31. Histograma de clasificación de la RP con una matriz de datos no conocidos 2. Figura 32. Histograma de clasificación de la RP con la matriz de datos no conocidos 3. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 54 En la figura 32, se observa que los datos que contiene el fichero son datos de fallo 4. Aunque la red probabilística no clasifica los datos tan bien como los de fallo 1, se podría considerar una buena clasificación. La mayoría de los datos tienen el valor 3, aunque también aparecen bastantes datos de valor 4, es decir de fallo tipo 5, son muchos menos de los que aparecían al utilizar la red para clasificar el segundo fichero por lo que es una mejora. En esta figura 33, se puede observar que la clasificación es mala. Nos aparecen datos de los cuatro tipos de fallo. Dentro de estos, la cantidad de datos de fallo tipo 1, fallo tipo 4 y fallo tipo 5 es bastante grande y muy similar entre ella. Aparecen entre 150 y 200 datos de cada tipo de fallo, por lo tanto la red probabilística no nos serviría para clasificar este tipo de datos. Figura 33. Histograma de clasificación de la RP con la matriz de datos no conocidos 4. Se calculan los porcentajes de clasificación de manera analítica, los cuales se encuentran en la tabla 2. Tabla 2. Clasificación datos no conocidos Red Probabilística. Porcentaje F1 Porcentaje F2 Porcentaje F4 Porcentaje F5 Matriz 1 100 0 0 0 Matriz 2 53,0786 45,4352 1,06161 0,4246 Matriz 3 9,1295 3,1847 69,2144 18,4713 Matriz 4 45,0106 0,8493 24,6285 29,5117 Observando los porcentajes de la tabla 2, nos reafirmamos en lo expuesto anteriormente. La red probabilística será válida para clasificar los datos de fallo de tipo 1. Para los datos de fallo de tipo 4 y de tipo 2, podría considerarse apta dentro de un rango, porque la red ofrece un porcentaje de Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 55 clasificación alto y en ninguno de los casos se acerca al 100% de clasificación. Como se ha expresado antes el uso de este clasificador para fallos de este tipo dependerá de la actividad o de los requisitos de la empresa. Se descarta el uso de redes probabilistas para la clasificación de fallos de tipo 5, dado que el porcentaje de clasificación es muy bajo y esto no suele convenir en las actividades industriales, porque supondría un gasto de implementación de la red que no aporta casi beneficios al proceso. 5.4. DISCRIMINANTE DE FISCHER. El primer paso para para poder realizar una clasificación de los datos mediante una simulación utilizando el discriminante de Fischer, es crear el propio discriminante, de manera análoga a como hemos creado en los dos casos anteriores las redes. Para crear el discriminante de Fischer, hay que definir cuáles serán las entradas de datos para que posteriormente con una función matemática, nos pueda clasificar los diferentes datos. Dependiendo de la variabilidad de los datos elegida, en la creación del discriminante de Fisher, aparecen una serie de autovalores de los que dependerá la buena o mala clasificación de los datos. En este caso, al igual que en los dos anteriores, con todas las variables (52) y todos los datos de entrenamiento de cada fallo puestos unos detrás de otros, se crea una matriz de entrada que estará formada por 52 variables y (590*4) observaciones, donde las primeras 590 son de fallo 1, las siguientes 590 son de fallos 2 y así sucesivamente. Una vez se ha creado la matriz de los datos de entrada, se calculan la matriz de dispersión de cada tipo de fallo, la matriz de dispersión dentro de las clases, la matriz de dispersión total y la matriz de dispersión entre clases. Estas matrices son necesarias para calcular los autovalores. Dependiendo de la variabilidad de los datos que se tome, se tendrá un número de autovalores, a mayor número de autovalores, mejor clasificación se dará. Una vez se determina la variabilidad, se obtienen los autovalores y autovectores y se aplica la función de Fischer que nos clasificara los datos. Para una variabilidad del 80% elegida por el usuario se aplica el discriminante de Fischer para los datos de entrenamiento, se calculan las funciones g definidas en el capítulo 2 de esta memoria y se obtienen los resultados que se encuentran representados en las figuras 33, 35, 36 y 37. Los datos que se pueden observar en azul son los datos de fallo tipo 1, los datos en rojo los datos de fallo tipo 2, los datos de fallo tipo 4 se encuentran representados en verde y por último los datos de fallo tipo 5 se encuentran Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 56 representados en negro. El color asociado al tipo de fallo queda establecido de esta manera para toda la descripción de este método de clasificación. En la figura 34 se puede observar como el discriminante separa los datos de fallo 1 del resto de datos, salvo al principio de la gráfica en la que los datos pueden aparecer mezclados, en el resto se ve que la clasificación es buena y que se separan de manera adecuada. Figura 34. Grafica FDA con los datos de entrenamiento. Figura 35. Gráfica FDA con datos los de entrenamiento. Los datos de fallo tipo 2 y los datos de fallo tipo 4 no se clasifican bien. Se puede observar que los datos de fallo tipo dos quedan por encima de los de Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 57 fallo tipo 4, pero se encuentran muy mezclados y esto conllevaría a problemas. Hay que destacar que, aunque los datos de fallo 2 y de fallo 3 aparecen mezclados, al principio de la simulación todos los datos se encuentran bien clasificados y no aparecen juntos como si se podía observar en la figura 34. También se puede mencionar que, aunque la figura 35 represente la clasificación de los datos de fallo 2 respecto al resto de datos, los datos de fallo 1, representados en azul, y los datos de fallo 5, representados en negro, se encuentran separados. Figura 36. Gráfica FDA con los datos de entrenamiento. En la figura 36, se observa algo muy parecido a lo visto en la figura 35. Los fallos de tipo 2 y de tipo 4 no se clasifican bien y no se separan entre ellos. En este caso los valores de fallo 4 son mayores que los de fallo 2, dado que la gráfica verde está por encima que la gráfica roja. Los datos no aparecen juntos al principio de la simulación. Las conclusiones que se han llevado para la figura 35, también pueden aplicarse a este caso, dado que lo que ocurre es muy parecido. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 64 son datos de fallo tipo 4 y la figura 36, nos indica que los datos de fallo de la matriz de datos de entrada 4 son datos de fallo tipo 5. Figura 47. Clasificación FDA con la matriz 2 de datos no conocidos. Figura 48. Clasificación FDA con la matriz 3 de datos no conocidos. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 65 Figura 49. Clasificación FDA de la matriz 4 de datos no conocidos. Aunque mediante las figuras se observa claramente el tipo de fallo de cada una de las matrices de datos y la calidad de la clasificación, se calcula de manera analítica los porcentajes de clasificación, cuyos datos se encuentran en la tabla 3. La clasificación de todos los datos que contienen las matrices de entrada es perfecta, dado que se clasifican todos los datos de manera adecuada, por lo que el uso para actividades industriales del discriminante de Fischer como clasificador es muy apropiado. Tabla 3. Porcentaje Clasificación datos no conocidos con FDA. Porcentaje F1 Porcentaje F2 Porcentaje F4 Porcentaje F5 Matriz 1 100 0 0 0 Matriz 2 0 99,3631 0 0,6369 Matriz 3 0 0 100 0 Matriz 4 0,2123 0 0 99,7877 Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 66 5.5. ARBOLES DE DECISIÓN. Para poder llevar a cabo una clasificación mediante el uso de árboles de decisión, lo primero que se tiene que realizar, como en el resto de los clasificadores es la creación del mismo. En este trabajo, se utiliza no sólo un árbol de decisión, sino un conjunto de árboles, cuyo número debe decidir el usuario, que trabajan conjuntamente para hacer el clasificador, de ahí su nombre, bosque aleatorio o “random forest” (RF). Como en los casos anteriores, lo primero que hay que definir son los datos de entrada. En este caso, al igual que en los anteriores, con todas las variables (52) y todos los datos de entrenamiento de cada fallo puestos unos detrás de otros. Es decir, se crea una matriz de entrada formado por 52 variables y (590*4) observaciones, donde las primeras 590 son de fallo 1, las siguientes 590 son de fallos 2 y así sucesivamente. Para la salida de los árboles de decisión, se define un vector de dimensión de 1xn, siendo n el número de filas que tiene la matriz de los datos de entrada, por lo que la salida se mostrara en una única fila. Como en las anteriores simulaciones la salida se define por el usuario y es la que va a ayudar a ver si la clasificación se realiza de manera correcta o no es así. Al crear este tipo de clasificador para clasificar 4 tipos de fallos, se asocia un valor a cada clase de fallo. Los primeros valores, hasta el 590, valdrán 1. Los valores del 590 hasta el 1180 tendrán un valor de 2. Los siguientes 590 valdrán 4 y los últimos 590 datos valdrán 5. De tal manera que los 590 primeros valores irán asociados a datos de fallo de tipo 1, los 590 siguientes datos estarán asociados a datos de fallo tipo 2, los siguientes a fallo tipo 4 y los siguientes a fallo tipo 5. Se puede elegir el número de árboles que vaya a contener este paquete. Para la simulación de este trabajo se crea un paquete de 100 árboles. Las características que tiene el paquete de árboles creado se encuentran en la figura 50. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 67 Figura 50. Características de los árboles de decisión Una vez se ha creado y entrenado el paquete de árboles de decisión (RF) que se utilizará como clasificador con los datos de entrenamiento, se prueba con los datos de test, para poder empezar a tomar conclusiones sobre la capacidad de clasificación. Se crea nuevamente una matriz de datos de entrada y se realiza la clasificación de estos datos, en la figura 51 se puede observar la salida del RF con los datos de test. Figura 51. Salida del ensamble de árboles de decisión con los datos de test. Se puede comprobar que la clasificación es perfecta, porque no hay ningún dato de la planta (asteriscos azules) que no se ajuste con la salida esperada (línea roja). Se realiza una última simulación para los datos no conocidos. El modo de implementación es igual que para los datos de test, solo que los ficheros con los que se crea la matriz de entrada son los de datos no conocidos. Una Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 68 vez creada la matriz, se realiza la clasificación de los datos no conocidos la cual se puede observar en la figura 52. Se observa en la figura 52, que la clasificación es muy buena salvo muy pocos valores. Aparecen algunos datos de fallo 5 en los datos de fallo 2 y algunos datos de fallo 1 en los datos de fallo 5. Aun con estas pequeñas deviaciones, la clasificación es muy buena. Se calcula también el porcentaje de clasificación de manera analítica. Los porcentajes de clasificación para cada tipo de fallo se encuentran en la tabla 4. Figura 52. Salida del ensamble de árboles de decisión con datos no conocidos. Tabla 4. Clasificación datos no conocidos árboles de decisión. Porcentaje F1 Porcentaje F2 Porcentaje F4 Porcentaje F5 Matriz 1 100 0 0 0 Matriz 2 0 99,3631 0 0,6369 Matriz 3 0 0 100 0 Matriz 4 0,2123 0 0 99,7877 Los porcentajes de clasificación de los fallos son extremadamente buenos, dado que en ningún caso son menores que el 99%. Se puede ver que los valores analíticos se corresponden con lo visto en la figura 39, hay algunos valores que en la clasificación del fallo 2 y del fallo 5 no corresponden por eso no se llega a tener un valor de clasificación del 100% como ocurre para el fallo 1 y el fallo 4. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 69 5.6. MÁQUINAS DE VECTORES SOPORTE (SVM). Como bien se ha expuesto en el capítulo dos de este trabajo la clasificación mediante máquinas de vectores soporte es un poco diferente al resto de maneras de clasificar. En los otros clasificadores valía con crear una red o un conjunto de árboles compactos, sin embargo, aquí se tendrán que crear tres clasificadores, ya que las SVM son clasificadores binarios, es decir, sólo pueden distinguir dos clases diferentes. La creación de los tres clasificadores se hará en la misma simulación con los datos de entrenamiento. Cuando se vayan a realizar los test y el análisis para los datos no conocidos también se aplicarán los tres clasificadores de manera simultánea. El primer clasificador que se creará será capaz de distinguir los datos de fallo tipo 1 del resto de datos. El segundo clasificador se diseñará para clasificar los datos de fallo tipo 2 del resto de datos. En este caso los otros datos serán únicamente datos de fallo de tipo 4 y de tipo 5, por que los datos de fallo de tipo 1 ya se habrían descartado en el primer clasificador. El tercer y último clasificador se utilizará para clasificar los datos de fallo tipo 4 de los fallos de tipo 5. Para crear el primer clasificador la matriz de datos de entrada contendrá todos los datos de fallo de entrenamiento. Es decir, se crea una matriz de entrada formado por 52 variables y (590*4) observaciones, donde las primeras 590 son de fallo 1, las siguientes 590 son de fallos 2 y así sucesivamente. Para definir la salida del primer clasificador se define un vector de datos de salida que tendrá una dimensión 1xn, siendo n la dimensión de las filas de la matriz de entrada. Tomará un valor de 1, para los primeros 590 valores, dado que corresponden con datos que se asocian a fallo 1. Para el resto de los valores valdrá -1, dado que no son datos de fallo 1. De manera análoga, se crea la matriz de datos de entrada y la matriz de datos de salida para los otros dos clasificadores, lo único que cambia es que las dimensiones de ambas van cambiando. Para el segundo clasificador la matriz de datos de entrada solo contiene datos de entrenamiento de fallo 2, fallo 4 y fallo 5. El vector de salida, de dimensión 1xn1, valdrá 1, para los primeros 590 valores, dado que corresponden con datos que se asocian a fallo 2. Para el resto de los valores valdrá -1, dado que no son datos de fallo 2. Para el tercer clasificador la matriz de datos de entrada solo contiene datos de entrenamiento de fallo 4 y fallo 5. El vector de los datos de salida tiene la dimensión, 1xn2, pero en este caso los 590 primeros datos valen 1, por ser de fallo tipo 4 y los 590 datos restantes valen -1, por no ser datos de fallo tipo 4, y por lo tanto serán datos de fallo tipo 5. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 70 En las figuras 53, 54 y 55 se puede observar la salida para los tres clasificadores con la clasificación para los datos de entrenamiento. Figura 53. Salida de la SVM1 con datos entrenamiento La línea roja representa la salida esperada. Los asteriscos azules representan los datos. Se puede ver que la clasificación es muy buena, solo hay un dato que se salga del rango. Esto es de esperar dado que los datos utilizados son los datos entrenamiento. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 71 Figura 54. Salida de la SVM2 con los datos de entrenamiento La línea roja representa la salida esperada. Los asteriscos azules representan los datos. Se puede ver que la clasificación es muy buena, solo hay un dato que se salga del rango. Esto es de esperar dado que los datos utilizados son los datos conocidos. Ocurre lo mismo que con los datos de fallo 1, algunos datos al principio no se clasifican de manera correcta. Figura 55. Gráfica salida de la SVM3 con los datos de entrenamiento. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 72 La línea roja representa la salida esperada. Los asteriscos azules representan los datos. Se puede ver que la clasificación es mejor que las anteriores, dado que todos los datos se clasifican como corresponden. Esto puede ser debido a que tenemos menor número de datos. Una vez se han creado los tres clasificadores, se realiza una simulación para testearlos con los datos seleccionados para esto. Se realiza el mismo procedimiento que el realizado para crear los clasificadores solo que los datos utilizados son los de prueba. Se crearán tres matrices de datos de entrada y se realiza la clasificación con las 3 SVMs previamente entrenadas y se obtiene la clasificación para los datos de test que se puede observar en las figuras 56, 57 y 58 respectivamente. Al realizar la simulación se obtienen las siguientes gráficas de las matrices de salida (gráfica roja→salida deseada) comparadas con los datos clasificados (asteriscos azules). Figura 56. Salida de SVM1 con los datos de test Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 73 Figura 57. Salida de la SVM2 con los datos de test. Figura 58. Salida de la SVM3 con datos de test. Como se puede observar en las figuras 56, 57 y 58 la clasificación mediante vectores soporte para los datos de test es excelente. No hay ningún dato que se encuentre fuera del rango, por lo tanto, los tres clasificadores se han creado de manera apropiada. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 80 • El fallo de tipo 1, cambio en la relación de los componentes A/C, se detectada de manera óptima, con un porcentaje muy elevado de clasificación, casi el 100% de clasificación en todos los casos. Por lo tanto, si solo se quisiera detectar este tipo de fallo se podría usar cualquier tipo de clasificador. La calidad del proceso no se vería afectada por ser capaz de detectar las anomalías de este. • El fallo de tipo 2, cambio en la composición del flujo de B, es detectado de manera óptima por todos los clasificadores salvo por la red neuronal probabilística diseñada, para la cual solo se da un 45% de clasificación. En caso de que solo se quisiera detectar este tipo de fallo, se podría usar cualquier tipo de clasificador salvo la red neuronal probabilística. • El fallo de tipo 4, salto de la temperatura del agua de refrigeración del reactor, es detectado con una clasificación del 100% mediante el uso de red neuronal, FDA, árboles de clasificación y SVM, por lo que, si se quisiera detectar únicamente los cambios de temperatura en el agua de refrigeración, cualquiera de estos clasificadores se podría utilizar. Mediante el uso de la red neuronal probabilística, se obtiene un porcentaje de clasificación del 70%. Es difícil llegar a una conclusión del uso de este tipo de clasificador para detectar este tipo de fallo, dado que es un porcentaje de clasificación alto, aunque no clasifique todos los datos de este tipo de fallo. Desde un punto de vista conservador, se descarta su uso. • El fallo de tipo 5, salto de la temperatura del agua de refrigeración del separador, es detectado de manera óptima por todos los clasificadores salvo por la red neuronal probabilística diseñada, para la cual solo se da un 30% de clasificación, siendo el porcentaje de clasificación más bajo que aparece en toda la parte de la simulación. En caso de que solo se quisiera detectar este tipo de fallo, se podría usar cualquier tipo de clasificador salvo la red neuronal probabilística. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 81 6.2. TRABAJO FUTURO. Una vez se ha llevado a cabo el estudio de todas las técnicas de clasificación y de diagnóstico de fallos propuestas para el desarrollo de este trabajo, hay que mirar hacia el futuro y ver como se podría complementar este estudio. Se podría realizar un ensamble de todos los clasificadores diseñados, salvo la ya descartada red neuronal probabilística. Los ensambles permiten que los errores no correlacionados de clasificadores individuales puedan eliminarse por votación mayoritaria, es decir, se clasificaría el dato con los cuatro clasificadores y se tomaría como clasificación final un único dato. Para obtener este dato final, se hace una “votación” entre los cuatro clasificadores, es decir el tipo de fallo que se detecte por medio de los clasificadores será el tipo de fallo que se está detectando. [14] Las estrategias de ensamble más utilizadas son Bagging, Boosting y Stacking. También hay varias estrategias de voto, entre las que se encuentran el voto mayoritario, el voto Bayesiano, la técnica de “ranqueo”, el voto pesado y mediante combinación lineal entre otros. [14] Figura 14. Esquema Ensamble. (Fuente: ccc.inaoep.mx) Otra opción bastante recomendable de trabajo futuro sería aplicar los clasificadores diseñados al resto de tipos de fallo de la planta y ver a que conclusiones se llegarían. La programación y la implementación para esta situación, sería muy sencilla y fácil de hacer, simplemente cambiando los datos de entrada y salida del entrenamiento de cada clasificador y volver a entrenarlos. En los resultados obtenidos, lo más probable es que hubiera que descartar algún tipo más de clasificador. También al haber un mayor número de fallos, el tiempo de la clasificación cabe esperar que sea mayor, por lo que este parámetro también seria de interés para obtener el mejor clasificador. Los datos que se han utilizado para el diseño y estudio de los clasificadores han sido únicamente datos de fallo, pero en una situación de trabajo normal los datos de fallo se mezclan los de comportamiento normal de Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 82 la planta o fabrica. El paso previo que se podría haber realizado seria la detección del fallo con el análisis de los componentes principales (PCA) y una vez detectado el fallo utilizar las técnicas estudiadas en este trabajo para diagnosticar los mismos. [15] El análisis de los componentes principales es una técnica matemática que sirve para reducir el número de variables de forma que el mínimo número de variables esté presente en el problema a tratar. Implementando algoritmos matemáticos de PCA, se lograría extraer los datos de comportamiento normal de los datos de fallo. [15] Otra opción, hubiera sido introducir los datos de comportamiento normal como otra clase de comportamiento, llamada por ejemplo fallo 0 y tratar de clasificar también esta nueva clase. Lo explicado anteriormente, desde mi punto de vista, es lo prioritario y lo que más intereses pueden proporcionar para un estudio futuro, dado que también se podría llevar a cabo la implementación de otros tipos de clasificadores. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 83 7. BIBLIOGRAFÍA. [1] Bakdi, Azzeddine y Kouadri, Abdelmalek. A new adaptive PCA based thresholding scheme for fault detection in complex systems. [2] Rivas, R, Zubieta, P y Garcini, H. Detección y diagnóstico automático de fallos en procesos industriales. Enero 2002. [3] Ngua Ngua Ayecaba, Adolfo Cursillo. Diseño de sensores software no lineales para la estimación de las variables de calidad de los procesos, Trabajo Fin de Grado de Ingeniería Electrónica Industrial y Automática, EII, Universidad de Valladolid. 2019. [4] Guemes García, Enrique. Diseño de sensores software para el control de calidad de un proceso. TFG Ingeniería en Tecnologías Industriales, EII Universidad de Valladolid. 2018. [5] Specht, Donald F. Probabilistic Neural Networks. Junio 1989. [6] Robles, Víctor. Tesis Doctoral: Clasificación Supervisada basada en Redes Bayesianas. Aplicación en Biología Computacional. 2003 [7] Cadena, Juan Andrés. Cadena, Juan Mauricio. Pérez, Sandra Milena. Aplicación de redes neuronales probabilísticas en la detección de fallas incipientes en transformadores. Septiembre 2008. [8] L. Puigjaner, P. Ollero, C. De Prada, L. Jiménez, Detección y diagnóstico de fallos, capítulo 10 de: Estrategias de modelado, simulación y optimización de procesos químicos, Ed, Síntesis. 2006, [9] Roman, Víctor. Aprendizaje Supervisado: Introducción a la Clasificación y Principales Algoritmos. Marzo 2019. Consulta(8/7/2019) https://medium.com/datos-yciencia/aprendizaje-supervisado-introducci%C3%B3n-a-laclasificaci%C3%B3n-y-principales-algoritmos-dadee99c9407 [10] Breiman, Leo. Random Forests. Machine Learning. Mayo 2001. [11] Alba, José Luis. Máquinas de Vectores Soporte (SVM). Agosto 2014. Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 84 [12] J.J. Downs, E.F. Vogel, A plant-wide industrial process control problem, Compututer Chemical Engineering 17. 1993. [13] L. Chiang, E. Russell, R. Braatz, Fault Detection and Diagnosis in Industrial Systems, Springer-Verlag. 2000. [14] Morales, Eduardo. Instituto Nacional de Astrofísica óptica y electrónica de Méjico. Consulta (8/7/2019) https://ccc.inaoep.mx/~emorales/Cursos/Aprendizaje2/Acetatos/ens ambles.pdf [15] Autor desconocido. Consulta (8/7/2019).https://www.lissolutions.es/blog/algoritmo-pca-de-lo-complejo-a-lo-sencillo/ Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 85 Técnicas de clasificación. Detección y diagnóstico de fallos. J.I. Medrano Sanz. 86