descubrimiento de conocimiento mediante ......velocidades de respuesta son muy lentas e incluso...

20
DESCUBRIMIENTO DE CONOCIMIENTO MEDIANTE TÉCNICAS DE MINERÍA DE DATOS APLICADAS A SERIES TEMPORALES PARA LA OPTIMIZACIÓN DE PROCESOS INDUSTRIALES Francisco Javier Martínez de Pisón Ascacíbar ap , Alpha Pernía Espinoza a , Manuel Castejón Limas b , Ana González Marcos b , a Universidad de La Rioja, c/ Luis de Ulloa 20, 26004, Logroño-La Rioja, Spain. b Universidad de León, Campus de Vegazana, s/n, 24071, León-Castilla y León, Spain. RESUMEN Uno de los campos de investigación que más futuro tiene, dentro de la Minería de Datos aplicada a la Optimización de Procesos Industriales, corresponde con la búsqueda de conocimiento oculto dentro de series temporales multivariantes. Este tipo de datos es muy típico y aparece en cualquier base de datos de históricos de una planta industrial. Hoy en día, el desarrollo de herramientas que permitan extraer reglas o patrones de grandes bases de datos de históricos puede ser de gran ayuda para la toma de decisiones o la mejora de los procesos productivos. En este artículo, se plantea un tipo de metodología para la búsqueda de reglas asociativas que permitan extraer conocimiento, no obvio, de bases de datos compuestas por series temporales multivariantes. La idea consiste en encontrar, dentro de las series temporales, interrelaciones entre patrones que se repitan asiduamente y, representar dichas relaciones en forma fácilmente comprensible por el experto. Por ejemplo, analizando las series temporales correspondientes a un cierto proceso industrial podríamos deducir la siguiente regla (lógicamente será interesante si se repite un cierto número de veces): “cuando la temperatura sube linealmente y la presión permanece por debajo de un cierto nivel x entonces se produce un descenso de la calidad del producto”. Esta regla, no conocida previamente, permitiría a un experto tomar decisiones para poder evitar esa pérdida de calidad del producto. En este artículo se explicará la metodología planteada y las etapas en que se divide la misma. Palabras clave: minería de datos, series temporales, reglas asociativas. ABSTRACT One of the investigation fields that has more future, within Data Mining applied to the Optimization of Industrial Processes, corresponds with the search of hidden knowledge in multivariate time series. This type of data is very common and appears in any database of historical industrial plants. Nowadays, the development of tools that allow extracting rules or patterns of enormous historical databases can be useful for the decision making or the improvement of productive processes. 1053

Upload: others

Post on 12-Mar-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

DESCUBRIMIENTO DE CONOCIMIENTO MEDIANTE TÉCNICAS DE MINERÍA DE DATOS APLICADAS A SERIES TEMPORALES PARA

LA OPTIMIZACIÓN DE PROCESOS INDUSTRIALES

Francisco Javier Martínez de Pisón Ascacíbar ap, Alpha Pernía Espinozaa, Manuel Castejón Limas b, Ana González Marcos b,

a Universidad de La Rioja, c/ Luis de Ulloa 20, 26004, Logroño-La Rioja, Spain.

b Universidad de León, Campus de Vegazana, s/n, 24071, León-Castilla y León, Spain.

RESUMEN

Uno de los campos de investigación que más futuro tiene, dentro de la Minería de Datos aplicada a la Optimización de Procesos Industriales, corresponde con la búsqueda de conocimiento oculto dentro de series temporales multivariantes. Este tipo de datos es muy típico y aparece en cualquier base de datos de históricos de una planta industrial. Hoy en día, el desarrollo de herramientas que permitan extraer reglas o patrones de grandes bases de datos de históricos puede ser de gran ayuda para la toma de decisiones o la mejora de los procesos productivos. En este artículo, se plantea un tipo de metodología para la búsqueda de reglas asociativas que permitan extraer conocimiento, no obvio, de bases de datos compuestas por series temporales multivariantes. La idea consiste en encontrar, dentro de las series temporales, interrelaciones entre patrones que se repitan asiduamente y, representar dichas relaciones en forma fácilmente comprensible por el experto. Por ejemplo, analizando las series temporales correspondientes a un cierto proceso industrial podríamos deducir la siguiente regla (lógicamente será interesante si se repite un cierto número de veces): “cuando la temperatura sube linealmente y la presión permanece por debajo de un cierto nivel x entonces se produce un descenso de la calidad del producto”. Esta regla, no conocida previamente, permitiría a un experto tomar decisiones para poder evitar esa pérdida de calidad del producto. En este artículo se explicará la metodología planteada y las etapas en que se divide la misma. Palabras clave: minería de datos, series temporales, reglas asociativas. ABSTRACT One of the investigation fields that has more future, within Data Mining applied to the Optimization of Industrial Processes, corresponds with the search of hidden knowledge in multivariate time series. This type of data is very common and appears in any database of historical industrial plants. Nowadays, the development of tools that allow extracting rules or patterns of enormous historical databases can be useful for the decision making or the improvement of productive processes.

1053

In this article, a type of methodology for searching associative rules that allows extracting knowledge no obvious from historical databases composed by multivariate temporary series is presented. The principal idea consists of finding, within the temporary series, interrelations between patterns that repeat themselves assiduously and, to represent these relations in an easily comprehensible manner by the expert. For example, analyzing the temporary series corresponding to a certain industrial process we could deduce the following rule (logically it will be interesting if a certain number of times is repeated): "when the temperature raises linearly and the pressure remains below a certain level x then takes place a reduction of the product’s quality ". This rule, non well-known previously, would allow an expert to make decisions to be able to avoid that loss of product’s quality. In this article will be explained the raised methodology and the stages in which it is divided. Key Words: data mining, time series, associative rules, serial data mining. LINEA TEMÁTICA: Ingeniería de Producto y de los Procesos. SUBÁREA: Mejora de los procesos de construcción y producción.

1054

1. INTRODUCCIÓN Dentro de un proceso industrial, es usual encontrarse con bases de datos repletas de series temporales. Usualmente, éstas corresponden a medidas continuas o discretas que siguen un orden no aleatorio y que son capturadas con una frecuencia de muestreo constante dentro de un periodo cronológico relativamente largo. Estas medidas, suelen obtenerse de forma automática a partir de sensores que indican el estado de algún dispositivo a lo largo del tiempo, como por ejemplo: la temperatura de un horno, espesor real de una pieza fabricada, la presión en una tubería, la velocidad de un motor, el caudal de un fluido, si un botón se ha pulsado, etc.; o valores que son introducidos manualmente por algún operario, por ejemplo: resultado de un ensayo de calidad, aspecto visual, etc. También pueden ser señales de consigna o valores objetivo para dispositivos o actuadores, como por ejemplo: la señal de apertura de una electroválvula, la consigna de activación de un cilindro neumático, la velocidad objetivo de un motor, la temperatura esperada de un acero a la salida de un horno, el caudal necesario de agua, etc.

Fig. 1 - Ejemplo de visualización de las variables de control de un horno del ciclo de recocido de un proceso de galvanizado de bobinas de acero con: valores de lectura de la temperatura de la banda de acero a la entrada y salida del horno (TMPP1, TMPP2), valores correspondientes a consignas del horno en diversas zonas (TMPH1SP, TMPH3SP, TMPH5SP), temperatura de consigna de la banda de acero a la salida del horno (TMPP2SP), velocidad de la banda de acero (VEL) y el espesor y anchura de la banda de acero (THICKN, WIDTH). Además de este tipo de parámetros, también nos podemos encontrar con variables que son constantes durante ciertos intervalos de tiempos y que corresponden a estados o valores objetivo del proceso relacionados con dichos intervalos, como por ejemplo: la fecha de

1055

fabricación, el producto que se está fabricando o transformando en ese momento, la calidad esperada, el espesor o anchura del material que se está tratando, el operario que está trabajando en ese turno, etc. Muchas veces, este último tipo de variables no están almacenadas como series temporales aunque pueden ser fácilmente convertibles en ellas. Tradicionalmente, el experto que analiza bases de datos de históricos de un proceso industrial, se encuentra con multitud de series temporales almacenadas en diversas tablas con intervalos de tiempo diferentes o incluso, con variables que deben ser convertidas a series temporales para que puedan ser analizadas correctamente. El primer paso lógico consiste en desarrollar una tabla con las variables más importantes del proceso adaptándolas dentro de la misma escala de tiempos. 1.1 Extracción de Conocimiento en Series Temporales Es bien conocido, que la capacidad del cerebro humano para segmentar y extraer patrones visuales es muy superior a la de cualquier sistema de visión artificial actual. Igualmente, el cerebro es capaz de discernir sonidos, sabores, olores o texturas al tacto. Igualmente, el experto que pretende extraer algún conocimiento útil que permita desarrollar estrategias de mejora de un proceso industrial, utiliza esta habilidad para descubrir visualmente patrones repetitivos y sus interrelaciones en el tiempo. Para ello, él experto hace uso de gráficas temporales como la mostrada en la figura 1. Muchas veces, cuando escuchamos a un experto argumentar sobre el comportamiento de una serie temporal oímos términos del estilo “este segmento crece linealmente” o “este segmento decrece exponencialmente”, que demuestran claramente la forma en que el ser humano describe localmente una serie temporal. Este tipo de segmentación visual se realiza dividiendo la serie temporal en subseries o segmentos cuya forma o apariencia se aproxima a patrones ya conocidos (líneas, curvas crecientes o decrecientes, etc.) igual a como hace el cerebro para describir cualquier nuevo objeto que se le presenta.

Fig. 2 - Detección de relaciones temporales entre variables.

1056

Efectivamente, si el ser humano utiliza su conocimiento previo para describir nuevos objetos, así mismo, toda serie temporal puede ser descrita con mayor o menor precisión, mediante una serie de patrones ya conocidos. El aspecto realmente interesante surge cuando se analizan aquellas secuencias de patrones que se repiten y se obtienen dependencias temporales entre diversas variables. Por ejemplo, analizando las series temporales correspondientes a un cierto proceso industrial (ver figura 2) podríamos deducir la siguiente regla (lógicamente será interesante si se repite un cierto número de veces): “cuando la temperatura sube linealmente y la presión permanece por debajo de un cierto nivel entonces se produce un descenso de la calidad del producto”. Obviamente, es requisito indispensable que exista una serie de situaciones repetidas en donde segmentos de la variable “calidad” decrecen cuando partes de la variable “temperatura” crecen linealmente mientras que la “presión” está por debajo de un cierto “umbral”. La búsqueda de este conocimiento puede complicarse aún más, porque este tipo de correlaciones locales no solamente puede corresponder al mismo instante temporal, sino que pueden aparecer dependencias entre variables con importantes desfases en el tiempo. Esto es muy común en sistemas con fuertes inercias como algunos procesos químicos o físicos, cuyas velocidades de respuesta son muy lentas e incluso varían según las condiciones del entorno. De lo anteriormente expuesto, se puede deducir que esta tarea solamente se puede realizar visualmente cuando la cantidad de información a manejar no es muy elevada, siendo prácticamente imposible cuando el número de variables y el número de observaciones crece considerablemente. Esto es típico en los procesos industriales donde podemos encontrarnos con decenas o centenas de parámetros y decenas de miles o cientos de miles de observaciones en cada una de ellas. En estos últimos años han surgido técnicas de Minería de Datos orientadas al análisis de Series Temporales que pretenden ayudar a analizar grandes bases de datos con el objetivo de obtener conocimiento útil y oculto que pueda servir de ayuda para la toma de decisiones o la generación de nuevos modelos de predicción. El objetivo fundamental de este artículo se centra en la descripción de una metodología que se plantea para poder descubrir patrones repetitivos y sus interdependencias dentro de series temporales de históricos de procesos industriales. Primeramente, se pasará a describir la metodología propuesta desarrollando con cierta profundidad cada uno de los pasos de la misma. Por último se plantearán las conclusiones y futuras líneas de investigación.

1057

2. METODOLOGÍA PROPUESTA La metodología propuesta se compone de las siguientes etapas.

1. Filtrado de cada serie temporal para eliminar el ruido y obtener la forma básica de la misma.

2. Obtención de los cruces por cero de la primera derivada (máximos y mínimos de la señal).

3. Extracción de los tramos “incrementales (INC)”, “decrementales (DEC)” y “horizontales (HOR)” según unos umbrales previamente establecidos para cada serie temporal.

4. Agrupamiento de los tramos “INC”, “DEC” y “HOR” que tengan una forma y longitud similares. Etiquetado de los tramos obtenidos según la familia a la que pertenecen.

5. Búsqueda de secuencias de tramos parecidas (patrones) dentro de cada serie temporal. Etiquetado de aquellas secuencias que se repiten un elevado número de veces.

6. Búsqueda de secuencias de patrones que se repitan entre las diversas series temporales. Extracción de reglas asociativas de aquellos casos que aparecen un elevado número de ocasiones y tienen un elevado índice de aciertos.

7. Presentación de las reglas asociativas en una forma entendible por el usuario. 2.1 Filtrado de cada serie temporal y obtención de cruces por cero Antes de realizar el proceso de segmentación de una señal, es conveniente realizar un filtrado de la misma. Dentro de las múltiples técnicas para filtrado de señales, una de las más conocidas y fáciles de aplicar corresponde con el filtro de medias móviles. Dicho filtro se calcula mediante una ventana que se desliza de forma que cada punto de la nueva señal convertida es igual a la media de los w puntos que tiene alrededor, siendo w la anchura de la ventana. Generalmente, este tipo de filtros se denominan “filtros de ventana rectangular” o “filtros de medias móviles” y son muy utilizado para “suavizar” señales. Otro tipo de filtro, variante del anterior, y cuyo comportamiento es mucho más adecuado, corresponde con el filtro de ventana de gauss [Ramsay and Silverman, 1997]. En dicho filtro, al igual que en el método anterior, cada punto es obtenido por la media de los puntos pertenecientes a la ventana en la que están inmersos pero multiplicado por un factor obtenido de una ecuación tipo “campana de gauss” de forma que la influencia de los puntos más alejados es menor que la de los más cercanos. Diversos autores recomiendan este segundo filtro, porque el tipo de suavizado obtenido es mucho estable para cada tipo de anchura de ventana utilizado. Lógicamente, una vez decididos a utilizar un filtro de gauss, la siguiente duda que se nos plantea corresponde con el ancho de la ventana. Efectivamente, la idea fundamental es la de conseguir eliminar el ruido para obtener la forma básica de la señal, tal y como haría un experto visualmente, pero sin eliminar transitorios de la misma que realmente sean importantes. Esto es debido a que una ventana con una anchura demasiado grande (ver último caso de la figura 3) puede destruir la forma básica de la señal,

1058

(sobretodo en las zonas con aquellos cambios bruscos de pendiente que se desean tomar encuenta dentro del estudio) mientras que si la ventana es demasiado pequeña (ver segundo caso de la figura 3) el ruido puede seguir existiendo en la señal filtrada lo que significa que puede dificultar enormemente la abstracción de la señal.

Fig. 3 - Filtros realizados con ventana “campana de gauss” de diferentes anchuras. Hay que tomar en cuenta que las series temporales provenientes de señales de procesos industriales pueden provenir de una variedad de fuentes considerable: ruido de sensores, fallos, discontinuidades, espúreos, cambios de ruido, distorsiones de señal, degradación de señales, perturbaciones locales, etc. Cada una de ellas puede tener un comportamiento en el dominio del tiempo y de la frecuencia completamente diferente por lo que, es necesario, que sean estudiadas por el experto separadamente. Por ejemplo, el ruido usualmente corresponde al dominio de la alta frecuencia y generalmente se produce en un periodo de tiempo relativamente largo, por otro lado, muchos fallos o perturbaciones locales pueden estar dentro de la alta frecuencia pero en espacios de tiempo muy cortos. Otro tipo de señales, como por ejemplo la degradación de señal, corresponden claramente a un dominio frecuencial bajo pero con un periodo de tiempo grande.

1059

Obviamente, si deseamos extraer patrones de comportamiento de una serie temporal obtenida de un proceso industrial, debemos buscar la estructura general de la señal sin considerar el ruido. Lógicamente, cada tipo de serie temporal es muy diferente y no es fácil encontrar una técnica automática que permita obtener la anchura óptima de la ventana del filtro. Filtros con escalas grandes pueden eliminar el ruido de la señal y ayudarnos a obtener la forma básica de la señal, pero también puede eliminar cambios repentinos en la misma (debido a fallos, roturas, etc.) que pueden ser importantes (ver último caso de la figura 3). Por otro lado, si elegimos una ventana demasiado pequeña, puede ocurrir que el ruido no se elimine por completo y no podamos detectar las tendencias globales de la señal (ver segundo caso de la figura 3).

Fig. 4 - Diagrama de escalas donde se puede observar la posición de los cruces por cero para cada ventana de filtrado.

Debido a esto, diversos autores han desarrollado diversos estudios y técnicas que permiten buscar la anchura más adecuada. Entre ellos, cabe destacar la metodología denominada “Caracterización Multiescalar” [Witkin, 1983] desarrollada en los años 80 y que consiste en examinar la señal con diferentes grados de suavizado y comparar las señales que se generan para cada una de las escalas. Para realizar esta comparativa, se detectan los cruces por cero de la primera derivada (si se desean detectar los cambios de signo de la pendiente local, o sea máximos y mínimos de la serie) o de la segunda derivada (correspondiente a los puntos de inflexión o cambios de forma cóncava-convexa o convexa-cóncava). De este modo, para cada anchura de la ventana, se obtiene el número de cruces por cero de la señal filtrada.

1060

Obviamente, si el filtro realiza un suavizado de la señal, el número de cruces por cero será menor, y éste seguirá bajando hasta que se estabilice o, en algunos casos, empiece a oscilar alrededor de un valor medio o vuelva a subir. Una gráfica que surge a partir de esta idea y que puede ser de gran ayuda para determinar por dónde empezar a buscar la ventana más adecuada, consiste en visualizar el número de cruces por cero para cada una de las escalas usadas. De esta forma, no solamente se representa cada una de las señales filtradas (tal y como aparecen en la figura 3) sino que se realiza un mapa de localización de los cruces por cero o extremos para cada una de las escalas (ver figura 4). Dicho mapa es denominado “árbol de intervalo de escalas” (interval tree of scales) y permite determinar visualmente él número de cruces por cero y dónde están localizados, para cada una de las escalas utilizadas, de forma que el experto trabajando con dicho gráfico, puede determinar cuál es el ancho de ventana más adecuada para el filtro a usar o por lo menos el rango de ventanas en donde debe buscar. En la figura 5 podemos observar el número de cruces por cero para diversas escalas de un filtro gaussiano aplicado a una serie temporal cualquiera. En este caso, se puede ver claramente que el número de cruces por cero decrece muy rápidamente hasta estabilizarse brevemente volviendo a bajar un poco y estabilizarse de nuevo.

Fig. 5 - Número de cruces por cero de una señal filtrada con diferentes anchuras de ventanas de un filtro gaussiano.

Lógicamente, si siguiéramos aumentando la ventana del filtro gaussiano, el número de cruces por ceros podría aumentar, eso quiere decir que la forma original de la señal se está deformando, por lo que nuestra región de interés (rango de anchuras de ventanas del filtro) puede estar en aquella zona inicial donde el número de ceros comienza a ser estable. 2.2 Extracción de tramos en cada serie temporal Una vez aplicado el filtro adecuado a cada una de las series temporales (según alguna de las técnicas posibles), el siguiente paso consiste en buscar e identificar, dentro de cada una de ellas, tramos que aparezcan repetidos un cierto número de veces.

1061

El problema de la búsqueda de subsecuencias en series temporales es bien conocido en la literatura científica. Fundamentalmente, la mayor dificultad estriba en poder realizar una clasificación robusta de las mismas que pueda evitar que cambios leves en forma, magnitud o longitud de dos señales que serían fácilmente clasificadas visualmente por un humano como “parecidas” sean tomadas como “diferentes” en un “sistema automático”. Dentro de las técnicas existentes, se ha desarrollado una técnica propia que permite aproximarse al mismo razonamiento que emplearía un experto de una planta industrial que busca visualmente comportamientos repetitivos dentro de series temporales de históricos de un proceso. Generalmente, el cerebro humano para identificar subsecuencias realiza las siguientes tareas:

• Realiza un vistazo de la serie temporal a lo largo del tiempo en diversas escalas de tiempo.

• En cada una de estas prospecciones realiza un particionado de la misma serie temporal clasificando las partes en familias según el grado de similitud existente entre ellas.

Lógicamente, la clave consiste en descubrir cómo el cerebro determina cuándo dos trozos de serie temporal son similares o no.

Fig. 6 - Identificación de subsecuencias parecidas dentro de una

serie temporal [Keogh and Folias, 2002].

1062

Si observamos detenidamente cómo detectamos visualmente clases en series temporales podemos ver que generalmente identificamos secuencias repetidas de tendencias dentro de la serie temporal. Dichas tendencias las describimos habitualmente como “subidas”, “bajadas” o “valores estables u horizontales” a las que se le añaden adjetivos del tipo: “corto”, “largo”, “brusco”, “pronunciado”, “suave”, “dilatado en el tiempo”, “fuerte”, “débil”, etc.; que suelen usarse para describir la magnitud y duración en el tiempo de las mismas. Por ejemplo, si observamos los patrones 10 y 9 de la figura 6, claramente un experto los podría definir de la siguiente forma: “comienza con un tramo horizontal de longitud l1, después decrece bruscamente h1, después otro tramo horizontal de longitud l2, después crece bruscamente h2, le sigue otro tramo horizontal l3,…”.

Fig. 7 - Obtención de los máximos y mínimos de la señal filtrada. Igualmente, patrones con formas sinusoidales como los dos primeros de la figura 6, pueden aproximarse con tramos rectos crecientes o decrecientes y ser descritos de la misma forma. Lógicamente, lo anteriormente expuesto es una visión demasiado simplista de la enorme capacidad que tiene el cerebro humano para extraer y comparar patrones de todo tipo, pero creemos que aún así, ésta puede ser una aproximación que puede resultar bastante útil para la descripción de subpatrones de la mayor parte de series temporales que provienen de procesos industriales. La obtención de los tramos “crecientes” (o “incrementales”), “decrecientes” (o “decrementales”) u “horizontales” puede ser fácilmente obtenidos a partir los cruces por cero de la primera derivada de la señal filtrada (ver figuras 7 y 8). A partir de la localización de los máximos y mínimos, y definiendo “el umbral” de altura que diferencia un tramo horizontal de los tramos crecientes y decrecientes, se obtienen los tramos. De éstos se almacena: el tipo de tramo, longitud, altura y posición inicial del mismo.

1063

Fig. 8 - Obtención de tramos crecientes (INC), horizontales (HOR) y decrecientes (DEC). Generalmente, es necesario realizar un post-procesado para fundir tramos seguidos que son del mismo tipo en uno sólo o convertirlos a otro tipo si, al unirlos, cambian sus características. Por ejemplo, varios tramos horizontales seguidos pueden ser convertidos a un tramo horizontal único o a un tramo creciente o decreciente si la altura de la pendiente resultante de unir los mismos excede el umbral que lo consideraba un tramo horizontal. 2.3 Agrupamiento de los Tramos con características similares Una vez identificados los tramos crecientes, horizontales y decrecientes; se procede a agruparlos según características similares. La disimilitud entre dos tramos se determina estudiando separadamente su forma a lo largo del tiempo y su duración o longitud, de tal manera, que podamos ajustar con mayor o menor restricción los umbrales impuestos que identifique dos tramos de igual forma indistintamente de su longitud o duración en el tiempo. Es decir, la comparación de la longitud o duración en el tiempo entre tramos se realiza separadamente de la de su forma. La disimilitud entre forma se obtiene mediante la distancia euclídea de los vectores formados por N puntos equidistantes entre si de cada uno de los tramos a clasificar (ver figura 9). Esta selección de puntos equidistantes sirve para realizar una comparación normalizada de los tramos sin que influya la longitud de los mismos.

1064

Fig. 9 - Obtención de dos vectores [X1, X2, X3, X4] y [Y1, Y2, Y3, Y4] formados por los cuatro puntos equidistantes entre sí de dos de los tramos a comparar.

De esta forma, dados dos tramos X(t) e Y(t) de longitudes Lx y Ly el cálculo de la disimilitud de los mismos con respecto a la forma que toman a lo largo del tiempo pero independientemente de la longitud de los mismos es:

∑=

⋅−⋅⋅=N

i

YXShape N

LiYNLiX

NDIS

1

2

)()(1 (Ec. 1)

Lógicamente, cuanto más elevado es N mejor precisión se obtiene en el cálculo de la disimilitud y menos influencia individual tiene cada uno de los puntos en el cálculo final. Por otro lado, es lógico que el aumento de N exija un mayor tiempo de cómputo. La disimilitud en longitud simplemente se obtiene mediante la obtención del valor absoluto de la diferencia de longitudes.

LyLxDISLong −= (Ec. 2)

Para poder llevar una clasificación lo más acertada posible, se realiza un clusterizado jerárquico de todos los patrones crecientes y decrecientes atendiendo a su disimilitud por forma. Este tipo de técnica, además de que nos permite observar en una estructura en forma de árbol de distancias cómo están distribuidos los tramos crecientes y decrecientes según la forma que tienen, nos ayuda a clasificar las familias de tramos de cada tipo. Las herramientas de clusterizado jerárquico solamente necesitan que se les indique la altura del árbol por donde se va a realizar el corte o el número de grupos deseados (ver figura 10) para que se extraigan las familias del árbol de distancias jerárquicas previamente desarrollado.

1065

Fig. 10 - Clasificación de patrones crecientes y decrecientes mediante el uso de algoritmos jerárquicos.

Cada uno de los tramos va a venir caracterizado por dos letras. La primera indica su tipo general (I: Incremental (INC), D: Decremental (DEC) y H: Horizontal (HOR)) y la segunda, la familia a la que pertenece según su forma (A, B, C,...). De esta forma, un tramo denominado DA, corresponde a un tramo decreciente cuya forma corresponde con la de la familia A. De esta forma, solamente queda por caracterizar los tramos según su longitud. Para ello, se puede proceder con la misma metodología siempre que interese distinguir los tramos según su longitud. Es decir, podemos apoyarnos en el uso del árbol jerárquico de las distancias de los patrones para determinar el número de grupos que vamos a clasificar según la distancia para los tramos INC, DEC y HOR (ver figura 11)..

1066

Finalmente, solamente queda por definir con un número la longitud tipo de cada patrón. De esta forma, un patrón del tipo IC3 corresponderá a un tramo INC de forma C y tipo de longitud 3.

Fig. 11 - Árbol jerárquico que muestra las distancias entre las longitudes de los patrones incrementales Gráfico que muestra las longitudes de cada uno de los patrones crecientes visualizándose con un color diferente cada una de las familias a las que pertenece según la longitud del mismo. 2.4 Búsqueda de Secuencias Repetidas en la misma serie temporal Una vez definidos los tramos y clasificados convenientemente en familias según su tipo, forma y longitud, entramos en la búsqueda de secuencias repetidas dentro de la misma serie temporal. El problema que se plantea es similar al de una búsqueda de genes dentro de una secuencia genética. En este caso, la serie temporal está constituida por tramos que han sido etiquetados en el proceso anterior. Por ejemplo, una serie temporal numérica se convertiría en una secuencia de etiquetas parecida a esta: DA2, H3, IB2, DF5, H6, DA1, H5, IA3, H8,.... Y el proceso de búsqueda de subsecuencias dentro de la misma se convierte en un problema bien conocido dentro de la Minería de Datos de Series Temporales. Generalmente, este problema se resuelve mediante la aplicación de algoritmos basados en el algoritmo APRIORI para la búsqueda de subsecuencias en series temporales. Para ello, dado un umbral o soporte donde se determina el número mínimo o porcentaje de patrones repetidos que se considera como significativo, se realiza una búsqueda de aquellos que superan dicho umbral formado por un solo miembro. Una vez localizados se almacenan en una base de datos así como su número de ocurrencias. Seguidamente, se procede a buscar aquellos patrones de dos miembros cuyo primer miembro corresponde con uno de los almacenados previamente. Se almacenan aquellos patrones que superan el número mínimo indicado por el soporte (support). Se repite la búsqueda para

1067

patrones de 3 miembros, 4, y así sucesivamente hasta que no se encuentra ningún patrón que supere el valor mínimo de apariciones (ver figuras 12 y 13) Cada una de las ramas del árbol que corresponde con un patrón que aparece un número de veces superior al establecido por el usuario es etiquetada para poder ser identificada en pasos posteriores.

Fig. 12 - Árbol de búsqueda de patrones repetitivos.

Realmente, la potencia de este tipo de metodología estriba en la posibilidad de realizar una reducción del número de patrones mediante la fusión o podado de diversas ramas del árbol a través de la creación de reglas robustas que permitan identificar cuáles de ellos son parecidos.

Fig. 13 - Parámetros de entrada y resultados obtenidos del árbol de búsqueda.

2.5 Búsqueda de Reglas Asociativas Una vez identificados los patrones repetitivos que aparecen en cada una de las variables del proceso, entramos en la etapa final para la extracción de conocimiento.

1068

La idea fundamental es la de facilitar el trabajo tedioso de búsqueda de correlaciones temporales entre variables y de mostrar de una forma fácilmente comprensible dichas relaciones locales. Esta búsqueda pretende detectar relaciones temporales entre variables que puedan ser la causa del comportamiento de una tercera variable (ver figura 14).

Fig. 14 – Búsqueda de reglas asociativas en varias series temporales. Es decir, en esta etapa se pretende buscar correlaciones locales entre series temporales que se repiten con un cierto grado de asiduidad y resumirlas en una serie de reglas asociativas del tipo:

{ }( )YConfidenceXSupportWITH

tSTHENdtPdtPIF==

−−,

)(...),(),( 2211 (Ec. 3)

Donde:

• P1(t), P2(t),...: corresponden al “Antecedente” de la regla e indica aquella secuencia de patrones de diferentes variables que aparecen repetidos antes o durante el patrón “Consecuente”.

• S(t): es el patrón de salida denominado “Consecuente”. • d1, d2,...: corresponden a los desfases entre los patrones Antecedentes con respecto al

patrón Consecuente. • Cobertura o Soporte (Support): que corresponde con el número de veces o el

porcentaje veces que se repite la regla en toda la base de datos. Indica el grado de generalización de la misma.

• Precisión o Confianza (Confidence): Porcentaje de veces que la regla se cumple cuando se puede aplicar. Es decir, cuando existe el Antecedente qué probabilidad existe que aparezca el Consecuente.

El problema no es fácil, pues debido a la enorme combinación de posibilidades es necesario contar con potentes ordenadores y con una elevada cantidad de memoria para poder almacenar los árboles o tablas hash que se vayan creando. Además este se puede complicar mucho más si se buscan reglas complejas de forma que en el consecuente existan más de un patrón o si se toma en cuenta la relación temporal de cada patrón con respecto a los demás, es decir: si un patrón se produce durante, antes, después, inmediatamente después, etc. Actualmente, varios investigadores en el mundo están desarrollando diversas técnicas para la búsqueda de reglas asociativas en series temporales que toman en cuenta estos y otros factores.

1069

Nosotros consideramos a efectos prácticos, ya que estamos trabajando en procesos industriales, que la búsqueda de relaciones debe realizarse en una ventana temporal deslizante de una anchura acorde con el proceso a estudiar. Es decir, es necesario estudiar las reacciones del proceso ante cambios en las variables para poder establecer el ancho de tiempo de la ventana en la que se van a buscar relaciones. Lógicamente, si ésta es demasiado pequeña, podemos no encontrar las relaciones buscadas y si ésta es demasiado grande, podemos necesitar demasiado tiempo y espacio en memoria para almacenar todas las posibles combinaciones. Es por ello, que una buena definición de la anchura de la ventana de búsqueda puede ayudar a ahorrar tiempo y a hacer más eficiente los algoritmos de búsqueda. Además, otra forma de agilizar la búsqueda consiste en indicar cuál de las variables corresponderá al Consecuente y cuales al Antecedente, ya que muchas veces queremos que nos indique cuales son las relaciones de unas variables determinadas (por ejemplo: “presión”, “temperatura” y “velocidad”) con respecto a otra variable objetivo (por ejemplo: “calidad”). Para la búsqueda de secuencias, nosotros proponemos desarrollar una única secuencia a modo de “secuencia genética” donde aparecen todos los patrones ordenados según su aparición en el tiempo, la distancia relativa de cada uno de ellos con el anterior (indicado en la figura entre paréntesis) y la longitud de cada uno de los patrones (ver figura 14). De esta forma, la búsqueda de secuencias dentro de esa cadena de patrones se puede realizar usando técnicas parecidas a las utilizadas en la búsqueda de genes en secuencias genéticas. Tomando en cuenta que esta búsqueda debe realizarse dentro de una ventana temporal deslizante parametrizable por el usuario. El proceso de búsqueda que proponemos se basa en el algoritmo APRIORI y, tal como hacíamos en la fase anterior, comienza por el almacenamiento de la secuencias de patrones que forman un solo individuo en su Antecedente y uno solo en su Consecuente que cumplan la Cobertura y Precisión fijadas. El algoritmo continúa buscando parejas con dos antecedentes, tres, cuatro, etc.; hasta que no se encuentra ninguna regla que cumpla con la Cobertura y Precisión establecidas. 2.6 Presentación de los Resultados Las reglas obtenidas deben ser presentadas en orden ascendente según la Cobertura y Precisión que consigan. Lógicamente, en este caso la traducción de una regla como la obtenida en la figura 14:

%)80%,3(6}2,3,1{ == ConfidenceSupportWITHPTHENPPPIF (Ec. 4) debe ser interpretada por el experto de esta forma: “SI la variable VAR1 se comporta como P1 y después la variable VAR2 se comporta como P3 y después la variable VAR1 se comporta como P2 ENTONCES la variable VAR3 se comporta como P6. Esto se ha producido un 3% de las veces y esta regla se produce un 80% de las veces que se cumple el Antecedente”.

1070

3. CONCLUSIONES En este artículo se ha explicado una técnica que puede ayudar en la búsqueda de conocimiento oculto dentro de series temporales de procesos industriales. La posibilidad de extraer ese conocimiento de los históricos de procesos industriales y utilizarlos para la toma de decisiones, abre un amplio abanico de posibilidades para los ingenieros de procesos u otros expertos que trabajen con series temporales. Lógicamente, éste es un problema muy complejo que necesita aún de mucho esfuerzo en investigación para solventar los numerosos problemas que surgen en cada una de las fases de esta metodología pero creemos que los resultados que se pueden obtener podrían ser muy sustanciosos. 4. AGRADECIMIENTOS Este trabajo ha sido financiado por la Unión Europea bajo el Research Fund for Coal and Steel (RFCS) en los proyectos con referencia siguientes: RFS-CR-03012, RFS-CR-04023 y RFS-CR-04043; y el programa CEUTIC INTERREG IIIA. También ha sido parcialmente financiado por el Ministerio de Ciencia y Tecnología de España a través de la Dirección General de Investigación bajo el proyecto DPI2004-07264-C02-01. Por último, queremos agradecer la ayuda recibida a través del 2º Plan Riojano de I+D+i del Gobierno de La Rioja. 5. REFERENCIAS 5.1 Referencias Bibliográficas Adamo, Jean-Marc. "Data Mining for Association Rules and Sequential Patterns. Sequential and Parallel Algorithms". Springer. New York, (2001). Agrawal, R.; Srikant, R. "Fast algorithms for mining association rules in large databases". Proc International Conference on Very Large Databases, pp. 478-499. Santiage, Chile: Morgan Kaufmann, Los Altos, CA. (1994). Agrawal. R. Imeilinski, T. Swami. A. "Mining association rules sets of items in large databases". Proceedings of ACM SIGMOD conference on management of data SIGMOD'93.(1993). Fayyad, U.; Haussler, D.; Stolors, P. "Mining Science Data". Comunications of ACM. Vol 39, Nº 11, 1996. Fayyad, UM; Simoudis, E. "Data Mining and Knowledge Discovery". Tutorial Notes at PADD'97 - First International Conf. Prac. App. KDD & Data Mining, London, 1997. Fayyad, UM; Piatetsky Shapiro, G; Smyth, P. "From Data Mining to Knowledge Discovery: an overview". Advances Discovery and Data Mining. AAAI Press/MIT Press, 1-36, 1996. Hernández Orallo, J.; Ramírez Quintana, M. J.; Ferri Ramírez, C. "Introducción a la Minería de Datos". Editorial Pearson, 2004. Höppner, F. K (2003). Knowlede Discovey from Sequential Data. Php. Thesis. Fachhochschule BS/WF (University of Applied Sciences). GERMANY, 2003. Karnetzki, D. (1999). Luftdruck und Wetter. Delius Klasing, 3rd, 1999.

1071

Keogh, E. & Folias, T. (2002). "The UCR Time Series Data Mining Archive." [http://www.cs.ucr.edu/~eamonn/TSDMA/index.html]. Riverside CA. University of California - Computer Science & Engineering Department Lindeberg, T. Efective scale: A natural unit for measuring scale-space lifetime. IEEE Trans. on Pattern Analysis and Machine Intelligence, 15(10):1068-1074, 1993. Liu, Lon-Mu; Bhattacharyya, Siddhartha; "Data mining on times series: an illustration using fast-food restaurant franchise data". Computation Statistics & Data Analysis. (2001). Misra, Manish; Henry Yue, H.; Qin, S. Joe.; Ling, Cheng. "Multivariate process monitoring and fault diagnosis by multi-scale". Computer & Chemical Engineering. Elsevier. 26, 1281-1293. (2002). Ramsay, J. O. and Silverman, B. W. Functional Data Analysis. Springer Series in Statistics. Springer. Wang, Y, P. and Lee, S. L. Scale-space derived from B-splines. IEEE Trans. on Pattern Analysis and Machine Intelligence, 20(10):1040-1055, 1998.

1072