descubrimiento de conocimiento mediante técnicas de

Anuncio
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
b
Universidad de La Rioja, c/ Luis de Ulloa 20, 26004, Logroño-La Rioja, Spain.
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:
DIS Shape
1
= ⋅
N
L
L 

 X (i ⋅ X ) − Y (i ⋅ Y ) 
∑
N
N 
i =1 
N
2
(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.
DIS Long = Lx − Ly
(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:
IF {P1 (t − d1 ), P2 (t − d 2 ), ...} THEN S (t )
WITH (Support = X , Confidence = Y )
(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:
IF {P1, P3, P 2} THEN P 6 WITH ( Support = 3%, Confidence = 80%)
(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, 12811293. (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
Descargar