UNIVERSIDAD POLITÉCNICA DE MADRID
FACULTAD DE INFORMÁTICA
MODELO DE DESCUBRIMIENTO DE CONOCIMIENTO
PARA SERIES TEMPORALES NUMÉRICAS APLICANDO
MÉTODOS SIMBÓLICOS
TESIS DOCTORAL
AGUSTÍN SANTAMARÍA FALCÓN
LICENCIADO EN INFORMÁTICA
MADRID, 2011
DEPARTAMENTO DE LENGUAJES, SISTEMAS INFORMÁTICOS E INGENIERÍA
DE SOFTWARE
FACULTAD DE INFORMÁTICA. UNIVERSIDAD POLITÉCNICA DE MADRID
MODELO DE DESCUBRIMIENTO DE CONOCIMIENTO
PARA SERIES TEMPORALES NUMÉRICAS APLICANDO
MÉTODOS SIMBÓLICOS
Autor
Agustín Santamaría Falcón
Licenciado en Informática
Directores
Juan Pedro Caraça-Valente Hernández
Doctor en Informática
Aurora Pérez Pérez
Doctora en Informática
Julio, 2011
Tribunal nombrado por el Magfco. y Excmo. Sr. Rector de la Universidad
Politécnica de Madrid, el día...............de.............................de 2011
Presidente:
Vocal:
Vocal:
Vocal:
Secretario:
Suplente:
Suplente:
Realizado el acto de defensa y lectura de la Tesis el día..........de........................de 2011 en
la E.T.S.I./Facultad....................................................
EL PRESIDENTE LOS VOCALES
EL SECRETARIO
A mi mujer, Sheila,
y nuestro hijo, Roberto
AGRADECIMIENTOS
El presente trabajo de tesis debe lo mejor que pueda ofrecer a la orientación, sugerencias y
estímulo de sus directores Juan Pedro Caraça-Valente y Aurora Pérez Pérez, quienes han
conducido la investigación con talante abierto y generoso e inmejorable disposición. Mi
agradecimiento, tanto por su participación directa y revisión exhaustiva del trabajo, como
por haber aumentado el tiempo que le he podido dedicar a esta tesis.
A la Dra. África López-Illescas, experta en Fisioterapia Deportiva y jefa del servicio de
reeducación psicomotriz y fisioterapia del Consejo Superior de Deportes, debo un
agradecimiento especial por haber dedicado su tiempo y conocimiento tanto para la
obtención de información como para la evaluación de la aplicación del trabajo realizado en
el dominio isocinético.
Debo expresar además mi reconocimiento a los profesores Fernando Alonso Amo y Loïc
Martínez Normand por sus valiosas observaciones y correcciones en las publicaciones
surgidas a lo largo de este trabajo de investigación.
Al profesor Daniel Manrique le debo agradecer las sugerencias e ideas aportadas en el
campo de la Computación Evolutiva, origen del diseño del método de creación de modelos
simbólicos, descrito en este trabajo.
También quisiera hacer patente mi agradecimiento a los compañeros de la Facultad,
Mónica García, Luis J. Romero y Diego Cela que me han permitido cotutelar sus proyectos
de fin de carrera y que gracias a su disposición fue posible implementar el Modelo de
Descubrimiento de Conocimiento descrito en este trabajo en el dominio médico
isocinético.
El apoyo incondicional de mis padres y familia que junto con la paciencia y ánimo de mi
mujer y mi hijo han logrado aumentar mi perseverancia en las tareas de investigación
llevadas a cabo para la culminación de este trabajo.
Quiero dedicar un agradecimiento genérico a todo el Departamento de Inteligencia
Artificial y al de Lenguajes y Sistemas, por las facilidades prestadas. A todas las demás
personas que de una forma u otra han ayudado a llevar adelante este trabajo, ¡muchas
gracias!
RESUMEN
La tesis presenta un Marco para el Descubrimiento de Conocimiento en series temporales,
abordando el análisis de las mismas desde el punto de vista de la semántica de las series.
La mayor parte de los trabajos realizados hasta el momento en el campo del análisis de
series temporales proponen el análisis numérico de los valores de la serie, lo que permite
obtener buenos resultados pero no ofrece la posibilidad de formular las conclusiones
obtenidas en un lenguaje similar al que utilizaría un experto en el dominio del problema.
Esto puede dificultar la justificación y la interpretación de los resultados obtenidos.
Esta tesis se plantea con el objetivo de realizar el análisis de las series temporales desde un
punto de vista similar al que utiliza un experto para analizarlas, incorporando conocimiento
del dominio para interpretar las series temporales en términos cualitativos y no tanto
cuantitativos. De esta forma se consigue explicar los resultados de una manera entendible
para el experto, utilizando los mismos conceptos que él utiliza en su trabajo diario. Un
sistema de estas características genera más confianza y recibirá, sin duda, una mejor
acogida entre los usuarios finales.
Para abordar el objetivo propuesto se plantea, en primer lugar, un mecanismo para extraer,
de la serie temporal, la información que resulta de interés para el experto. Para poder
hacerlo, primero se formaliza, mediante un alfabeto, el conjunto de comportamientos
relevantes en el dominio. Usando este alfabeto de símbolos, el método que se ha diseñado
e implementado transforma una serie temporal numérica en una secuencia simbólica que
recoge toda la semántica de la serie temporal de partida y resulta más intuitiva y fácil de
interpretar por el experto.
Una vez que se dispone de un mecanismo para transformar las series numéricas en
secuencias simbólicas, se pueden plantear todas las tareas de análisis sobre dichas
secuencias de símbolos. La tesis propone una medida de la similitud entre dos secuencias
simbólicas como punto de partida para la tarea de comparación, básica en cualquier
actividad de data mining. Esta medida permite comparar las secuencias desde el punto de
vista de la información semántica que contienen. Por otra parte, la tesis propone un método
para la creación de modelos de referencia, entendiendo como modelo de un conjunto de
secuencias simbólicas correspondientes a un determinado grupo de población, una
secuencia simbólica representativa de todo el grupo. Este método utiliza la Programación
Genética Guiada por Gramáticas para obtener el modelo de referencia, destacándose lo
innovador de aplicar dicha técnica a series temporales.
Con el objetivo de validar el trabajo realizado se ha aplicado al dominio médico de la
isocinesia (series temporales que miden la fuerza realizada por un paciente al mover una
articulación) y, en concreto, dentro de un sistema informático llamado I4 (Interfaz
Inteligente para la Interpretación de una máquina de Isocinéticos).
ABSTRACT
This thesis presents a framework for knowledge discovery in time series, addressing time
series analysis from the viewpoint of the semantics of the series.
Most of the research conducted to date in the field of time series analysis recommends
analysing the values of the series numerically. This outputs good results but prevents the
conclusions from being formulated in a language that is familiar to the expert in the
problem domain. This can be an obstacle to the justification and interpretation of the
results. The purpose of this thesis is to emulate the approach that an expert would take to
time series analysis, including domain knowledge to interpret the time series in qualitative
rather than quantitative terms. This way, the results can be explained in a manner that is
understandable to the expert, using the same concepts that experts use in their routine
work. Such a system generates more confidence and will unquestionably be better accepted
by the end users.
The design of a mechanism to extract the information that is of interest to the expert from
the time series was the first step towards achieving the proposed objective. To do this, an
alphabet is used to formalize all the key behaviours in the domain. The designed and
implemented method uses the symbol alphabet to transform a numerical time series into a
symbolic sequence that takes in all the semantics of the original time series and is more
intuitive and easier for the expert to interpret.
Once a mechanism for transforming the numerical series into symbolic sequences is in
place, the symbolic sequences are ready for analysis. The thesis proposes a similarity
measure between two symbolic sequences as a starting point for that task of comparison.
Comparison is a critical task in any data mining activity. This measure is capable of
comparing the sequences from the viewpoint of the semantic information that they contain.
The thesis also proposes a method for creating reference models, where a model of a set of
symbolic sequences corresponding to a particular population group is defined as a
symbolic sequence that is representative of the whole group. This method uses grammar-
guided genetic programming to output the reference model. Note that the application of
this technique to time series is an innovative development.
With the aim of validating the research, it was applied to the medical domain of isokinetics
(time series that measure the strength applied by a patient during joint movement) and,
specifically, within a computer system called I4 (Intelligent Interface for Isokinetics
Interpretation).
i
ÍNDICE GENERAL
CAPÍTULO 1. INTRODUCCIÓN ........................................................................................ 5
1.1. Objetivos ..................................................................................................................... 9
1.2. Estructura de la Tesis ................................................................................................ 11
CAPÍTULO 2. ESTADO DE LA CUESTIÓN ................................................................... 13
2.1. Descubrimiento de Conocimiento ............................................................................ 15
2.2. Técnicas de Data Mining .......................................................................................... 17
2.2.1. Análisis de asociaciones .................................................................................... 18
2.2.2. Clasificación ...................................................................................................... 21
2.2.2.1. Árboles de decisión .................................................................................... 21
2.2.2.2. Algoritmo de los vecinos más próximos .................................................... 25
2.2.2.3. Redes de neuronas ...................................................................................... 26
2.2.2.4. Máquinas de soporte vectorial .................................................................... 29
2.2.2.5. Análisis discriminante y regresión Logística ............................................. 31
2.2.3. Clustering .......................................................................................................... 35
2.2.3.1. Clustering jerárquicos................................................................................. 36
2.2.3.2. Clustering basado en particiones ................................................................ 38
2.2.3.3. Clustering basado en densidad ................................................................... 42
2.2.3.4. Clustering basado en grid ........................................................................... 44
2.3. Computación evolutiva ............................................................................................. 45
2.3.1. Reseña histórica ................................................................................................. 45
2.3.2. Algoritmos genéticos ......................................................................................... 49
2.3.3. Programación genética ...................................................................................... 53
2.3.4. Programación genética guiada por gramáticas .................................................. 59
2.4. Análisis de Series Temporales .................................................................................. 73
2.4.1. Medidas de Similaridad ..................................................................................... 75
2.4.1.1. Medidas de Similaridad para Series Numéricas ......................................... 75
2.4.1.2. Medidas de Similaridad para Series de Caracteres ..................................... 81
2.4.2. Técnicas de Transformación de Series Temporales .......................................... 91
2.4.2.1. Transformaciones de Series Temporales Numéricas.................................. 92
2.4.2.2. Transformaciones en Series Temporales de Caracteres ........................... 103
CAPÍTULO 3. PLANTEAMIENTO DEL PROBLEMA ................................................. 109
ii
3.1. Motivación ............................................................................................................. 111
3.2. Objetivos ................................................................................................................ 112
CAPÍTULO 4. MARCO PROPUESTO ............................................................................ 115
4.1. Marco de Descubrimiento de Conocimiento .......................................................... 117
4.1.1. Método de Extracción de Conocimiento y Transformación a Símbolos ........ 117
4.1.1.1. Alfabeto de Símbolos ............................................................................... 118
4.1.1.2. Método de Transformación a Símbolos (METRASIM) .......................... 120
4.1.2. Distancia Simbólica ......................................................................................... 123
4.1.3. Método de Creación de Modelos Simbólicos ................................................. 128
4.1.3.1. Fuerza Bruta ............................................................................................. 129
4.1.3.2. Generación de modelos candidatos .......................................................... 130
4.1.3.3. Programación Genética Guiada por Gramáticas (PGGG) ........................ 132
4.2. Aplicación del Marco propuesto en el Dominio Isocinético .................................. 141
4.2.1. Antecedentes ................................................................................................... 142
4.2.2. Método de Extracción de Conocimiento y Transformación a Símbolos ........ 144
4.2.2.1. Alfabeto de Símbolos Isocinéticos ........................................................... 144
4.2.2.2. Método de Transformación a Símbolos ................................................... 148
4.2.3. Distancia Simbólica Isocinética ...................................................................... 154
4.2.4. Método de Creación de Modelos Simbólicos Isocinéticos ............................. 157
4.2.5. Arquitectura final de sI4 .................................................................................. 159
CAPÍTULO 5. EXPERIMENTACIÓN Y EVALUACIÓN ............................................. 161
5.1. Método de Transformación a Símbolos ................................................................. 163
5.2. Distancia Simbólica ................................................................................................ 167
5.3. Método de Creación de Modelos Simbólicos ........................................................ 168
5.3.1. Parámetros de la experimentación ................................................................... 168
5.3.2. Ensayos previos ............................................................................................... 170
5.3.3. Plan de experimentación ................................................................................. 174
5.3.3.1. Fase 1 del experimento ............................................................................. 174
5.3.3.2. Fase 2 del experimento ............................................................................. 177
5.3.3.3. Fase 3 del experimento ............................................................................. 181
5.3.4. Análisis del proceso de experimentación ........................................................ 184
CAPÍTULO 6. CONCLUSIONES .................................................................................... 193
CAPÍTULO 7. LINEAS FUTURAS DE INVESTIGACIÓN .......................................... 199
CAPÍTULO 8. BIBLIOGRAFÍA ...................................................................................... 203
iii
ANEXO I. UMBRALES ................................................................................................... 233
ANEXO II. AUTÓMATA FINITO .................................................................................. 237
ANEXO III. RESULTADOS DE LA EXPERIMENTACIÓN ........................................ 247
III.A. Resultados de la Fase 1 del experimento ............................................................. 249
III.B. Resultados de la Fase 2 del experimento ............................................................. 256
III.C. Resultados de la Fase 3 del experimento ............................................................. 263
CAPÍTULO 1. INTRODUCCIÓN
Introducción
7
El análisis de colecciones de datos ordenados en el tiempo, denominadas series temporales,
es fundamental en muchos campos como la ingeniería, la medicina o el mundo de los
negocios. Resulta difícil imaginar una rama de la ciencia en la que no aparezcan datos que
puedan ser considerados como series temporales.
Estudiar cómo se ha comportado una variable hasta el momento puede ser de gran interés a
la hora de predecir su comportamiento futuro. Del mismo modo, determinar qué otras
variables han tenido un comportamiento similar puede ayudar a decidir las acciones a
tomar, bien sea para conservar la evolución actual o bien para modificarla radicalmente.
Por este motivo, existe una necesidad cada vez mayor de buscar series temporales de datos
similares a una serie dada, en una base de datos o en un conjunto de bases de datos. Por
ejemplo, se puede tratar de buscar familias españolas con una línea de consumo similar a
otra dada o buscar empresas con un comportamiento en bolsa similar a una dada. Además
de la obtención de patrones de comportamiento en series temporales, existen otras muchas
tareas en relación con el análisis de series temporales, como, por ejemplo, conocer el grado
de similitud entre dos series temporales o conocer los comportamientos concretos de una
serie temporal que tengan un significado especial en el dominio en cuestión (un punto de
inflexión, una pendiente acentuada, etc.). Las técnicas de descubrimiento de conocimiento
y data mining aplicadas a series temporales se convierten en herramientas muy útiles para
todo este tipo de tareas.
Existe por tanto un gran interés por el estudio de series temporales y son bastantes los
campos de investigación, dentro de este área, en los que hay aún trabajo por desarrollar. La
mayor parte de los trabajos realizados hasta la fecha centran el análisis de series temporales
en algoritmos y técnicas para el análisis numérico de las series que, si bien en muchos
casos ofrecen resultados suficientes para los fines que se desean, en otros casos los
resultados obtenidos carecen de contenido semántico suficiente que pueda proporcionar
una solución comprensible al usuario final, por lo que con frecuencia no logran satisfacer
al usuario final por no proporcionar una explicación comprensible en términos de las
características que son relevantes en el dominio.
La mayoría de las técnicas de data mining no permiten la incorporación de conocimiento
experto o conocimiento previo del dominio. En el Marco de Descubrimiento de
Conocimiento que aquí se propone, se ha querido tener en cuenta este aspecto para poder
enriquecer el proceso de descubrimiento con todo el conocimiento que los expertos en cada
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
8
dominio tienen sobre las series temporales. Por ejemplo, en un determinado dominio, un
pico en la serie temporal, o tal vez una subida brusca, pueden ser identificativos de un
determinado suceso, con lo cual el experto se fijará precisamente en esas partes de la serie
y no en otras que carecen de interés (o, dicho de otra forma, carecen de significado) para
él.
Centrando la atención en el problema de conocer los comportamientos concretos de la serie
temporal que tengan un significado especial en el dominio bajo estudio, parece lógico
pensar que una buena solución al problema consiste en identificar las secciones o regiones
de la serie temporal donde aparecen dichos comportamientos y dotarlas de contenido
semántico en función del significado que tengan en la serie. Llegados a este punto, sería
deseable analizar la serie temporal por el contenido semántico de estas secciones en vez de
analizar el conjunto de los valores numéricos que tome la serie temporal en cada instante.
Avanzando un poco más en esta idea, se podría traducir toda la serie temporal numérica a
otra serie temporal simbólica donde cada uno de los símbolos tuviera un significado
relevante en el dominio. Una secuencia temporal simbólica de este tipo aporta un valor
añadido en el análisis de la serie al llevar implícito contenido semántico. Este contenido
semántico permite caracterizar la propia secuencia temporal y, además, permite la
definición de métodos de análisis y comparación de las series temporales que utilicen los
mismos conceptos utilizados por el experto, lo que hace posible abordar el problema de
una forma similar a como lo hace el experto y permite, por tanto, mejorar sustancialmente
la explicación y justificación de los resultados obtenidos.
El trabajo de investigación que aquí se presenta se centra en el diseño de un Marco de
Descubrimiento de Conocimiento para series temporales numéricas aplicando métodos de
análisis simbólico. Este Marco consta de los siguientes elementos:
un método de transformación a símbolos, que permite traducir una serie temporal
numérica a una secuencia simbólica cuyos símbolos recogen la semántica de la
serie desde el punto de vista del dominio, es decir recogen todo aquello que resulta
de interés para el experto
una distancia simbólica, que permite comparar este tipo de secuencias
un método de creación de modelos de referencia, que, partiendo de un conjunto de
secuencias simbólicas inicialmente seleccionadas, obtiene un modelo simbólico
representativo de las mismas
Introducción
9
Para demostrar su validez, el Marco de Descubrimiento de Conocimiento propuesto será
aplicado al dominio isocinético. Se trata de un dominio médico donde los pacientes
realizan una serie de pruebas mediante las que se evalúa la fuerza muscular relacionada
con una determinada articulación. Los sistemas isocinéticos obtienen series temporales
correspondientes a la fuerza ejercida por el paciente durante la realización de las pruebas.
Dichos sistemas constituyen un instrumento eficaz en diversos aspectos de gran relevancia
relacionados con la fuerza muscular, como son, el diagnóstico de lesiones, el seguimiento
de su rehabilitación, la detección precoz de talentos deportivos o la detección de lesiones
simuladas. Sin embargo, su carácter innovador y la consecuente ausencia de especialistas
en la materia dificultan en gran medida su implantación.
Una de las principales tareas que el experto en isocinesia realiza es la comparación de
nuevos individuos con los diferentes individuos tipo obtenidos de análisis anteriores. Por
ejemplo, estudiando varios tests isocinéticos de pacientes con diagnóstico de esguince del
ligamento lateral interno de la rodilla, se pueden extrapolar las características comunes de
dichos individuos y conjuntarlas en un único individuo representativo de este tipo de
diagnóstico. Este individuo, denominado modelo de referencia, podrá ser usado por el
experto como base para el diagnóstico de dicha lesión en futuros pacientes (nuevos
individuos). Este tipo de procesos es muy importante en el campo de la medicina deportiva
de alto rendimiento, que es uno de los campos de aplicación de los tests isocinéticos. Por
ejemplo, el exhaustivo seguimiento realizado sobre los deportistas de alto rendimiento
permite un diagnóstico con bastante antelación a la posible aparición de una determinada
lesión. Por lo tanto, y debido a la gran relevancia de este tipo de procesos, se puede afirmar
que esta Tesis plantea un gran avance en dicho campo.
1.1. Objetivos
El objetivo central de este trabajo de investigación es el diseño de un Marco de
Descubrimiento de Conocimiento para series temporales numéricas que aplica métodos
para el análisis simbólico de dichas series. Este Marco de Descubrimiento de
Conocimiento permite incorporar conocimiento experto del dominio que se pretenda
estudiar para que el resultado del análisis de las series temporales sea fácilmente
interpretable. En este sentido, este Marco de Descubrimiento de Conocimiento debe
indicar cómo:
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
10
traducir las series temporales numéricas a secuencias simbólicas
calcular la similaridad existente entre dos secuencias simbólicas
crear modelos de referencia simbólicos a partir de un conjunto de secuencias
simbólicas inicialmente seleccionado
El diseño de un método que sea capaz de transformar la serie numérica en otra simbólica,
identificando las características más relevantes de las diferentes secciones de la serie
temporal numérica, permitirá extraer el conocimiento experto contenido en la serie
temporal numérica.
Una vez extraído el conocimiento experto de la serie numérica y transformada ésta en una
secuencia simbólica, se debe diseñar un sistema que sea capaz de comparar dos secuencias
simbólicas entre sí para obtener su grado de similaridad.
Diseñado el método de transformación a símbolos y la distancia que permita comparar las
secuencias simbólicas, se debe diseñar un sistema que sea capaz de crear un modelo de
referencia a partir de un conjunto de secuencias simbólicas obtenidas de un conjunto de
series temporales correspondientes a un grupo de población determinado. Este modelo de
referencia se podrá usar como individuo tipo del conjunto en cuestión para futuras
comparaciones, lo que permitirá realizar tareas de clasificación, diagnóstico, etc.
Alcanzar los objetivos propuestos permitirá obtener un Marco de Descubrimiento de
Conocimiento para series temporales numéricas que proporcionará otro punto de vista para
el análisis de series temporales dado que éste se realiza desde la conceptualización de la
propia serie por parte del experto en el dominio de aplicación que se desee estudiar.
Para determinar la validez del Marco de trabajo que aquí se propone, éste será aplicado al
dominio isocinético en el ámbito del proyecto I4 (Interfaz Inteligente para la Interpretación
de datos Isocinéticos), desarrollado a través de varios proyectos competitivos del Plan
Nacional de I+D en colaboración con el Consejo Superior de Deportes. Se incorporará
conocimiento experto para que tanto la similaridad de secuencias temporales como la
creación de modelos de referencia sean fácilmente interpretables, lo que permitirá mejorar
las tareas de diagnóstico y análisis en aquellas instituciones cuyo campo de trabajo
coincide con el entorno de este estudio, como por ejemplo: Centros de Rehabilitación y
Introducción
11
Fisioterapia, Centros de Alto Rendimiento Deportivo, Centros de Enseñanza Médica,
Centros de Medicina Deportiva, etc.
1.2. Estructura de la Tesis
El presente trabajo se ha estructurado en varios capítulos cuyo contenido se presenta a
continuación:
Capítulo 2. En este capítulo se realiza un análisis del estado del arte en las áreas
relevantes para esta tesis. Después de una breve introducción al capítulo se
incluyen los siguientes cuatro grandes epígrafes: Descubrimiento de Conocimiento,
Técnicas de data mining (donde se describen la principales técnicas de clasificación
y clustering existentes), Computación Evolutiva y Análisis de series temporales
(donde se describen las medidas de similaridad y técnicas de transformación que
existen para series temporales).
Capítulo 3. Este capítulo aborda la problemática que ha llevado a la realización de
este trabajo de investigación.
Capítulo 4. Este capítulo incluye la descripción del diseño de la solución: el Marco
de Descubrimiento de Conocimiento para series temporales numéricas aplicando
métodos simbólicos. Además recoge la aplicación de la solución diseñada al
dominio isocinético.
Capítulo 5. Este capítulo recoge la evaluación realizada sobre el Marco de
Descubrimiento diseñado. Se incluye tanto el diseño de la experimentación
realizada como los resultados obtenidos de dicha experimentación.
Capítulo 6. Este capítulo engloba las conclusiones a las que se ha llegado mediante
la realización de este trabajo.
Capítulo 7. Este capítulo recoge las posibles líneas de investigación futuras que
surgen de la investigación realizada.
Capítulo 8. Este capítulo recoge las referencias bibliográficas utilizadas en la
investigación llevada a cabo.
La memoria termina con tres Anexos, que contienen información complementaria
referenciada en el trabajo.
CAPÍTULO 2. ESTADO DE LA CUESTIÓN
Estado de la Cuestión
15
En la actualidad, en la era de la información digital, el exceso de información provoca una
sobrecarga de datos. Por ese motivo es cada vez más importante mejorar los modelos
utilizados para poder analizar y entender toda la información disponible, además de
mejorar las técnicas utilizadas para obtener y almacenar los datos. Este es el marco de
investigación donde se encuadra este capítulo, donde se describen las técnicas y algoritmos
que existen en la actualidad en el contexto del análisis de datos y en particular en el
análisis de series temporales. Será a partir del siguiente capítulo donde se ponga de
manifiesto la necesidad de desarrollar un nuevo marco de conocimiento que resuelva la
problemática planteada en este trabajo de investigación.
El presente capítulo está dividido en cuatro secciones. Una vez descrito, en la primera
sección, el proceso de descubrimiento de conocimiento, se describen en la segunda y
tercera sección las técnicas utilizadas para poder extraer ese conocimiento. Finalmente, en
la última sección se explican las técnicas de similaridad y de transformación aplicadas a
datos temporales.
2.1. Descubrimiento de Conocimiento
El descubrimiento de conocimiento en bases de datos (KDD – Knowledge Discovery in
Databases) permite encontrar información útil en una colección de datos [Frawley et al.
91, Fayyad et al. 95, Fayyad et al. 96a, Fayyad et al. 96b]. El conocimiento se puede
representar de muchas formas, siendo una de ellas, la utilización de reglas que permiten
describir las propiedades de esos datos. La obtención de patrones o clases de objetos de los
datos es el objetivo que persigue el proceso KDD. Actualmente, la tecnología nos permite
obtener y almacenar cada vez más datos de una forma sencilla, pero el análisis de esos
datos es lento y caro debido al crecimiento exponencial de los datos. El incremento de
datos en una base de datos puede deberse al aumento del número de registros (N),
individuos u objetos, contenidos en la misma, y también al número de campos (d), o
atributos, de cada objeto. A medida que crece el volumen de datos, la manipulación de
éstos y su exploración se hace más difícil, sobre todo utilizando las capacidades humanas.
Las personas buscan la tecnología para poder automatizar la búsqueda de conocimiento en
los datos. En la extracción de conocimiento a partir de una gran base de datos se suelen
utilizar multitud de técnicas: matemáticas, estadísticas, de reconocimiento de patrones, de
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
16
inteligencia artificial, de sistemas expertos, de visualización de datos, de búsqueda y de
razonamiento.
Los campos donde el proceso KDD puede ser aplicado son muy variados, incluyendo datos
médicos, aplicaciones financieras, datos científicos, etc. Con este proceso se podría por
ejemplo detectar el fraude en el área de la telecomunicación, conocer la asociación de
ventas en el área de los supermercados u obtener una segmentación de los clientes de un
banco.
KDD es un proceso iterativo e intuitivamente interactivo y no un sistema que
automáticamente analiza los datos dando como resultado conocimiento útil. Aunque se
disponga de una gran cantidad de datos encima de la mesa, no se debe esperar sacar
conclusiones útiles a primera vista. El usuario de un sistema KDD debe tener un
conocimiento sólido del dominio del problema; de este modo, el propio usuario será capaz
inicialmente de separar la información en una serie de subconjuntos. Este proceso está
compuesto por una serie de pasos o etapas que son las que se describen a continuación
[Figura 2-1]:
1. Entender perfectamente el dominio de aplicación y los objetivos que se buscan.
2. Seleccionar un conjunto de datos (datos seleccionados) que serán los que se
utilicen para aplicar los pasos que se citan a continuación, tantas veces como sea
necesario, para la búsqueda de conocimiento.
3. Limpieza y preprocesamiento de los datos: incluye operaciones básicas como la
eliminación de ruido o datos no apropiados, la decisión de qué atributos de los
datos se van a utilizar y el tratamiento de los atributos con valores no recogidos.
4. Reducción y transformación de los datos: en este paso se deben buscar las
características útiles e importantes que caracterizan a los datos. Además, se debe
reducir el número de atributos o encontrar una representación invariante para los
datos mediante métodos de transformación o métodos de reducción de la
dimensionalidad.
5. Descubrimiento de patrones mediante la utilización de las técnicas de data mining
(ver apartado 2.2). En esta fase se deben elegir los algoritmos de data mining que
se consideren oportunos para la búsqueda de patrones en los datos.
Estado de la Cuestión
17
6. Postprocesamiento o Interpretación: en este paso se tienen que interpretar los
patrones que se han descubierto. Se eliminan los patrones redundantes o
irrelevantes, trasladando la información útil a términos inteligibles por el usuario.
DatosDatos
Seleccionados
Datos
Preprocesados
Datos
TransformadosPatrones Conocimiento
Selección Preprocesamiento Transformación Data MiningInterpretación/
Evaluación
Figura 2-1. Conjunto de pasos que constituyen el proceso KDD
2.2. Técnicas de Data Mining
Como se ha descrito en el proceso KDD, las técnicas de data mining son utilizadas para
obtener conocimiento del conjunto de datos a estudiar, conocimiento que tendrá que ser
interpretado en el siguiente paso del proceso KDD (ver apartado 2.1).
La mayoría de las empresas han acumulado una gran cantidad de datos, pero lo que
realmente necesitan es conocimiento, es decir, lo que se quiere es aprender de los datos
para poder satisfacer a sus clientes. Sin embargo, ¿cómo se puede aprender de esos datos?
La respuesta a esta pregunta se encuentra en el data mining.
Las técnicas de data mining permiten analizar un conjunto de datos para encontrar patrones
escondidos, útiles, importantes y novedosos, además de las relaciones y tendencias que
pudieran existir entre ellos. Un patrón es un conjunto de comportamientos que aparecen
con frecuencia dentro de un conjunto de datos. El proceso de data mining comprende un
conjunto de métodos que automatizan el proceso de búsqueda. Es en aquellos problemas
con una gran cantidad de datos y de relaciones escondidas en los que el data mining
encuentra su ámbito de aplicación.
Las técnicas de data mining usan análisis estadístico, técnicas de inteligencia artificial y
técnicas de modelización para la búsqueda de patrones y relaciones ocultas en bases de
datos. Estas técnicas encuentran estos patrones mediante la construcción de modelos. Los
modelos, como los mapas, son una representación abstracta de la realidad. Un mapa
modeliza una ruta desde el aeropuerto hasta un determinado sitio, pero no muestra que un
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
18
accidente está produciendo tráfico lento en un lugar concreto del trayecto. No hay que
confundir modelo con realidad; un buen modelo es una guía útil para poder entender mejor
el negocio y mostrar cuáles son las acciones a tomar para llegar a tener éxito. Se necesita
una variedad de herramientas y tecnologías para encontrar el mejor modelo posible.
Hay dos claves que hay que tener en cuenta para el éxito en las técnicas de data mining. La
primera es que se utilice un esquema preciso del problema que se intenta resolver. La
segunda es que se usen datos correctos. Después de seleccionar los datos que se tienen
disponibles, se necesita transformarlos y combinarlos de forma significativa.
En esta sección se describen las técnicas de data mining empezando por el análisis de
asociaciones, como técnica que ayuda a identificar relaciones iniciales entre los datos a
estudio, y continuando con las técnicas de clasificación, algoritmos supervisados utilizados
para la clasificación de datos, y técnicas de clustering, algoritmos no supervisados
utilizados para la agrupación de los datos.
2.2.1. Análisis de asociaciones
El análisis de asociaciones es una aproximación descriptiva para explorar datos que
puede ayudar a identificar relaciones dentro de la gran cantidad de datos que tiene una
base de datos (o un conjunto de bases de datos). Las dos aproximaciones más comunes
para el análisis de datos son el descubrimiento (o búsqueda) de asociaciones y el
descubrimiento (o búsqueda) de secuencias. El descubrimiento de asociaciones
encuentra reglas de ítems que aparecen juntos en un determinado evento, como ocurre
en las transacciones de compra de determinados productos, por ejemplo la compra de un
martillo asociada a la compra de clavos. El descubrimiento de secuencias es muy
similar; la única diferencia es que las asociaciones son relaciones en el tiempo.
Las asociaciones se representan de la siguiente manera: A B, donde A se llama
antecedente o parte izquierda, y B se llama consecuente o parte derecha.
Es fácil determinar la proporción de transacciones que contienen un ítem particular o un
conjunto de ítems: simplemente contándolos. La frecuencia con la cual una asociación
particular (por ejemplo, el conjunto de ―martillos y clavos‖) aparece en el conjunto de
datos se denomina soporte. Si se decide que 15 transacciones de 1000 consisten en
Estado de la Cuestión
19
―martillos y clavos‖, el soporte para esta asociación sería 1.5%. Además, el soporte debe
indicar qué asociaciones no son importantes.
Sin embargo, para encontrar reglas útiles también se debe considerar la frecuencia
relativa de los ítems o de sus combinaciones. Si se conoce el número de veces que
ocurre A (el antecedente), ¿cuántas veces ocurre B?. Usando el ejemplo anterior, se
podría realizar la siguiente pregunta: cuándo la gente compra un martillo, ¿cuántas veces
compran clavos? Para dar respuesta a esta pregunta se dispone de la confianza de A
B: (frecuencia de A y B)/(frecuencia de A).
A continuación se muestra un ejemplo con más detalle para poder ilustrar mejor estos
conceptos. En este ejemplo las especificaciones de lo que se encuentra en la base de
datos son las siguientes:
Total de transacciones hardware: 1.000
Número de transacciones con ―martillo‖: 50
Número de transacciones con ―clavos‖: 80
Número de transacciones con ―madero‖: 20
Número de transacciones con ―martillo‖ y ―clavos‖: 15
Número de transacciones con ―clavos‖ y ―madero‖: 10
Número de transacciones con ―martillo‖ y ―madero‖: 10
Número de transacciones con ―martillo‖, ―clavos‖ y ―madero: 5
Calculando el soporte y la confianza se obtiene:
Soporte para ―martillo y clavos‖ = 1.5% (15/1.000)
Soporte para ―martillo, clavos y madero‖ = 0.5% (5/1.000)
Confianza de ―martillo clavos‖ = 30% (15/50)
Confianza de ―clavos martillo‖ = 19% (15/80)
Confianza de ―martillo y clavos madero‖ = 33% (5/15)
Confianza de ―madero martillo y clavos‖ = 25% (5/20)
De esta manera se puede ver que la probabilidad de que una persona que compra un
martillo, también compre clavos (30%) es mayor que la probabilidad de que una persona
que compra clavos, también compre un martillo (19%). El soporte de la asociación
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
20
martillo-clavos (1.5%) se podría considerar que es suficiente para poder tomar esta regla
como útil.
Los algoritmos de asociación encuentran reglas calculando, al mismo tiempo, la
confianza y el soporte. Sin embargo cuando se realiza la búsqueda de todas las posibles
reglas, se produce una explosión combinatoria que da como resultado una gran cantidad
de reglas. Algunos algoritmos crean una base de datos de reglas, con factores de
confianza y de soporte para que pueda ser consultada. De este modo se podría realizar la
consulta: ―Muéstrame todas las asociaciones que tengan como consecuente ―clavos‖ y
que tenga un factor de confianza del 30% y un soporte de 1% o más‖.
Las reglas de asociación son realmente descripciones de las relaciones existentes de un
conjunto de datos en particular. Por tanto cuanto menos sesgados y más precisos sean
los datos a tratar más veraces serán esas relaciones en el mundo real. Los métodos
gráficos son también muy útiles para ver la estructura de las asociaciones. En la [Figura
2-2] los círculos representan un atributo y las líneas que los conectan representan una
relación. Las líneas más gruesas representan relaciones más frecuentes o más fuertes.
Martillo
50
Clavos
80
Madero
20
15
10
10
5
Figura 2-2. Diagrama de asociaciones
La idea de utilizar reglas de asociación en grandes bases de datos fue de [Agrawal et al.
93b], mediante el algoritmo Apriori. Este algoritmo se basa en el conocimiento previo o
―a priori‖ de los conjuntos de valores frecuentes e indica que un subconjunto no vacío
extraído a partir de un conjunto de valores frecuentes también resulta ser frecuente. El
algoritmo utiliza recursividad por niveles a través de una aproximación bottom-up. En
un primer paso se generan los candidatos y seguidamente los pone a prueba para
descartar los conjuntos de valores no frecuentes. Por ejemplo, con k = 4, se supone que
hay dos conjuntos de tamaño k − 1 tal que A B C y A B D generándose dos
subconjuntos candidatos tal que A B C D y A B D C, los cuales deben
Estado de la Cuestión
21
ser validados con los datos. El algoritmo finaliza cuando no se producen más
subconjuntos candidatos.
A partir del algoritmo Apriori surgieron diversos métodos para buscar reglas de
asociación [Agrawal et al. 94, Klemettinen et al. 94, Keith y Wai-Ho 97, Liu et al. 00,
Blanchard et al. 05].
En el dominio temporal se incluye el parámetro tiempo dentro de la dimensionalidad de
las reglas asociativas. En este dominio existen dos enfoques principales: el enfoque
univariante, ampliamente estudiado y referenciado [Hoppner 03, Laxman y Sastry 06,
Moerchen 06, Zhao y Bhowmick 03], y el enfoque multivariante, cuya óptica se centra
en las relaciones entre conjuntos o bases de datos compuestas por diferentes series
temporales [Bettini et al. 98, Casas-Garriga 03, Elfeky 00, Han et al. 99, Ozden et al. 98,
Yang et al. 00]. En esta óptica destacan por un lado las relaciones intra-transaccionales
(con ausencia de lapsos temporales) y por otro lado las relaciones inter-transaccionales
(con restricciones temporales y presencia del parámetro tiempo en la definición de las
reglas asociativas. Estas últimas representan en sí los nuevos retos y novedades dentro
del campo de la minería de reglas asociativas aplicadas a series temporales y datos
secuenciales.
2.2.2. Clasificación
Dado un conjunto de objetos caracterizados por uno o varios atributos, la clasificación
consiste en catalogar esos objetos mediante etiquetas que son conocidas a priori. Por
tanto los algoritmos de clasificación son algoritmos supervisados que se apoyan en una
función que permite etiquetar estos objetos. Generalmente esta función habrá sido
entrenada mediante un conjunto de objetos clasificados previamente.
2.2.2.1. Árboles de decisión
Un árbol de decisión es un modelo de clasificación que sirve para estructurar una serie
de condiciones que llevarán a la decisión de asignar a un objeto una clase
determinada.
Un árbol de decisión es un diagrama que representa en forma secuencial condiciones
y acciones; muestra qué condiciones se consideran en primer lugar, cuáles en segundo
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
22
lugar y así sucesivamente. Este método permite mostrar la relación que existe entre
cada condición y el grupo de decisiones permisibles asociado con ella.
El árbol de decisión está formado por el nodo raíz, los nodos internos, los nodos hojas
y las ramas que conectan los nodos entre sí. Tanto el nodo raíz como los nodos
internos representan las condiciones del problema. El nodo raíz representa el nodo a
partir del cual se construye el árbol de decisión mientras que los nodos internos son
los que derivan del nodo raíz hasta llegar a los nodos hoja, los cuales representan la
decisión de clasificación asociada a los objetos que cumplen las condiciones de los
nodos anteriores.
En la [Figura 2-3] se muestra un ejemplo de un árbol de clasificación donde se
representan las personas que se prestan mejor a un crédito que otras. El objetivo es
saber si el riesgo de conceder el crédito es alto o bajo.
Figura 2-3. Árbol de decisión
Una de las ventajas de los árboles de decisión es que permiten explicar las
clasificaciones que se realizan, ventaja que no tienen las redes de neuronas (ver
apartado 2.2.2.3). También hay que tener en cuenta que esta ventaja puede llevar a
confusiones. Por ejemplo, las divisiones radicales con que cuentan los árboles de
decisión implican una precisión que no se refleja exactamente en la realidad (¿por qué
una persona con salario 1201 € se presta a la concesión de un préstamo con bajo
riesgo y otra persona con 1200 € no?).
Otra de las ventajas de los árboles de decisión es que trabajan muy bien con una gran
cantidad de variables. Esto hace que los modelos se puedan construir muy
rápidamente y de forma eficiente. Sin embargo, se suelen utilizar reglas para limitar el
crecimiento del árbol tanto en profundidad como en anchura. Además, se puede
conseguir podar el árbol en determinados sitios gracias a heurísticas o a la
intervención del propio usuario.
Estado de la Cuestión
23
La desventaja fundamental de los árboles de decisión es que crecen
desmesuradamente a medida que aumentan los grupos de datos. Cuando se realiza el
proceso de clasificar, el objetivo es maximizar la distancia existente entre los
diferentes grupos. La forma de calcular esta distancia da lugar a distintos métodos de
árboles de decisión. Fijándonos en el ejemplo de la [Figura 2-3], los datos se pueden
agrupar en dos posibles grupos, los de alto riesgo y los de bajo riesgo. Este ejemplo es
fácil de entender e interpretar, pero existen árboles de decisión muy complicados.
Sólo hay que imaginarse la complejidad de un árbol de decisión derivado de una base
de datos de cientos de atributos y con una docena de clases de salida. Estos árboles
son extremadamente difíciles de entender, aunque se entienda cada nodo hoja por
separado.
Los dos puntos más importantes que se deben determinar en el diseño de un árbol de
decisión son los siguientes:
Divisiones (o particiones) a considerar: Un conjunto de condiciones
exhaustivas y excluyentes. Cuantas más divisiones se permitan más expresivos
podrán ser los árboles de decisión generados y, probablemente, más precisos.
No obstante, cuantas más divisiones se elijan, la complejidad del árbol será
mayor. Por tanto, es importante encontrar un buen compromiso entre
expresividad y eficiencia.
Criterio de selección de divisiones: Incluso con sólo dos divisiones por
atributo el número de divisiones posibles puede dispararse. Si en una
condición, un atributo puede tomar más de dos valores entonces el número de
divisiones será mucho mayor (si existen n atributos y m valores posibles para
cada atributo, el número de divisiones posibles es de n x m). Los algoritmos
clásicos de aprendizaje de decisión son voraces, en el sentido de que una vez
elegida la división se continúa hacia abajo la construcción del árbol y no
vuelven a plantearse las divisiones ya construidas. Por tanto se debe buscar un
criterio que permita realizar una buena elección de la división que parece más
prometedora y que esto se haga sin demasiado esfuerzo computacional.
Los algoritmos de aprendizaje de árboles de decisión en su forma más sencilla
obtienen un modelo que es completo y consistente con respecto a la evidencia. Es
decir, el modelo cubre todos los ejemplos vistos y los cubre todos de manera correcta.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
24
Esto puede parecer óptimo a primera vista, pero se vuelve demasiado ingenuo en la
realidad. En primer lugar, ajustarse demasiado a la evidencia suele tener como
consecuencia que el modelo se comporte mal para nuevos ejemplos, ya que, en la
mayoría de los casos, el modelo es solamente una aproximación del concepto objetivo
del aprendizaje. Por tanto, intentar aproximar demasiado hace que el modelo sea
demasiado específico, poco general y, por tanto, malo con otros datos no vistos. En
segundo lugar, esto es especialmente patente cuando la evidencia puede contener
ruido (errores en los atributos), ya que el modelo intentará ajustarse a los errores y
esto perjudicará el comportamiento global del modelo aprendido. Estos problemas es
lo que se conoce como sobreajuste (overfitting).
La manera más frecuente de limitar este problema es modificar los algoritmos de
aprendizaje de tal manera que obtengan modelos más generales. En el contexto de los
árboles de decisión, generalizar significa eliminar condiciones de las ramas del árbol
o de algunas reglas. En el caso de los árboles de decisión dicho procedimiento se
puede ver gráficamente como un proceso de poda.
La poda es una de las primeras y más simples modificaciones que se han ideado para
mejorar el comportamiento de los árboles de decisión. Con posterioridad se han
definido otra serie de operadores y modificaciones, generalmente denominados
operadores de reestructuración. Por ejemplo, el algoritmo C4.5 realiza lo que se
conoce como colapsamiento (collapsing) [Quinlan 93]. Otros operadores de
modificación de la topología del árbol son la transposición, la transposición recursiva
y la poda virtual [Utgoff et al. 97].
Existe una amplia variedad de algoritmos para la construcción de árboles de decisión.
ID3 [Quinlan 83, Quinlan 86], C4.5 [Quinlan 93] y derivados (Assistant [Cestnik et
al. 87]) son métodos de aprendizaje de divide y vencerás que particionan el conjunto
de ejemplos en subconjuntos a medida que avanzan; trabajar sobre cada subconjunto
es más sencillo que trabajar sobre el total de los datos.
CART (Classification And Regression Trees) [Breiman et al. 84] y QUEST [Loh y
Shih 97] son aplicaciones que construyen árboles de clasificación binarios cuyas
divisiones se hacen utilizando una sola variable o varias variables ordenadas (medidas
al menos en una escala numérica) o una mezcla de ambas. Otras aplicaciones como
Estado de la Cuestión
25
FACT [Loh y Vanichsetakul 88] y THAID [Morgan y Messenger 73] (al igual que
AID (Automatic Interaction Detection) [Morgan y Sonquist 63] y CHAID (Chi-
Square Automatic Interaction Detection) [Kass 80]) realizan divisiones múltiples en
lugar de binarias al desarrollar el árbol de clasificación.
2.2.2.2. Algoritmo de los vecinos más próximos
Se parte de n individuos caracterizados por m atributos cada uno de ellos. Se sabe que
el i-ésimo individuo muestral pertenece a cierta clase C y todo el conjunto de datos se
guarda en una matriz. Además se dispone también de s individuos, de dimensión m
como los anteriores, cuya pertenencia a una u otra clase es la que se desea estimar.
El algoritmo de los vecinos más próximos (también llamado algoritmo k-NN (k-
Nearest Neighbor)) consiste en calcular la distancia entre el individuo a clasificar y
cada uno de los n individuos muestrales, asignando el primero a aquella clase que con
mayor frecuencia aparece entre los k más cercanos.
En la [Figura 2-4] se muestra el área obtenida al clasificar el nuevo individuo N
mediante un algoritmo 6-NN. Este nuevo individuo pertenecería a la clase C1 ya que
los 5 de los 6 individuos más cercanos a N son de la clase C1.
C1
C1
C1
C1
C1
C1N
C1
C1
C2
C2
C1
C2
Figura 2-4. Ejemplo del algoritmo 6-NN
con dos clases
La selección del valor de k debe hacerse empíricamente, buscando un compromiso
entre estas dos ideas:
Interesa k grande para minimizar la probabilidad de clasificación errónea.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
26
Interesa k pequeño para que los individuos muestrales estén lo suficientemente
cerca como para obtener una clasificación fiable.
La versión más simple del algoritmo es de fácil implementación pero es
computacionalmente cara, especialmente cuando el tamaño del conjunto de los
vectores muestrales crece. Por ese motivo se han realizado varias optimizaciones a
este respecto, por ejemplo, reduciendo el número de evaluaciones de la distancia o
particionando el espacio de características.
Existen varios métodos propuestos cuando la dimensión es baja (uno o dos
dimensiones) como los diagramas de Voronoi [Omohundro 87], o cuando es
moderada (hasta diez dimensiones), como los kd-trees [Friedman et al. 77] y los
metric trees [Preparata y Shamos 85]. Los metric trees o los ball-trees [Moore 00] son
los más utilizados para conseguir eficiencia en grandes dimensiones [Radovanovic et
al. 10].
2.2.2.3. Redes de neuronas
El concepto de redes de neuronas comenzó como un esfuerzo para describir cómo
trabajaba la mente humana. Estas ideas empezaron a ser aplicadas a modelos
computacionales como el Perceptrón [Rosenblatt 58]. En términos más prácticos, las
redes de neuronas son herramientas de modelización de datos y suelen ser utilizadas
parar modelar las relaciones complejas entre las variables de entrada y de salida.
Una red neuronal [Figura 2-5] se compone de unidades llamadas neuronas. Cada
neurona recibe una serie de entradas a través de interconexiones y emite una salida.
Esta salida viene dada por tres funciones:
Una función de propagación (también conocida como función de
excitación), que por lo general consiste en el sumatorio de las entradas
multiplicadas por el peso de su interconexión (valor neto (wi,j)). Si el peso
es positivo, la conexión se denomina excitatoria; si es negativo, se
denomina inhibitoria.
Una función de activación, que modifica a la anterior. Puede no existir,
siendo en este caso la salida el mismo resultado que proporciona la función
de propagación.
Estado de la Cuestión
27
Una función de transferencia, que se aplica al valor devuelto por la función
de activación. Se utiliza para acotar la salida de la neurona y generalmente
viene dada por la interpretación que se le quiera dar a dichas salidas.
Algunas de las más utilizadas son la sigmoide (para obtener valores en el
intervalo [0,1]) y la hiperbólica-tangente (para obtener valores en el
intervalo [-1,1]).
1
2
3
4
5
6
7
8
9
Nodos Entrada
Nodos Salida
Nodos Ocultos
w14
w15
w16w17
w24w25
w26
w27
w34
w35
w36
w37
w48
w49
w58
w59
w68
w69
w78 w79
Figura 2-5. Red de neuronas
Hay que tener en cuenta que los pesos de las conexiones no se conocen a priori, y que
se necesitan métodos de entrenamiento de la red para poder estimarlos. Entre los
métodos de entrenamiento más comunes se encuentran la propagación hacia atrás
[Rumelhart y Zisper 86], quasi-Newton [Homayoon et al. 90], Levenberg-Marquardt
[Levenberg 44, Marquardt 63] o los algoritmos genéticos [Davis 87, Goldberg y
Richardson 87]. Cada algoritmo de simulación tiene un conjunto de parámetros que
controla varios aspectos de la simulación como la localización del óptimo local o el
ajuste de la velocidad de convergencia hacia la solución. Estos algoritmos de
simulación se utilizan para ir enseñando, entrenando o ajustando la red de neuronas.
Por una parte, existe una desventaja que debe ser tenida en cuenta. Debido a la gran
cantidad de parámetros y a las numerosas combinaciones de los parámetros, la
interpretación del modelo resultante se hace bastante difícil, y la mayoría de las veces
una red de neuronas se ve como una ―caja negra‖ de clasificación. Generalmente no
se entiende cómo se ha realizado una determinada clasificación debido a que no se
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
28
sabe lo que significa el valor de cada peso. Sin embargo, esto es aceptable en muchas
aplicaciones. Entre los ámbitos de aplicación de este tipo de técnicas se encuentran las
plantas químicas, los mercados financieros, y los problemas de reconocimiento de
patrones en la voz, la visión o la escritura.
Por otra parte, una ventaja de los modelos basados en redes de neuronas es que son
fáciles de implementar para que puedan funcionar en máquinas con arquitectura de
procesamiento paralelo. De este modo, cada procesador puede realizar de forma
paralela sus propios cálculos.
Una primera clasificación de las redes de neuronas artificiales sería en función del
tipo de conexiones que presentan. Así se definen dos tipos básicos de redes:
Los tipos de redes de propagación hacia delante o acíclicas en las que todas las
señales van desde la capa de entrada hacia la de salida sin existir ciclos, ni
conexiones entre neuronas de la misma capa. De este tipo son las monocapas,
como el perceptrón [Rosenblatt 58] o el Adaline [Widrow 62], y las
multicapas, como el perceptrón multicapa [Marvin y Seymor 88].
Las redes recurrentes, que presentan al menos un ciclo cerrado de activación
neuronal, como las redes de Elman [Elman 89], Hopfield [Hopfield 82] y la
máquina de Bolzman [Hinton y Sejnowski 83].
Una segunda clasificación sería en función del tipo de aprendizaje que utiliza, es
decir, si necesita o no un conjunto de entrenamiento supervisado. Para cada tipo de
aprendizaje se encuentran varios modelos propuestos por diferentes autores:
Aprendizaje supervisado: necesitan un conjunto de datos de entrada
previamente clasificado o cuya respuesta objetivo se conoce. Ejemplos de este
tipo de redes son: el perceptrón simple, la red Adaline, el perceptrón multicapa
y la memoria asociativa bidireccional [Kosko 88].
Aprendizaje no supervisado o autoorganizado: no necesitan de un conjunto
que esté previamente clasificado. Ejemplos de este tipo de redes son: las
memorias asociativas [Marks et al. 89, Sezan et al. 90], las redes de Hopfield,
la máquina de Bolzman y la máquina de Cauchy [Szu y Hartley 87, Szu 88,
Takefuji y Szu 89], las redes de aprendizaje competitivo [Rumelhart y Zisper
Estado de la Cuestión
29
86], las redes de Kohonen o mapas autoorganizados [Kohonen 95, Kohonen et
al. 96] y las redes de resonancia adaptativa [Carpenter y Grossberg 03].
Redes híbridas: son un enfoque mixto en el que se utiliza una función de
mejora para facilitar la convergencia. Un ejemplo de este último tipo son las
redes de base radial [Bremermann 62, Bremermann 65, Brindle 91,
Broomhead y Lowe 88].
Finalmente también se pueden clasificar según el tipo de información que sea capaz
de procesar:
Redes analógicas: procesan datos de entrada con valores continuos y,
habitualmente, acotados. Ejemplos de este tipo de redes son: Hopfield,
Kohonen y las redes de aprendizaje competitivo.
Redes discretas: procesan datos de entrada de naturaleza discreta,
habitualmente valores lógicos booleanos. Ejemplos de este segundo tipo de
redes son: las máquinas de Bolzman y Cauchy, y la red discreta de Hopfield.
2.2.2.4. Máquinas de soporte vectorial
Las máquinas de soporte vectorial1 (MSV) [Bennett y Campbell 00] usan modelos
lineales para implementar clasificación con separaciones no lineales, transformando el
espacio de entrada en un nuevo espacio.
Primero se equiparan los puntos de entrada (que representan a los individuos u
objetos) a un espacio de características de una dimensión mayor (por ejemplo, si los
puntos de entrada están en 2 entonces son equiparados a 3 ) y después, se encuentra
un hiperplano h que los separe y maximice el margen existente entre las clases en este
nuevo espacio.
La solución del hiperplano óptimo puede ser escrita como la combinación de unos
pocos puntos de entrada que son llamados vectores de soporte.
Si los datos a clasificar son {( x
1, c1), ( x
2, c2),…, ( x
n, cn)}, donde ci es 1 o -1 y
denota la clase a la que pertenece el punto x
i, y cada x
i es un vector p-dimensional
generalmente normalizado, el hiperplano de clasificación será de la forma:
1 En inglés: SVM – Support Vector Machine
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
30
0 bxw
Expresión 2-1. Ecuación del hiperplano de separación
El vector w
es perpendicular al hiperplano de separación y se añade un parámetro de
compensación b que permitirá incrementar el margen. Se necesita asegurar que para
todos los i se cumple la [Expresión 2-2] o [Expresión 2-3], las cuales pueden ser
expresadas como la [Expresión 2-4].
1 bxw i
Expresión 2-2. MSV
1 bxw i
Expresión 2-3. MSV
nibxwc ii 11)(
Expresión 2-4. MSV
En la [Figura 2-6] se muestra un ejemplo de clasificación MSV donde los datos de
entrenamiento son linealmente separables.
0 bxw
1 bxw
1 bxw
w
2
h
Figura 2-6. Hiperplanos de máximo margen para un
MSV entrenado con muestras de dos clases
En [Vapnik y Lerner 63] se propone el algoritmo del hiperplano óptimo como un
clasificador lineal. En [Cortes y Vapnik 95] considerando que no existe un hiperplano
que pueda separar las clases de forma completa, se propone elegir un hiperplano que
separe las clases tan limpiamente como sea posible, maximizando la distancia con los
objetos más próximos. En este método se introducen las variables i , las cuales miden
el grado del error de clasificación del dato xi según la [Expresión 2-5].
Estado de la Cuestión
31
nibxwc iii 11
Expresión 2-5. Margen Suave2 – Expresión de Cortes y Vapnik
En [Boser et al. 92] se sugiere crear clasificadores no lineales y en [Drucker et al. 97]
se propone la regresión de soporte vectorial (RSV3) la cual depende de un
subconjunto de objetos de entrenamiento, porque la función coste para diseñar el
modelo ignora cualquier dato de entrenamiento que esté cerca (dentro de un umbral
) para el modelo de clasificación.
2.2.2.5. Análisis discriminante y regresión Logística
Sea un conjunto de n individuos divididos en q grupos {Gi; i=1,…, q} de tamaños {ti;
i=1,…, q} que constituyen una partición de la población de la que dichos individuos
proceden, y sea Y=(Y1,…,Yp) un conjunto de variables numéricas observadas sobre
dichos individuos con el fin de utilizar dicha información para discriminar entre los q
grupos anteriores. El análisis discriminante es una técnica multivariante cuyos
objetivos son:
Analizar si existen diferencias entre los grupos en cuanto a su comportamiento
con respecto a las variables consideradas y averiguar en qué sentido se dan
dichas diferencias.
Elaborar procedimientos de clasificación sistemática de individuos de origen
desconocido, en uno de los grupos analizados.
Estos dos objetivos dan lugar a dos ramas dentro del análisis discriminante: el análisis
discriminante descriptivo y el análisis discriminante predictivo, respectivamente.
El análisis discriminante descriptivo está más interesado en las variables empleadas
para diferenciar los grupos, llamadas explicativas, y lo que se pretende es determinar
cuales de esas variables son las que más diferencian a los grupos; cuales son
importantes y cuales no lo son a la hora de clasificar los individuos.
En el análisis discriminante predictivo se trata de estimar, a partir de los datos,
ecuaciones que, aplicadas a un nuevo individuo, para el que se determinan los valores
2 En inglés: Soft Margin 3 En inglés: SVR – Support Vector Regression
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
32
de las diferentes variables pero del que se desconoce a qué grupo pertenece,
proporcionen una regla de clasificación lo más precisa posible. Este tipo de análisis
puede constituir por ejemplo una ayuda al diagnóstico, o un método de ayuda a la
decisión sobre la utilización de una terapia concreta.
Mediante las ecuaciones estimadas en el procedimiento de análisis discriminante se
obtiene un mecanismo para asignar un individuo a uno de los grupos, a partir de los
valores de las variables explicativas. Si se está trabajando sólo con dos grupos, en la
asignación existen dos posibles errores: el que se comete al clasificarlo en el primer
grupo, cuando en realidad pertenece al segundo P(I/II), y el que se cometería al
incluirlo en el segundo grupo, cuando en realidad pertenece al primero P(II/I). El
criterio matemático de clasificación se determina de tal manera que minimice la
probabilidad de error, que en el caso más general de prevalencias diferentes en cada
grupo con valores P(I) y P(II), será
)()/()()/()( IPIIIPIIPIIIPerrorP
Expresión 2-6. Probabilidad del error de clasificación
Cuando la importancia de cada uno de los errores es diferente, por ejemplo ante un
diagnóstico, cuando es más grave el error que se comete al clasificar a un individuo
enfermo como sano (falso negativo) que el que se cometería al clasificar a uno sano
como enfermo (falso positivo), el criterio de clasificación puede tenerlo en cuenta,
introduciendo en la ecuación que se va a minimizar un peso o coste para cada error. Si
C1 es el peso o coste del error de clasificar en el grupo II a un individuo del grupo I, y
C2 es el de clasificar en el grupo I a un individuo del grupo II, se trata ahora de
minimizar la ecuación siguiente:
)()/()()/()( 21 IPIIIPCIIPIIIPCerrorC
Expresión 2-7. Probabilidad del error de clasificación con costes asociados
siendo C1+C2=1.
En el caso de disponer de dos grupos y p variables explicativas, el análisis
discriminante permite estimar los coeficientes b0,b1,…,bp de una función de
clasificación:
Estado de la Cuestión
33
pp xbxbxbbD ...22110
Expresión 2-8. Función de clasificación
Siendo P(I) y P(II) las prevalencias de cada grupo, C1 y C2 los costes de clasificación
incorrecta anteriormente definidos, y siendo
)(
)(
1
2
IPC
IIPCc
Expresión 2-9. Valor utilizado para la clasificación
entonces la regla de decisión para clasificar a un individuo concreto en el grupo I seria
cuando D > ln c, y para clasificarlo en el grupo II seria cuando D < ln c. Este
procedimiento se generaliza para la clasificación en más de dos grupos.
La discriminación entre los q grupos se realiza mediante el cálculo de unas funciones
matemáticas denominadas funciones discriminantes. Existen varios procedimientos
para calcularlas siendo el procedimiento de Fisher [Fisher 36] uno de los más
utilizados. Fisher utilizó el análisis discriminante para clasificar los datos botánicos
correspondientes a ciento cincuenta flores de la familia Iris, definidas por cuatro
variables cuantitativas (Longitud-Sépalos, Anchura-Sépalos, Longitud-Pétalos,
Anchura-Pétalos) en tres diferentes especies: setosa, versicolor y virgínica.
El principal inconveniente del análisis discriminante tradicional radica en que supone
que los grupos pertenecen a poblaciones con distribución de probabilidad normal
multivariante para las variables explicativas X1 a Xp, con igual matriz de varianzas y
covarianzas. Por ello no debieran incluirse en el modelo variables que no cumplieran
esa condición, lo que no permite por ejemplo la utilización de variables cualitativas.
Sin embargo, en el modelo de regresión logística [Cizek y Fitzgerald 99, Hosmer y
Lemeshow 89, Pampel 00, Menard 02, O'Connell 05] se estima la probabilidad de un
suceso en función de un conjunto de variables explicativas y en la construcción del
mismo no hay ninguna suposición en cuanto a la distribución de probabilidad de esas
variables, por lo que pueden intervenir variables no normales y variables cualitativas.
Si se tienen dos grupos, de tal manera que un individuo o bien pertenece al grupo I o
bien pertenece al grupo II (por ejemplo o tiene hipertensión o no la tiene), se puede
considerar el modelo de regresión logística como una fórmula para calcular la
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
34
probabilidad de pertenecer a uno de esos grupos, y estimar así la probabilidad de que
una observación X pertenezca al grupo I, o su complementaria, la probabilidad de que
pertenezca al grupo II. De esta forma se puede considerar la regresión logística como
una alternativa al análisis discriminante. Además la interpretación del resultado de
aplicar una ecuación logística es más intuitiva al tratarse de un valor de probabilidad.
Cuando se tienen más de dos grupos, el modelo logístico introducido para una
variable dicotómica (dos grupos) se puede extender de forma natural, con pocas
modificaciones, conociéndose entonces como regresión logística politómica. La idea
es la siguiente: en la regresión logística, si P es la probabilidad del suceso (por
ejemplo probabilidad de pertenecer al grupo I), su complementaria (probabilidad de
no suceso o en este caso probabilidad de pertenecer al grupo II) es 1-P. Al cociente
entre ambas probabilidades se le denomina odds4 del suceso:
pp xbxbxbbe
XIIP
XIP
p
podds
...22110
)/(
)/(
1
Expresión 2-10. Odds – Razón o cociente de probabilidades
La anterior expresión modela el odds del grupo I respecto al grupo II. P(I/X) indica
probabilidad de que pertenezca al grupo I condicionada a observar el vector X.
Considerando ahora tres grupos, es decir un modelo logístico para una variable
cualitativa con tres posibles categorías, y referenciando el primer grupo con el valor 0,
el segundo con el 1 y el tercero con 2, para utilizar la terminología habitual de la
regresión, se puede extender el modelo anterior según se muestra en la [Expresión
2-11]. Esta expresión modela el odds del grupo 1 respecto al 0 y del grupo 2 respecto
al 0.
pp
pp
xbxbb
xbxbb
eXP
XPXo
eXP
XPXo
212120
111110
...
2
...
1
)/0(
)/2()(
)/0(
)/1()(
Expresión 2-11. Odds. Modelo logístico para tres grupos
4 Odds Ratio (OR) – cociente de probabilidades - No hay término en castellano que sea bien aceptado
Estado de la Cuestión
35
A partir de esos odds se puede calcular la probabilidad condicional de cada una de las
categorías (probabilidad de pertenecer a cada uno de los grupos). Después de unas
sencillas operaciones algebraicas se obtendrán las siguientes probabilidades:
)1/()/2(
)1/()/1(
)1/(1)/0(
212
211
21
ooo
ooo
oo
eeeXP
eeeXP
eeXP
Expresión 2-12. Probabilidades para tres grupos de clasificación
2.2.3. Clustering
Dado un conjunto de objetos caracterizados por uno o varios atributos, el clustering
consiste en encontrar grupos (o clusters) que son muy diferentes los unos de los otros,
pero donde los miembros de un grupo son muy similares entre sí.
Los algoritmos de clustering son algoritmos no supervisados ya que no disponen, a
diferencia de los algoritmos de clasificación, de un conjunto de objetos clasificados
inicialmente es decir, no disponen de etiquetas que identifiquen a priori la clase o el
grupo a la que pertenecen estos objetos.
La literatura existente no refleja una única forma de agrupar las técnicas de clustering.
Por ejemplo en [Bhatt y Kankanhalli 10] se realiza una clasificación en cinco grupos: a)
basado en particiones, b) jerárquico, c) basado en densidad, d) basado en grid y e)
basado en modelos; mientras que en [Hua et al. 11] se muestra una clasificación en los
siguientes 4 grupos: a) particionales, b) basado en densidad y basado en grid, c)
jerárquico y d) otras técnicas.
Con el objetivo de realizar una clasificación los más objetiva posible y dado que la
mayoría de las técnicas de clustering son variaciones o combinaciones de las descritas
en esta sección se han agrupado las técnicas de clustering en los siguientes cuatro grupos
(ver [Figura 2-7]):
Clustering jerárquicos: basados en la generación de sucesiones ordenadas
(jerarquías) de clusters.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
36
Clustering basado en particiones: en los cuáles, después de seleccionar
inicialmente un número de clusters, los objetos se van asignando a los clusters
en función de su cercanía.
Clustering basado en densidad: basados en el concepto de densidad de un
punto, que mide el número de puntos que son alcanzables desde él considerando
un determinado radio.
Clustering basado en grid: basados en una división del espacio en un número
finito de celdas que constituyen una estructura en forma de rejilla en la que se
llevan a cabo las operaciones de clustering.
En los siguientes epígrafes se describirá cada una de las clasificaciones de clustering de
forma más detallada.
Algoritmos
de
clustering
Jerárquicos
Basados en
particiones
Aglomerativo
K-Medias y
sus derivadas
Divisivo
Métodos
Grafo-teóricos
K-medias
Fuzzy
c-medias
Clustering
QT
Basados en
densidad
Basados en
grid
Figura 2-7. Clasificación de algoritmos de clustering
2.2.3.1. Clustering jerárquicos
Las técnicas de clustering jerárquico (también llamado clustering basado en
jerarquías) se basan en la generación de sucesiones ordenadas (jerarquías) de clusters.
La estructura jerárquica se representa en forma de árbol y se llama dendograma (ver
[Figura 2-8]).
Estado de la Cuestión
37
P, Q, R, S, T
P, Q
R, S, T
P Q
S, T
R S T
Divisivo
Agl
om
erat
ivo
Figura 2-8. Dendograma
Dependiendo de la forma en que se construye el dendograma, los algoritmos de
clustering jerárquico se dividen en dos tipos:
Clustering jerárquico aglomerativo (también denominado clustering jerárquico
ascendente o acumulativo). Estos algoritmos producen una sucesión de
clusters de tal manera que en cada paso el número de clusters va
disminuyendo. Son algoritmos del tipo bottom-up. Inicialmente se empieza
con clusters que constan de un solo objeto. Los clusters resultantes de un paso
determinado son obtenidos al combinar los dos clusters más similares del paso
anterior. Otra variación del clustering bottom-up es el clustering conceptual.
Los métodos de este tipo de clustering generan descripciones conceptuales
para cada grupo generado. En un algoritmo de clustering conceptual no sólo se
utiliza una estructura de datos que dirige la formación del cluster, sino
también un lenguaje de descripción que permite describir cada regularidad
particular. Algunos de estos algoritmos son: CLUSTER/2 [Michalski y Stepp
83], COBWEB [Fisher 87], GALOIS [Carpineto y Romano 93], GCF
[Talavera y Béjar 01], ITERATE [Biswas et al. 98], SUBDUE [Jonyer et al.
01], UNIMEM [Lebowitz 87], WITT [Hanson y Bauer 89].
Clustering divisivo (también denominado clustering jerárquico descendente).
En este caso el proceso es el inverso a los algoritmos aglomerativos. Son
algoritmos del tipo top-down ya que comienzan con un único cluster en la
primera iteración y terminan con una partición en la que cada cluster consta de
un solo objeto. En [Chavent 98, Chavent 00] se propone un algoritmo de
clustering divisivo y simbólico a través de una traducción de los datos en
objetos simbólicos con una descripción asociada. De este modo se obtiene una
representación simbólica explicativa.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
38
2.2.3.2. Clustering basado en particiones
Los algoritmos de clustering intentan buscar una división del conjunto de datos en
subconjuntos con intersección vacía. Todos ellos siguen un patrón común que consiste
en realizar una asignación de los objetos a los diferentes clusters en función de la
proximidad de dichos objetos a un representante elegido para cada cluster. El número
de clusters se indica inicialmente y, tras una serie de iteraciones, se alcanza una
partición óptima de los datos. Se pueden clasificar entre métodos k-medias y sus
derivados y los métodos grafo-teóricos.
Entre los métodos k-medias y sus derivadas se encuentran:
Algoritmo k-medias: Este algoritmo parte de k clusters y asigna cada individuo al
cluster cuyo centro (también llamado centroide) es el más cercano. El centro es la
media de todos los individuos del cluster (la media aritmética para cada dimensión de
todos los individuos del cluster).
Los pasos del algoritmo [MacQueen 67] son los siguientes:
Se elige un número de clusters, k, y se generan aleatoriamente k clusters.
Se determinan los centros de cada cluster, o directamente se generan k
individuos aleatorios como centros de los clusters.
Se asigna cada individuo al cluster cuyo centro está más cercano al individuo.
Se repiten los dos pasos anteriores hasta que se cumpla el criterio de
convergencia. Generalmente el criterio de convergencia se cumple cuando la
asignación de individuos a clusters de una iteración respecto a la anterior no
haya variado.
Las principales ventajas de este algoritmo son su simplicidad y su velocidad, que
hacen que pueda ser utilizado en grandes bases de datos. Su desventaja es que no tiene
por qué producir el mismo resultado en diferentes ejecuciones dado que el resultado
de los clusters depende de la asignación aleatoria inicial. Aunque se minimiza la
varianza intra-cluster no asegura que el resultado obtenido tenga una varianza global
mínima ya que no minimiza la varianza inter-cluster.
Estado de la Cuestión
39
Existen varias modificaciones del algoritmo k-medias original, en algunas se
proponen diferentes métodos de comienzo para la selección de los clusters iniciales,
en otros se proponen mecanismos para acelerar cada paso del algoritmo [Frahling y
Sohler 06, Elkan 03] y en otros se cambia el valor del centroide por otro diferente
como es el caso del clustering k-medoid [Kaufman y Rousseeuw 90] donde en lugar
de calcular la media de los objetos de un cluster se toma un objeto del cluster como
centroide, a este objeto se le denomina medoid y suele ser el objeto cuya distancia
media a todos los objetos del cluster es mínima.
Clustering fuzzy c-medias: En el clustering fuzzy cada individuo, en lugar de
pertenecer completamente a un solo cluster, tiene un grado de pertenencia al cluster,
como en lógica difusa. Por tanto, los individuos que se encuentran en los límites
externos de un cluster estarían en el cluster con un grado de pertenencia menor que
los individuos que se encuentran en el centro del cluster. La suma de estos
coeficientes debe ser uno [Expresión 2-13].
clustersnum
k
k xux.
1
1)(
Expresión 2-13. Condición de los coeficientes para clustering Fuzzy c-medias
Con fuzzy c-medias el centroide del cluster es la media de todos los individuos, donde
cada uno de ellos tiene un peso relacionado con su grado de pertenencia al cluster
[Expresión 2-14]. El grado de pertenencia está relacionado con la inversa de la
distancia al centroide del cluster y los coeficientes son normalizados y pasados a fuzzy
con un parámetro real m>1 tal que su suma es 1 [Expresión 2-16].
x
m
k
x
m
k
kxu
xxucentro
)(
)(
Expresión 2-14. Centroide
del cluster
),(
1)(
xcentrodxu
k
k
Expresión 2-15. Grado de
pertenencia al cluster uk
j
m
xcentrod
xcentrodk
j
k
xu)1/(2
),(
),(
1)(
Expresión 2-16. Coeficientes del
cluster normalizados
Cuando m es igual a 2 sería equivalente a normalizar los coeficientes linealmente para
hacer que su suma sea 1. Cuando m es más cercano a 1, el centro del cluster estará
más cerca del individuo, asignándole por tanto un peso mayor que a los otros
individuos.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
40
El algoritmo es similar al k-medias:
Se elige un número de clusters, c.
Se asignan coeficientes de forma aleatoria a cada individuo para estar en los
clusters.
Se repite el paso anterior hasta que se cumpla el criterio de convergencia, esto
es, que el cambio de coeficientes entre 2 iteraciones no sea más de , el umbral
de sensibilidad fijado:
o Se calcula el centroide de cada cluster, utilizando la [Expresión 2-14].
o Para cada individuo, se calculan sus coeficientes utilizando la
[Expresión 2-16].
Este algoritmo, al igual que el anterior, minimiza la varianza intra-cluster, pero tiene
los mismos problemas que el k-medias, es decir, no minimiza la varianza inter-cluster,
y los resultados dependen de la selección inicial de pesos.
Uno de los algoritmos fuzzy-k-medias más utilizado es el algoritmo Expectation-
Maximization (EM) [Dempster et al. 77]. Este algoritmo se utiliza en estadística para
encontrar estimaciones de parámetros en modelos probabilísticos, donde el modelo
depende de variables no observables. EM tiene un paso de expectación (E), que
calcula la expectación de probabilidad al incluir las variables como si fueran
observables, y un paso de maximización (M), que calcula la estimación de
probabilidad máxima de los parámetros para maximizar la probabilidad esperada del
paso E. Los parámetros encontrados en el paso M son utilizados para empezar otro
paso E y así sucesivamente.
Neal y Hinton [Neal y Hinton 99] realizan una generalización del método EM
llamándolo GEM (Generalized EM) en el cual se mejora el modelo de probabilidad de
la EM. Mackay [MacKay 03] incluye ejemplos del algoritmo EM como clustering
utilizando el algoritmo k-medias, y enfatiza la vista variacional del algoritmo EM. En
[Bilmes 98] se incluye una derivación simplificada de las ecuaciones EM para
mixturas Gaussianas [Husmeier 00] y Modelos de Markov [Rabiner 89]. Beal [Beal
03] incluye comparaciones de la EM con la EM Bayesiana Variacional y derivaciones
de algunos modelos.
Estado de la Cuestión
41
Clustering QT: El clustering QT (Quality Threshold) [Heyer et al. 99] es un
método alternativo de particionado de datos, diseñado para clustering de genes.
Requiere más poder de computación que el k-medias, pero no requiere especificar el
número de clusters a priori, y siempre devuelve el mismo resultado, independiente del
número de veces que se ejecute.
En este algoritmo se utiliza el concepto de diámetro de un cluster. Este diámetro se
define como la mayor distancia que existe entre dos individuos del cluster. El
clustering QT construye un cluster comenzando pon un solo individuo. Inicialmente
el diámetro sería cero. A continuación se añadiría al cluster el individuo más cercano
al individuo inicialmente seleccionado, haciendo que el diámetro del cluster sea igual
a la distancia entre los dos individuos del mismo. El algoritmo continúa añadiendo
individuos al cluster de forma que el diámetro del mismo sea el menor posible. Se
dejarían de añadir individuos al cluster cuando el diámetro del mismo sea mayor que
un umbral establecido inicialmente. En ese momento el cluster se habría completado.
El cluster obtenido depende del individuo inicialmente seleccionado. Por ese motivo
el algoritmo crea varios clusters a partir de una lista de individuos l seleccionados
previamente por el usuario. El cluster que contenga el mayor número de individuos se
guarda, siendo parte de la clasificación final. El resto de clusters se descartan. Los
individuos del cluster seleccionado se eliminan de la lista l y el proceso se vuelve a
repetir creando un nuevo cluster para cada individuo de la lista reducida, guardando el
cluster más grande en cada iteración. Este proceso se repite hasta que el número de
individuos del cluster más grande sea más pequeño que el definido por el usuario.
Los métodos grafo-teóricos provienen del análisis de conceptos formales [Wolff 94,
Ganter et al. 98, Carpineto y Romano 04, Ganter et al. 05], una técnica para la
generación de clusters de individuos u objetos y atributos a partir de un grafo
bipartido que representa las relaciones entre los objetos y los atributos. En esta
técnica, un concepto está formado por la pareja de un objeto junto con sus atributos o
propiedades. La familia de estos conceptos obedece a axiomas matemáticos
definiendo un entramado llamado retículo, retículo conceptual o retículo de Galois5.
El objetivo es la búsqueda de clusters de las relaciones de los objetos con sus
atributos.
5 En ingles: lattice, concept lattice o Galois lattice
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
42
En la [Figura 2-9] se muestra un ejemplo donde se considera el conjunto de objetos O
= {1,2,3,4,5,6,7,8,9,10} y el conjunto de atributos como A = {compuesto (c), par (e),
impar (o), primo (p), cuadrado (s)}, el concepto más pequeño que incluye el número 3
es uno con los objetos {3,5,7} y los atributos {impar, primo}, y el concepto más
grande que contiene el atributo cuadrado es el objeto {1,4,9} con atributo {cuadrado}
indicando que el 1, 4 y 9 son todos números con atributo cuadrado.
{1,2,3,4,5,6,7,8,9,10}
Ø
{4,6,8,9,10}
{c}
{1,4,9}
{s}
{2,4,6,8,10}
{e}
{1,3,5,7,9}
{o}
{4,6,8,10}
{c,e}
{4,9}
{c,s}
{1,9}
{o,s}
{2}
{e,p}
{2,3,5,7}
{p}
{4}
{c,e,s}
{9}
{c,o,s}
Ø
{c,e,o,p,s}
{3,5,7}
{o,p}
Figura 2-9. Ejemplo de retículo conceptual
En [Jardine y Sibson 68, Cole y Wishart 70] se proponen otros métodos para la
generación de clusters solapados.
2.2.3.3. Clustering basado en densidad
Estos algoritmos se basan en el concepto de densidad de un punto o individuo, que
mide el número de puntos o individuos que son alcanzables desde él considerando un
determinado radio. El algoritmo más conocido de clustering basado en densidad es
DBSCAN (Density-Based Spatial Clustering of Applications with Noise) [Ester et al.
96]. Dicho algoritmo utiliza dos parámetros, que se denotan por:
Eps: radio máximo de la vecindad.
MinPts: número mínimo de puntos en un vecindario de ese punto,
considerando el radio Eps.
Estado de la Cuestión
43
Apoyándose en esos dos parámetros, los individuos o puntos con los que se desea
hacer clustering se dividen en tres tipos:
Puntos nucleares (core point): Son aquellos puntos que tienen más de MinPts
vecinos dentro de su vecindario de radio Eps.
Puntos fronterizos (border point): Son los puntos que tienen menos de MinPts
vecinos dentro de su vecindario de radio Eps, pero están en la vecindad de un
punto nuclear.
Puntos de ruido (noise point): Son aquellos puntos que no caen en ninguna de
las dos categorías anteriores.
En líneas generales, el algoritmo DBSCAN elimina los puntos de ruido y continúa el
proceso con el resto de puntos. En dicho proceso, el algoritmo conecta cada par de
puntos de núcleo cuya distancia es menor que Eps, seguidamente hace que cada grupo
de puntos de núcleo conectados apunten a un cluster separado y, por último, asigna
cada punto fronterizo a uno de sus clusters asociados.
Figura 2-10. Ejemplo de aplicación del algoritmo DBSCAN
En la [Figura 2-10] se muestra un ejemplo de aplicación del algoritmo DBSCAN en el
que se aprecia cómo es capaz de realizar clustering de puntos que presentan formas
arbitrarias. La parte izquierda de la figura representa los puntos originales y la parte
derecha la partición en clusters realizada por el algoritmo, representados en diferentes
colores.
DBSCAN ha sido utilizada como base de diferentes estudios dando lugar a diferentes
matices y generalizaciones del mismo. Así por ejemplo GDBSCAN (Generalized
Density-Based Spatial Clustering of Applications with Noise) [Sander et al. 98]
generaliza la noción de punto de densidad para que pueda ser aplicado a objetos de
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
44
tipo arbitrario como por ejemplo polígonos bidimensionales; OPTICS (Ordering
Points To Identiy the Clustering Structure) [Ankerst et al. 99] utiliza una estructura de
datos jerárquica dando como resultado un grafo donde se visualiza tanto los clusters
de diferentes densidades como la relación jerárquica existente entre ellos; ASPCAN
(Affinity Propagation SCAN) [Chen et al. 11] utiliza el algoritmo AP (Affinity
Propagation) [Frey y Dueck 07] para detectar densidades locales y generar una lista
de densidades normalizadas y las combina para utilizarlas en algoritmo que proponen
llamado DDBSCAN (Double-Density-Based SCAN).
Además de DBSCAN existe otro algoritmo de clustering basado en densidad de gran
importancia. Este algoritmo se denomina DENCLUE [Hinneburg y Keim 98] y, al
igual que DBSCAN, está basado en el concepto de vecindario. La novedad de este
algoritmo es que incluye la denominada función de influencia de un punto sobre los
demás puntos de su entorno.
2.2.3.4. Clustering basado en grid
En este último epígrafe dedicado a técnicas de clustering se incluye un conjunto de
técnicas que se basan en una división del espacio en un número finito de celdas que
constituyen una estructura en forma de rejilla en la que se llevan a cabo las
operaciones de clustering. Los individuos que se encuentran en cada celda son
representados por un conjunto de atributos estadísticos de dicha celda. El
agrupamiento se lleva a cabo utilizando la información estadística de cada celda, en
vez de usar todo el conjunto de datos. Dado que el tamaño de la rejilla es mucho
menor que el número de individuos, la velocidad de procesamiento se ve
incrementada. Sin embargo, para distribuciones de datos muy concentrados o
irregulares, se necesita una rejilla con una granularidad muy alta para obtener un
resultado óptimo, es decir, para descubrir grupos muy próximos, por lo que su ventaja
en rapidez se ve atenuada. La principal ventaja de estos métodos es su rapidez debido
a que su tiempo de procesamiento depende del tamaño de la rejilla y no del número de
individuos. Ejemplos de este tipo de algoritmos son STING (STatistical INformation
Grid-based) [Wang et al. 97], WaveCluster [Sheikholeslami et al. 98] y CLIQUE
(CLustering In QUEst) [Agrawal et al. 98].
Estado de la Cuestión
45
2.3. Computación evolutiva
En este apartado se describen las técnicas incluidas en el campo de la Computación
Evolutiva (CE). Todas las técnicas de la CE se basan en el modelo de la evolución natural,
por lo que todas comparten un conjunto de características comunes. A continuación se
reseñan las más importantes:
Se utiliza una estrategia de aprendizaje colaborativo a partir de un conjunto de
individuos. Cada individuo representa o codifica un punto del espacio de búsqueda
de soluciones en un problema dado. Cada individuo incorpora información
adicional que permite llegar a la solución final del problema.
A partir de un conjunto inicial de individuos se generan sucesivas generaciones;
estas descendencias, obtenidas a partir de los individuos de la población, se generan
de forma pseudo-aleatoria mediante procesos de cruce y recombinación donde se
intercambia información entre dos o más individuos actualmente existentes. La
mutación es un proceso de auto-replicación errónea de los individuos que produce
pequeños cambios en los mismos.
Mediante la evaluación de los individuos, se consigue una medida de la adaptación
(fitness) de cada uno de ellos a su entorno. De acuerdo con esta medida de
adaptación, el proceso de selección favorece más a los individuos mejor adaptados,
que serán por tanto los que se reproduzcan más frecuentemente.
Este apartado está organizado como sigue: primero se incluye una introducción sobre los
orígenes de la CE para luego pasar a describir por separado los algoritmos genéticos, la
programación genética y la programación genética guiada por gramáticas.
2.3.1. Reseña histórica
Desde mediados de los años cincuenta existen evidencias del uso de ordenadores para,
entre otras tareas, avanzar en la comprensión del proceso de la evolución natural [Von
Neumman 56]. Uno de los primeros trabajos que utiliza un proceso evolutivo para la
resolución de problemas en computadores es el de Friedberg [Friedberg 58, Friedberg et
al. 59]. Estos artículos representan los primeros resultados en aprendizaje automático
describiendo la utilización de un algoritmo evolutivo. El objetivo era encontrar un
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
46
programa que calculara una función de entrada-salida. También el artículo de Fraser
[Fraser 57] sirvió de influencia en los primeros trabajos en esta área.
En esta misma época se presentaron los primeros intentos de aplicar evolución simulada
a problemas de optimización numérica [Bremermann 62]. Posteriormente, también
comenzó el desarrollo de la teoría de los algoritmos evolutivos, demostrando que la
relación óptima de mutación para problemas linealmente separables debería tener el
valor 1/m, donde m representa el número de bits que codifica cada individuo
[Bremermann 65].
Durante este periodo se desarrollaron las ideas de la operación evolutiva (EVolutionary
OPeration - EVOP) que utilizaba una técnica evolutiva para el diseño y el análisis de
experimentos industriales [Box 57, Box y Draper 69]. Estas ideas no fueron nunca
implementadas en un computador, aunque fueron usadas para el desarrollo del método
denominado diseño simplex [Spendley et al. 62].
Como suele suceder con el comienzo de cualquier campo nuevo de estudio, estos inicios
se veían con un alto grado de escepticismo. Sin embargo, a mediados de los años sesenta
ya estaban establecidas las bases de lo que hoy son las tres ramas principales de la
computación evolutiva. Así los trabajos de Fogel [Fogel et al. 66] en San Diego,
California, se desarrollaron en el campo de la Programación Genética (PG). Por otra
parte, se desarrollan los algoritmos genéticos por Holland [Holland 69] en la
Universidad de Michigan, y las estrategias evolutivas (EE) en la Universidad de Berlín
[Rechenberg 65].
Durante los siguientes veinticinco años, cada una de estas ramas se desarrolló de una
forma bastante independiente, pero con rutas paralelas. Fue en el año 1991 cuando se
hizo un esfuerzo por acercar a los distintos investigadores que trabajaban en CE. Para
ello tuvo lugar la celebración del Workshop on Paralell Problem Solving from Nature en
Dortmund, donde realmente se acuñó el nombre de Computación Evolutiva [Schwefel y
Männer 91] para englobar las tres técnicas empleadas para simular los distintos aspectos
de la evolución: los algoritmos genéticos, las estrategias evolutivas y la programación
genética. Todas ellas tienen en común que utilizan la reproducción, el azar, la
competición y la selección de los individuos de la población. Así, en cualquiera de estas
técnicas evolutivas están presentes las ideas de la esencia de la evolución,
Estado de la Cuestión
47
presuponiendo que, tanto en la naturaleza como en la informática, la evolución es la
mejor herramienta de optimización [Atmar 76].
Desde un primer momento, las ideas de la CE se orientan hacia cuatro objetivos:
Optimización. La evolución en sí es un proceso de optimización [Mayr 88] en el
que se busca adaptar, lo mejor posible, los individuos al entorno en el que
habitan. Darwin [Darwin 59] estudió, sorprendido, la extrema perfección que
ciertos órganos habían alcanzado mediante la evolución, como por ejemplo, los
ojos. Sin embargo, optimización no significa perfección. La evolución descubre
soluciones funcionales altamente precisas para problemas concretos que se dan
en el medio ambiente de un determinado individuo. Debido a esto, ya desde un
primer momento se pensó en su utilización para resolver problemas de
optimización en ingeniería. Las técnicas clásicas utilizadas en esta área, como el
descenso del gradiente, el high climbing, o las puramente aleatorias, habían sido
claramente inadecuadas al enfrentarse a problemas de optimización no lineales,
especialmente aquellos que contenían una componente estocástica, temporal o de
caos. Todas estas ideas fueron claves para el desarrollo de las EE [Rechenberg
94, Schwefel 95].
Sistemas robustos. Los problemas del mundo real casi nunca son estáticos y los
problemas de optimización temporal son cada vez más comunes. Estas
circunstancias requieren un cambio en la estrategia que se aplica para resolver el
problema. En estos casos, la realimentación sobre el éxito o el fracaso de la
estrategia actual es fundamental. Holland [Holland 75], utilizando algoritmos
genéticos, describe un procedimiento que puede hacer evolucionar estrategias,
como cadenas codificadas de números o como bases de reglas llamadas sistemas
clasificadores. El resultado es un procedimiento robusto que tiene la capacidad
de ajustar el rendimiento basándose en la realimentación de la salida del sistema.
Inteligencia artificial. Como se puede comprobar, la evolución ha creado
especies con una inteligencia cada vez más desarrollada. Por tanto, la forma de
conseguir inteligencia artificial, además de las alternativas clásicas que persiguen
la emulación de la inteligencia humana, ya sea mediante la emulación de las
estructuras biológicas del sistema nervioso o mediante la emulación del
comportamiento, tiene una nueva posibilidad: simular la evolución para construir
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
48
algoritmos predictivos. Esta es la base de las investigaciones en CE [Fogel 62,
Fogel et al. 66].
Vida artificial. En el campo de la biología, más que utilizar la evolución como
una herramienta, se intenta capturar la esencia de la propia evolución en una
simulación por computador y usar entonces esta simulación para conseguir una
nueva información sobre la física de los procesos de la evolución natural [Ray
91]. El éxito en este campo abre la posibilidad de estudiar sistemas biológicos
alternativos de cómo puede ser la vida en otros lugares y averiguar qué
características pueden tener en común con la de La Tierra [Langton 87]. Aunque
cada modelo es incompleto y las características que tiene la vida en otros lugares
del universo es pura especulación, las simulaciones de vida por ordenador,
denominadas genéricamente vida artificial, ya han conseguido generar algunos
patrones que se corresponden con fenómenos que normalmente ocurren en la
vida en La Tierra.
Una vez vistas las distintas ramas de aplicación de la CE, la cuestión que se plantea
ahora es por qué simular los procesos de la evolución. Una respuesta podría ser que en
estos momentos no se dispone de mejores alternativas. Normalmente, no se pueden
utilizar eficientemente las técnicas clásicas de optimización para encontrar un máximo
global en una función si está rodeado de máximos locales. Las técnicas desarrolladas
hasta ahora para emular la inteligencia humana no son suficientemente adaptables a los
dominios cambiantes, ya que no son suficientemente capaces de predecir ni de anticipar
sus acciones. Tampoco se puede visitar un nuevo mundo, enviarle los compuestos
químicos primigenios que dan lugar a la vida y esperar millones de años para ver qué
tipo de vida se desarrolla allí. En contraste, los métodos de computación evolutiva
ofrecen posibles soluciones a estos problemas basándose en la utilización dirigida del
azar y la incertidumbre.
De acuerdo con el teorema de No-Free-Lunch (NFL) [Wolpert y Macready 96], no
puede existir ningún algoritmo que resuelva todos los problemas (por ejemplo de
optimización) que sea, en general, superior a cualquier otro. Por tanto, en principio, la
cuestión de si los algoritmos evolutivos son superiores o inferiores a cualquier otra
aproximación no tiene sentido. Sin embargo, es posible afirmar que los algoritmos
Estado de la Cuestión
49
evolutivos se comportan mejor que otros métodos con respecto a problemas específicos
y, como consecuencia, se comportarán peor con respecto a otras clases de problemas.
El teorema NFL puede corroborar que, en el caso de los algoritmos evolutivos frente a
otros métodos clásicos de optimización, son más eficientes resolviendo problemas
discontinuos, no diferenciables, multimodales, con ruido y cualquier tipo de superficies
de búsqueda no convencionales. Por el contrario, su efectividad disminuye al afrontar
problemas más simples para los que se han desarrollado algoritmos específicos para su
resolución.
Por tanto, en principio, y mientras no se desarrolle un método específico de resolución
del problema que tenga en cuenta ciertas propiedades del mismo que lo haga más
eficiente, parecen claras las ventajas de la utilización de algoritmos no especializados y
robustos como los algoritmos evolutivos.
2.3.2. Algoritmos genéticos
Los Algoritmos Genéticos (AAGG) son un tipo de algoritmos evolutivos [Raidl 05]
usados para resolver problemas de búsqueda y optimización [Schwefel y Männer 91]. Se
basan en la imitación del proceso evolutivo que se produce en la naturaleza para resolver
problemas de adaptación al medio.
Los AAGG simulan, mediante generaciones de poblaciones de individuos, la evolución
sufrida a través de diferentes operadores. Los individuos que forman una población se
representan mediante un conjunto de parámetros denominados genes. A cada uno de los
posibles valores que puede tomar un determinado gen, se le denomina alelo. El número
de alelos posibles de un gen coincide con el cardinal del alfabeto utilizado: m. Si la
codificación es binaria entonces existen dos posibles alelos por cada gen que son el valor
cero y el valor uno. Por último, los genes a su vez se agrupan para formar cromosomas.
En la literatura existente, se suele identificar individuo con cromosoma aunque, en
general, en la naturaleza, un individuo consta de varios cromosomas.
En la naturaleza, los individuos compiten entre ellos por diferentes recursos necesarios
para la supervivencia como el agua y la comida, y los miembros de una misma especie
también compiten por aparearse. De todos ellos, los que tienen más éxito en sobrevivir y
aparearse conseguirán un mayor número de descendientes. Esto significa que en cada
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
50
generación los genes de los individuos de mayor adaptación al medio serán heredados
por un número mayor de individuos. La combinación de buenas características de
diferentes antepasados puede generar una descendencia altamente adaptada al medio. De
la misma forma, es posible también que la combinación de genes de individuos bien
adaptados genere otro con peores características, con lo que estos individuos tenderán a
desaparecer. Es posible, además, que se produzcan cambios en el propio medio de vida,
por lo que las especies evolucionarán hacia las nuevas condiciones de vida.
Generar Población Inicial
Evaluar Individuos
Aplicar Operadores Genéticos (Selección, Cruce y/o Mutación)
Generar Nueva Población
Población Final (Solución)
Figura 2-11. Esquema general de funcionamiento de los algoritmos genéticos
Los AAGG comienzan con una muestra elegida de manera aleatoria en el espacio de
soluciones, para ir transformándola paso a paso hasta llegar a un estado estacionario, en
el cual la muestra, también llamada población, está constituida por las soluciones del
problema. Esta acción tiene como consecuencia la progresiva transformación del
conjunto de elementos evaluados, hasta llegar al estado final. Para ello, los algoritmos
genéticos se valen de la acción de los llamados operadores genéticos, tales como
selección, cruce y mutación, a la que es sometida la población. Cada operador juega un
papel diferente en la evaluación de la población. Así, la selección puede ser entendida
como una competición, mientras que los otros operadores, el cruce y la mutación, son
capaces de crear nuevos individuos a partir de los existentes en la población. La [Figura
2-11] muestra el funcionamiento genérico de los AAGG.
El operador de selección elige entre los individuos de la población existente aquellos
individuos que con mayor probabilidad se encuentren más próximos al óptimo buscado.
La introducción del operador de cruce permite renovar la población. El cruce actúa
según cierta probabilidad, obteniendo nuevos individuos, denominados descendencia,
con ciertas características heredadas de aquellos de los cuales se partió.
Estado de la Cuestión
51
Con el fin de obtener mejores resultados, se completa el algoritmo con el operador de
mutación. Dicho operador modifica de forma aleatoria alguno de los valores de los
individuos. Esto produce un enriquecimiento de los individuos de la población, lo que se
traduce en la búsqueda de nuevas regiones del espacio de soluciones, que de otro modo
serían inaccesibles. Sin este operador, existe el peligro de que el algoritmo converja
hacia soluciones subóptimas [Schaffer et al. 89].
Dado un individuo, la función de evaluación devuelve un valor de ajuste o de
adaptación, que es proporcional a la habilidad de dicho individuo. La función de
evaluación, también denominada función objetivo, tiene que ser diseñada para cada
problema que se quiere resolver [Dorado de la Calle 99]. Una característica que se
considera interesante a la hora de construir funciones objetivo es que se cumpla que dos
individuos que se encuentran cercanos en el espacio de búsqueda, tengan sus respectivos
valores de la función objetivo parecidos. También es deseable que la función objetivo no
presente gran cantidad de óptimos locales.
En algunas ocasiones, buena parte de los puntos del espacio de búsqueda representan
individuos no válidos, para los cuales no hay un valor definido de adaptación. Este
hecho supone dificultades a la hora de emplear los algoritmos genéticos, por lo que se
han propuesto varias soluciones [Larrañaga 96]. La primera solución es la absolutista,
donde aquellos individuos que no verifican las condiciones necesarias para ser válidos,
no son considerados como tales, y se siguen efectuando cruces y mutaciones sobre ellos
hasta conseguir que se les pueda asignar un valor para la función objetivo. Una posible
variante consiste en dar un valor fijo a los individuos no válidos que represente poca
adaptación, con el fin de que no sean elegidos para reproducción, cruce o mutación, y
desaparezcan en la siguiente generación. Asimismo, existe la posibilidad de reconstruir
aquellos individuos que no verifican las restricciones mediante la aplicación de un
operador denominado operador reparador.
Otra solución es establecer un criterio de penalizaciones en la función objetivo. La idea
consiste en dividir la función objetivo por una cantidad (la penalización) que guarda
relación con aquellas características del individuo que le hacen ser no válido. Dicha
cantidad puede tener en cuenta el número de características violadas, o bien el
denominado costo esperado de reconstrucción, es decir, un coste asociado a la
conversión de dicho individuo en otro que sea válido.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
52
A la hora de optimizar una función mediante algoritmos genéticos, ésta puede ser
utilizada directamente como función de evaluación, aunque en ciertos casos es posible
obtener mejores resultados cuando se emplea una transformación o una aproximación de
la misma. Una vez conocido y planteado el problema de optimización con algoritmos
genéticos, la pregunta inmediata es hasta qué punto puede esperarse la obtención de la
solución buscada. La respuesta a esta pregunta es un claro indicador de la bondad del
método. En aquellos casos en los que se pueda esperar convergencia del algoritmo hacia
el óptimo u óptimos de la función objetivo, se puede comenzar a plantear otras
cuestiones, tales como la velocidad de convergencia, o el error cometido por el método.
Si el algoritmo genético ha sido planteado correctamente, la población evolucionará a
través de las generaciones de tal forma que la adaptación del mejor y la media de todos
los individuos en cada generación se incrementarán hacia el óptimo global. Este proceso
de incremento uniforme del valor de adaptación es lo que se denomina convergencia. Se
dice que un AG converge cuando la población está formada por individuos muy
cercanos a un punto. Para el estudio de la evolución de la población se ha utilizado la
teoría de patrones [Holland 81], en los casos en los que los individuos se codifican
mediante un alfabeto finito. Dicha teoría proporciona algunas bases teóricas para el
conocimiento de la evolución de la población cuando se aplica un AG. También se han
realizado estudios de convergencia mediante series de Walsh [Barrios et al. 94] que
permitan decidir si se puede producir la convergencia hacia el óptimo en un problema
dado según su función objetivo y las condiciones necesarias que permiten dicha
convergencia en el menor tiempo posible. Cuando se trabaja con algoritmos genéticos
con individuos codificados con números reales o, en general, cuando el cardinal del
alfabeto utilizado es muy grande, el problema de la convergencia se ha abordado
también mediante la teoría de patrones, esta vez definidos mediante intervalos de
números reales [Eshelman y Schaffer 93].
Se dice que un gen converge cuando el 95% de la población comparte el mismo valor
para ese determinado gen [De Jong 75], o bien que todos los valores que toma ese gen
en todos los individuos de la población sufren variaciones de no más del 5% para el caso
de alfabetos finitos. Asimismo, se dice que la población converge cuando todos los
genes han convergido.
Estado de la Cuestión
53
Hay que tener en cuenta que tanto la convergencia de los AAGG, como su velocidad de
convergencia y error cometido dependen en gran medida de ciertos parámetros como el
tamaño de la población, la aplicación de los operadores o la elección de los diferentes
operadores.
2.3.3. Programación genética
La Programación Genética (PG) es una extensión de los Algoritmos Genéticos (AAGG)
en la que la población genética está formada por programas de computación. Estos dos
enfoques se distinguen en la preparación preliminar para aplicar el modelo, es decir, en
la codificación del problema. En los AAGG se establece a priori un esquema adecuado
para la representación de los individuos del problema en cuestión (generalmente una
cadena de caracteres de longitud fija), y se opera sobre esa estructura predefinida para
llegar a una solución aceptable. Sin embargo, en la PG, se escogen los elementos que
conforman los individuos, esto es, las acciones de los programas (funciones), y los datos
sobre los que actúan los programas (terminales), y se opera con esas funciones y
terminales para encontrar una estructura que represente una solución adecuada al
problema.
La PG busca construir programas de computador sin que ellos sean diseñados y
programados expresamente por un humano. Puede decirse que es una técnica de
optimización cuyo espacio de búsqueda son los posibles programas de computador que
solucionan un problema determinado. Debe aclararse que la creación de esos programas
es completamente aleatoria, es decir, el computador no ha sido explícitamente
programado para encontrar una solución predeterminada sino que se llega a la solución
partiendo de un estado inicial y aplicando mecanismos de selección a las estructuras
intermedias que se van encontrando [Koza 92].
El conjunto de las posibles estructuras es el conjunto de todas las posibles
combinaciones de funciones que pueden ser compuestas recursivamente a partir de un
alfabeto, de cardinal finito m, formado por un conjunto de Nf funciones (F={f1, f2, …,
fNf }) y un conjunto de Nt terminales (T={a1, a2 , …, aNt}). Cada función fi del conjunto F
trabaja con un número específico z(fi) de argumentos.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
54
Las funciones pueden ser:
Operadores aritméticos (+, -, *, …)
Funciones matemáticas (sin, cos, exp, log, …)
Operadores booleanos (AND, OR, NOT, …)
Operadores condicionales (if-then-else)
Funciones de iteración (Do-until)
Funciones recursivas
Funciones específicas del dominio que deben ser definidas
Los terminales pueden ser variables (pudiendo representar entradas, sensores, detectores
o estados de un sistema) o constantes [Koza 92].
Una vez generada aleatoriamente la población de individuos inicial, el funcionamiento
de la PG es sumamente similar al de los AAGG, aplicando los operadores genéticos a
los individuos, representados por árboles, hasta llegar a la solución deseada para el
problema en cuestión. Entre los operadores más utilizados en la PG se encuentran los
siguientes:
Operadores de selección: se utilizan para elegir en cada generación quiénes serán los
individuos sobre los que actuará el algoritmo.
Método del torneo [Brindle 91]: este método consiste en dividir una población de
N individuos en conjuntos de K individuos, con el objetivo de dirimir N/K
torneos, y así cada uno de los ganadores (es decir, aquel individuo mejor
adaptado) de cada torneo es seleccionado para la reproducción. Típicamente,
suele tomarse K=2 (torneo binario), realizándose N/2 torneos (y por tanto N/4
cruces).
Método de la ruleta [Baker 87] (o muestreo universal estocástico): este método
emplea un círculo (la ruleta) divido en sectores circulares que son proporcionales
a la función objetivo. De esta forma, los sectores correspondientes a individuos
mejor adaptados ocupan un área mayor dentro de la ruleta obteniendo más
posibilidades de ser elegidos, mientras que los peor adaptados se corresponden
con sectores circulares con una superficie muy pequeña y, por tanto, con
menores opciones de cara a ser elegidos para la reproducción.
Estado de la Cuestión
55
Método de truncamiento [Crow y Kimura 70]: mediante este método los
individuos que conforman la población se ordenan de acuerdo a su grado de
adaptación y sólo se seleccionan para la reproducción a aquellos que se
encuentren mejor adaptados. El parámetro que recibe el algoritmo es
precisamente el umbral de truncamiento (truncation threshold), el cual indica el
porcentaje de la población que es seleccionada como padre, y suele tomar
valores entre el 10 y el 50%. Los individuos cuyo grado de adaptación queda por
debajo del umbral de truncamiento no son seleccionados a la hora de producir
descendencia.
Método generacional [De Jong 75]: en este método el porcentaje de individuos
que son seleccionados para cada generación es del 100%, es decir, para una
población de N individuos, se escogen todos ellos a la hora de introducir
individuos en el lugar de apareamiento, cruzándose entre ellos por parejas. De
esta forma, todos los individuos que conforman la población tienen oportunidad
de transmitir su carga genética a los futuros descendientes, si bien es cierto que
esto supone en la mayoría de las ocasiones que los individuos obtenidos a partir
de padres pobremente adaptados, también presenten un bajo grado de adaptación.
Operadores de cruce: Determinan cómo se obtienen nuevos individuos a partir de sus
individuos progenitores.
Koza [Koza 92]: elige aleatoriamente un nodo de cruce para el primer padre.
Posteriormente, escoge también aleatoriamente un nodo de cruce para el segundo
padre. Una vez que los nodos de cruce han sido definidos, el algoritmo
intercambia los subárboles cuya raíz coincide con el nodo de cruce escogido. El
inconveniente de este operador es que provoca un aumento de la complejidad y
del tamaño de los individuos, dado que el espacio de búsqueda del problema es
potencialmente ilimitado y los individuos pueden crecer en tamaño durante el
proceso de evolución. Este crecimiento excesivo del tamaño de los individuos
(denominado en inglés, bloat ó code bloat), conlleva un coste computacional
muy elevado, degradando la velocidad de convergencia del sistema.
SCPC (Strong Context Preservative Crossover) [D´haeseleer 94]: surge con la
idea de preservar el contexto en el cual los subárboles aparecen en los árboles
padre. Para lograr este objetivo, se define un esquema de coordenadas para
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
56
referirse a cada uno de los nodos que conforman el árbol. La posición de cada
nodo dentro del árbol se especifica unívocamente mediante el camino que se
debe recorrer para alcanzar el nodo elegido desde la raíz del árbol. Por tanto, la
posición de un nodo se describe mediante una n-tupla de coordenadas T = (b1,
b2,…, bn) donde n es la profundidad del nodo en el árbol, y bi indica qué rama se
elige en la profundidad i (contando de izquierda a derecha). SCPC elige
aleatoriamente un nodo de cruce en el primer árbol, obteniendo su coordenada.
Si ésta no existe en el segundo padre, entonces se vuelve a elegir aleatoriamente
otro nodo de cruce en el primer árbol. Si la coordenada también existe en el
segundo padre, entonces se efectúa el cruce entre los subárboles que cuelgan a
partir del nodo de cruce elegido en cada padre.
Justo (Fair) [Crawford-Marks y Spector 02]: Crawford y Spector desarrollan el
operador Justo como una versión modificada del operador propuesto por
Langdon [Langdon 99]. El operador de Langdon selecciona aleatoriamente el
nodo de cruce del primer padre. Posteriormente se calcula el tamaño L del
subárbol cuya raíz es el nodo de cruce previamente elegido, así como el tamaño
de todos los subárboles del segundo padre. De éstos se excluyen aquellos cuyo
tamaño sea superior a 1+2*L. Para los subárboles cuyo tamaño no sea superior a
1+2*L, se calculan cuántos tienen un tamaño inferior, igual y superior a L.
También se calcula la diferencia entre el subárbol de mayor tamaño y el de
menor tamaño. Por último, se utiliza la técnica de la ruleta para elegir el tamaño
del subárbol a cruzar y tras ello, se elige el nodo de cruce para el segundo padre.
Para limitar el crecimiento desmesurado, el operador de Crawford y Spector
introduce un control en la profundidad de los árboles. Para ello obra del siguiente
modo: en primer lugar se escoge aleatoriamente un nodo de cruce en el primer
padre y se calcula la longitud del subárbol, l, que parte de este nodo de cruce
hasta las hojas; posteriormente se selecciona un nodo aleatoriamente en el
segundo padre y se mide la longitud para este segundo subárbol, l2. Si l2 está en
el rango [l – l/4, l + l/4], entonces el nodo de cruce para el segundo padre es
aceptado y se procede a realizar el intercambio entre ambos subárboles. Si l2, por
el contrario, queda fuera de dicho rango, entonces se elige aleatoriamente otro
nodo de cruce para el segundo padre y se realiza de nuevo la comprobación. Si
tras n intentos, no se encuentra un subárbol en el segundo padre que satisfaga tal
Estado de la Cuestión
57
condición, entonces se elige como nodo de cruce en el segundo padre, aquel
subárbol cuya longitud sea la más cercana al rango [l – l/4, l + l/4].
Operador de mutación: El operador de mutación, actúa sobre un determinado
individuo con una probabilidad pm. Cuando un individuo resulta afectado por el
operador, se selecciona aleatoriamente un lugar de mutación. Para ello, todos los lugares
son equiprobables. El subárbol cuya raíz es el nodo elegido para la mutación es
reemplazado por un subárbol cuyo símbolo del nodo raíz coincide con el símbolo del
nodo elegido para realizar la mutación. La elección de un valor adecuado de
probabilidad de mutación es crucial. Si la probabilidad de mutación es muy elevada, el
algoritmo se convierte en una búsqueda aleatoria; mientras que si se elige una
probabilidad de mutación muy pequeña, entonces la pérdida de diversidad genética
producida cuando los individuos de la población están convergiendo, puede llevar al
algoritmo a un subóptimo. En la mayoría de las implementaciones se asume que la
probabilidad de mutación permanece constante; algunos estudios realizados revelan que
se obtienen mejores resultados modificando esta probabilidad a lo largo del proceso de
convergencia del algoritmo [Bramlette 91, Michaelewicz y Janikow 91], lo cual ha sido
corroborado en algunos estudios realizados [Rocha y Neves 99], donde, a intervalos
regulares de tiempo, se obtiene la diversidad genética existente en la población a través
del cálculo de la desviación típica. Si el valor obtenido es menor que un cierto límite
predefinido, lo cual significa que la población está convergiendo, entonces se
incrementa la probabilidad de mutación. Si, por el contrario, el valor calculado de la
desviación típica como medida de la diversidad genética de la población es mayor que
este límite, entonces se reduce la probabilidad de mutación.
Una vez obtenidos los individuos descendientes de una determinada población tras la
aplicación de los diferentes operadores, es necesario formar una nueva población (la
nueva generación) de individuos a partir de los individuos de la población de partida
y los nuevos individuos obtenidos. El concepto de reemplazo suele ir ligado con el de
tasa de reemplazamiento generacional ttg, que es el porcentaje de hijos generados con
respecto al tamaño de la población inicial.
Inicialmente, el proceso de reemplazamiento se efectuaba de uno en uno, ttg =1/ λ , por
lo que se generaba un único individuo descendiente que sustituía a otro de la población
inicial [Holland 75].
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
58
De Jong aplicó el concepto de tasa de reemplazamiento generacional con el objetivo de
efectuar un solapamiento controlado entre padres e hijos [De Jong 75]. En este trabajo,
una proporción ttg de la población es seleccionada para ser cruzada. Los hijos resultantes
reemplazarán a los miembros de la población anterior que peor adaptados se encuentren.
Este tipo de algoritmos, donde únicamente se sustituyen unos pocos individuos, se
conocen bajo el nombre de SSGA (Steady-State Replacement Genetic Algorithms).
Es posible también realizar el reemplazamiento de individuos en bloque, es decir ttg=1
[Grefenstette 86]. Según este estudio, habiendo obtenido individuos por aplicación de
los operadores genéticos sobre una población inicial también de individuos, se aplica
lo que se denomina un proceso de reducción simple, consistente en un reemplazo
generacional completo donde los nuevos individuos sustituyen a todos los de la
población inicial.
Otros operadores relacionados con el reemplazo de individuos son los denominados
catastróficos [Kureichick et al. 96]. Dichos operadores realizan regularmente una
evaluación del grado de convergencia del algoritmo. Cuando la población converge
hacia un determinado óptimo se aplican estos operadores, ya que este óptimo podría ser
local y por tanto, no sería la solución del problema. Estos operadores reemplazan una
serie de individuos de la población actual por otros generados aleatoriamente, pero sin
destruir a los mejores. Los mejores individuos podrían hallarse cerca del óptimo
buscado. Los individuos generados aleatoriamente permiten explorar nuevas regiones
del espacio de búsqueda en las que es posible que existan puntos mejores a los hallados
hasta el momento.
Los principales operadores catastróficos son:
Operador de empaquetado: Todos los individuos con el mismo valor en la
función objetivo son eliminados y reemplazados por uno de ellos. El resto se
genera aleatoriamente. Este operador impide la repetición de individuos,
favoreciendo la diversidad de la población.
Operador día del juicio final: Se destruyen todos los individuos excepto el más
adaptado, por tanto el que mayor valor obtiene en la función objetivo. El resto de
la población se vuelve a generar aleatoriamente.
Estado de la Cuestión
59
2.3.4. Programación genética guiada por gramáticas
La Programación Genética Guiada por Gramáticas (PGGG) surge como una extensión a
los sistemas tradicionales de PG [Whigham 95]. La diferencia estriba en que se utilizan
gramáticas libres de contexto (Context Free Grammars ó CFG) para establecer la
definición formal de las restricciones sintácticas del problema. El hecho de utilizar este
tipo de formalismos sintácticos ayuda a resolver el denominado problema del cierre
(closure) [Koza 92], que hace referencia a que el cruce de dos individuos válidos genere
también descendientes válidos, puesto que la generación de individuos inválidos
entorpece mucho la velocidad de convergencia del sistema. La PGGG ha demostrado ser
una aproximación con un gran rendimiento en problemas con dominios estructurados
[Whigham 95, Whigham 96] y es considerada como una de las áreas más prometedoras
dentro de la investigación de la PG.
Gejemplo = (∑N, ∑T, E, P)
∑N = E, A, D, prS prB, prP, prH, psS, psB, psP, psH, C, S, B, P, H
∑T = c-agu, c–mes, c-irr, s-agu, s-sua, b-agu, b–sua, p–gra, p–peq, h–gra, h–peq
P = E A C D
A prS S psS prS S S psS S
D prB B psB prB B B psB B
prS prB B prP P prH H B | P H
prB prS S prP P prH H S P H
prP prS S prB B prH H S B H
prH prS S prB B prP P S B P
psS B psB P psP H psH B P H
psB S psS P psP H psH S P H
psP S psS B psB H psH S B H
psH S psS B psB P psP S B P
C c–agu c–mes c–irr
S s–agu s–sua
B b–agu b–sua
P p–gra p–peq
H h–gra h–peq
Tabla 2-1. Definición de la gramática Gejemplo
En esencia, la PGGG utiliza los mismos componentes y operadores genéticos que la PG
tradicional. Sin embargo existen diferencias significativas entre ambos sistemas. La
primera diferencia fundamental aparece a la hora de generar aleatoriamente la población
inicial: los individuos que conforman la población deben ser palabras aceptadas por el
lenguaje definido por la gramática libre de contexto en cuestión. Los métodos utilizados
para inicializar la población en los sistemas de PG no son válidos para la PGGG dado
que los individuos se generan aleatoriamente a partir del conjunto de funciones y de
terminales, lo que conlleva la generación de individuos no válidos que impiden la
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
60
convergencia hacia la solución. Otra diferencia fundamental aparece a la hora de diseñar
el operador de cruce, puesto que los operadores tradicionales de cruce para PG no
aseguran la generación de descendencia válida de acuerdo a la gramática.
A continuación se explica por qué los operadores de cruce para PG, descritos en el
apartado 2.3.3, no aseguran una generación de individuos válida. Para ello se utilizará la
gramática de ejemplo de la [Tabla 2-1].
El operador de Koza elige aleatoriamente los nodos de cruce de los dos padres
por lo que, a menos que dé la casualidad de que ambos nodos de cruce están
etiquetados con el mismo símbolo de la gramática, el individuo que se obtenga
no será válido. Como ejemplo, con la gramática que se muestra en la [Tabla 2-1]
se podrían obtener dos árboles sintácticos [Figura 2-12 (a)] cuyo cruce podría dar
como resultado dos árboles [Figura 2-12 (b)] que no serían válidos según la
gramática.
(a) E
A C D
S psS prB
(a)
B
prH H
B
b-sua
h-peq
b-agu
c-agu
s-agu P
p-gra
psP
S
s-agu
E
A C D
S
s-agu
c-irr B psB
H psH b-sua
h-gra B
b-sua
Subárb
ol del padre
1
Nodo de cruce
del padre 1
Subárboles a intercambiar
Su
bá
rbo
l
de
l pa
dre
2
Nodo de cruce
del padre 2
(b) E
A C D
S psS prB
(b)
prH H
B h-peq
b-agu
c-agu
s-agu P
p-gra
psP
S
s-agu
E
C D
c-irr B psB
H psH b-sua
h-gra B
b-sua
B
b-sua A
S
s-agu
Reglas que no pertenecen a la gramática
Figura 2-12. (a) Dos árboles sintácticos generados por la gramática Gejemplo. (b) Los árboles
sintácticos resultantes de aplicar el operador de Koza, que no se pueden obtener con la gramática
Gejemplo.
Estado de la Cuestión
61
El operador SCPC (Strong Context Preservative Crossover) exige que ambos
nodos de cruce tengan las mismas coordenadas (o sea, que ocupen la misma
posición en el árbol) pero sin embargo, no exige que ambos nodos estén
etiquetados con el mismo símbolo gramatical, con lo cual es fácil que produzca
individuos no válidos, es decir, que no pertenezcan al lenguaje generado por la
gramática. En la [Figura 2-13] se muestra un ejemplo de aplicación del operador
SCPC utilizando la gramática definida en la [Tabla 2-1].
(a) E
A C D
S psS prB
(a)
B
prH H
B
b-sua
h-peq
b-agu
c-agu
s-agu P
p-gra
psP
S
s-agu
E
A C D
S
s-agu
c-irr B psB
H psHb-sua
h-gra B
b-sua
Subárb
ol d
el p
adre
1
Nodo de cruce
del padre 1
(3,2)
Subárboles a intercambiar
Subárb
ol
del p
adre
2
Nodo de cruce
del padre 2
(3,2)
(b) E
A C D
S psS prB
(b)
prH H
B h-peq
b-agu
c-agu
s-agu P
p-gra
psP
S
s-agu
E
A C D
S
s-agu
c-irr B
b-sua
psB
H psH
h-gra B
b-sua
B
b-sua
Reglas que no pertenecen a la gramática
Figura 2-13. (a) Dos árboles sintácticos generados por la gramática Gejemplo. (b) Los árboles
sintácticos resultantes de aplicar el operador SCPC, que no pueden ser generados por la
gramática Gejemplo.
El operador Justo (Fair) presenta el mismo inconveniente a la hora de aplicarlo
en sistemas de PGGG, ya que no se asegura que la descendencia obtenida sea
sintácticamente válida. La Figura 2-14 constituye un ejemplo en el que los
descendientes obtenidos son inválidos a pesar de sustituir subárboles de la misma
longitud.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
62
(a) E
A C D
S psS prB B
prH H
B
b-sua
h-peq
b-agu
c-agu
s-agu P
p-gra
psP
S
s-agu
E
A C D
S
s-agu
c-irr B psB
H psHb-sua
h-gra B
b-sua
Subárbol
del padre 1
Nodo de cruce
del padre 1
Subárboles a intercambiar
Subárbol
del padre 2
Nodo de cruce
del padre 2
prB
H
h-peq
(b) E
A C D
S psS prB B
prB H
H
b-sua
h-peq
h-peq
c-agu
s-agu P
p-gra
psP
S
s-agu
E
A C D
S
s-agu
c-irr B psB
H psHb-sua
h-gra B
b-sua
prH
B
b-agu
Reglas que no pertenecen a la gramática
Figura 2-14. (a) Dos árboles sintácticos generados por la gramática Gejemplo. (b) Los árboles
sintácticos resultantes de aplicar el operador Justo (Fair), que no pueden ser generados por la
gramática Gejemplo.
Los operadores de cruce que sí generarían individuos válidos, es decir, individuos que
pertenecen a la gramática definida, serían los siguientes:
WX (Whigham) [Whigham 95]: asegura la generación de individuos que
pertenecen al lenguaje generado por la gramática dado que se cruzan nodos
etiquetados con el mismo símbolo no terminal. Este operador consta de los
siguientes cinco pasos:
o En primer lugar se almacenan las coordenadas de todos los nodos no
terminales del primer padre.
o Se elige aleatoriamente uno de ellos y se anota su símbolo no terminal.
o Se almacenan las coordenadas de todos los nodos del segundo padre cuyo
símbolo no terminal coincida con el símbolo obtenido en el paso anterior.
o Se elige aleatoriamente una de estas coordenadas.
Estado de la Cuestión
63
o Por último, se intercambian los subárboles cuya raíz coincida con las dos
coordenadas elegidas.
En la [Figura 2-15] se muestra la aplicación del operador WX a la hora de
seleccionar los nodos de cruce de dos árboles.
E
A C D
S psS prB B
prH H
B
b-sua
h-peq
b-agu
c-agu
s-agu P
p-gra
psP
S
s-agu
E
A C D
S
s-agu
c-irr B psB
H psHb-sua
h-gra B
b-sua
Subárb
ol
del padre
1Nodo de cruce
del padre 1
(3,1)
Subárboles a intercambiar
Subárb
ol
del p
adre
2
Nodo de cruce
del padre 2
(3,1)
prB
H
h-peq
Figura 2-15. Ejemplo de aplicación del operador WX
GBC (Grammar Based Crossover) [Couchet et al. 07]: El operador GBC evita el
crecimiento desmesurado del tamaño de los árboles de derivación que
representan a los individuos, proporciona un equilibrio adecuado entre la
capacidad de exploración del espacio de búsqueda y la capacidad de explotación,
preservando el contexto en el cual los subárboles aparecen en los árboles padre y,
finalmente, es capaz de aprovechar la propiedad de las gramáticas ambiguas
consistente en la existencia de más de un árbol de derivación distinto para una
misma palabra. La unión de todas estas características proporciona al operador
GBC una elevada velocidad de convergencia y una reducida probabilidad de
caída en óptimos locales.
La aplicación de este operador consta de los siguientes diez pasos:
1. Creación de un conjunto NT compuesto por los nodos no terminales del
primer padre (salvo la raíz). Cada nodo queda denotado, utilizando la
notación para coordenadas del operador de cruce SCPC (explicada en el
apartado 2.3.3), mediante la tupla N = (Z, coord), donde Z es el no terminal
que representa al nodo y coord es la coordenada de dicho nodo en el árbol.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
64
2. Si NT ≠ Ф entonces se elige un elemento de dicho conjunto de manera
aleatoria, el cual se denomina nodo de cruce o lugar de cruce (NC1 en
adelante). Si NT = Ф entonces el cruce no es posible en ningún otro nodo
distinto del nodo raíz, por lo que se elige la raíz como nodo de cruce para
ambos árboles, dando lugar a descendientes idénticos a los padres.
3. Se busca el nodo padre de NC1. Éste siempre es un símbolo no terminal,
puesto que se trabaja con una gramática libre de contexto. Este símbolo
aparece como antecedente de una o varias reglas de producción de la
gramática, por lo que se almacenan los consecuentes de todas estas
producciones en una lista, R.
4. Se denomina derivación principal (A C), a la derivación que se aplica
para el nodo padre del nodo NC1. Se definen asimismo la longitud de la
derivación principal (l), como el número de símbolos terminales y no
terminales incluidos en el consecuente de la derivación principal, y la
posición (p), como la posición que ocupa el nodo de cruce en la derivación
principal. Se calcula y almacena esta tupla T= (l,p,C).
5. Se eliminan de R todos aquellos consecuentes cuya longitud sea diferente a
la longitud de la derivación principal (l).
6. Para cada elemento de R, se comparan todos los símbolos con los del
consecuente de la derivación principal excepto aquél que ocupa la misma
posición (p) que NC1. Posteriormente, se eliminan de R todos aquellos
consecuentes en los que se ha detectado alguna diferencia.
7. Se calcula el conjunto X, formado por todos aquellos símbolos no
terminales pertenecientes a los consecuentes almacenados en R, que están
en la misma posición (p) que el nodo de cruce.
8. Si X ≠ Ф entonces se elige aleatoriamente algún símbolo (SE, símbolo
elegido) perteneciente al conjunto X. Se almacenan en una lista, NC, todos
los nodos candidatos del segundo padre cuyo símbolo coincida con SE. Si X
= Ф entonces, al no existir nodos de cruce del segundo padre que satisfagan
los requisitos de cruce para los símbolos del conjunto X, se saca NC1 del
conjunto NT y se vuelve al paso 2.
Estado de la Cuestión
65
9. Si NC ≠ Ф entonces se escoge aleatoriamente un nodo de cruce (NC2) del
conjunto de nodos candidatos NC del segundo padre. Si NC = Ф entonces se
elimina SE del conjunto X y se vuelve al paso 8.
10. Se calcula la profundidad a la que se encuentra el nodo de cruce del primer
padre (NC1) y se le suma la longitud del subárbol cuya raíz es el nodo de
cruce del segundo padre (NC2). Esta profundidad obtenida se denomina P1.
Se calcula la profundidad a la que se encuentra el nodo de cruce del
segundo padre (NC2) y se le suma la longitud del subárbol cuya raíz es el
nodo de cruce del primer padre (NC1). Esta profundidad obtenida se
denomina P2.
Si P1 > D o si P2 > D entonces se elimina NC2 del conjunto NC y se
vuelve al paso 9. D es el valor de la profundidad máxima definida para
un individuo.
En otro caso, se comparan los símbolos no terminales de NC1 y NC2.
NC1 = NC2 entonces los dos nuevos descendientes se obtienen
intercambiando los dos subárboles cuyas raíces coinciden con los
nodos de cruce previamente seleccionados NC1 y NC2.
NC1 ≠ NC2 entonces se calcula la derivación generada por el nodo
padre de NC2 y se obtiene la posición (p2) del símbolo de NC2 en
dicha derivación, tras lo cual se sustituye el símbolo de la posición
p2 por el símbolo de NC1. Si la derivación obtenida coincide con
algún consecuente de las reglas de producción de la gramática,
entonces los dos nuevos descendientes se obtienen intercambiando
los dos subárboles cuyas raíces coinciden con los nodos de cruce
NC1 y NC2. En caso contrario, se elimina NC2 de NC y se vuelve
al paso 9.
Para ilustrar mejor el funcionamiento de este operador de cruce se incluye el
siguiente ejemplo. La [Figura 2-16] muestra los árboles de derivación
correspondientes a dos individuos que se desean cruzar, pertenecientes ambos al
lenguaje generado por la gramática de ejemplo de la [Tabla 2-1].
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
66
E
A C D
S psS prB B
prH H
B
b-sua
h-peq
b-agu
c-agu
s-agu P
p-gra
psP
S
s-agu
E
A C D
S
s-agu
c-irr B psB
H psH b-sua
h-gra B
b-sua
prB
H
h-peq
(1) (3)
(1,1) (3,1) (3,3)
(3,1,2) (3,3,2)
(2)
(3,2)
(3,3,3)
(3,3,3,1)
(3,1)
prH
S
s-sua
(3,1,1)
(1) (2) (3)
(3,2)
(3,1,2) (3,1,1)
(1,1) (1,2)
(1,2,1) (1,2,2)
(1,2,2,1) (3,1,1,1) (3,1,1,1)
Figura 2-16. Árboles de derivación correspondientes a dos individuos de la gramática Gejemplo
A continuación se detalla paso a paso la aplicación del operador de cruce GBC
con los anteriores individuos:
1. Se almacenan para el primer padre todos los nodos que contienen
símbolos no terminales (salvo la raíz) en el conjunto: NT = {(A,(1)),
(C,(2)), (D,(3)), (S,(1,1)), (pSS,(1,2)), (prB,(3,1)), (B,(3,2)), (P,(1,2,1)),
(psP,(1,2,2)), (prH,(3,1,1)), (H,(3,1,2)), (S,(1,2,2,1)), (B,(3,1,1,1))}.
2. Se elige aleatoriamente un nodo cualesquiera de entre los que componen
el conjunto NT, en este caso el nodo de cruce elegido es (prH, (3,1,1)).
3. Se busca el nodo padre del nodo elegido anteriormente y se almacenan en
R los consecuentes de todas las reglas de producción donde psS aparece
como antecedente. Por tanto, R = [prS S, prP P, prH H, S, P, H].
4. Se obtiene la derivación principal: prB prH H, la longitud de la
derivación principal, l=2, y la posición que ocupa el nodo de cruce dentro
del consecuente de la derivación principal, p=1. Por consiguiente, se
obtiene la tupla T = (2, 1, prH H). La [Figura 2-17] muestra gráficamente
los anteriores pasos.
5. Se eliminan de R todos aquellos consecuentes cuya longitud difiere de la
longitud de la derivación principal. De este modo, R = [prS S, prP P, prH
H].
6. Cada elemento de R, se compara con los símbolos del consecuente de la
derivación principal excepto aquél que se encuentra en la posición del
Estado de la Cuestión
67
nodo de cruce. En el ejemplo, se compara H, con S, P y H,
respectivamente. Como consecuencia de esto, los consecuentes prS S y
prP P son eliminados de R al encontrarse diferencias. Tras estas
comparaciones, R = [prH H].
E
A C D
S psS prB B
prH H
B
b-sua
h-peq
b-agu
c-agu
s-agu P
p-gra
psP
S
s-agu
Nodo
PadreNodo de
cruce
(NC1)
Figura 2-17. Nodo de cruce, nodo padre y derivación
principal del subárbol del individuo Padre1
7. Se calcula el conjunto X, formado por todos aquellos símbolos en los
consecuentes de R, que están en la misma posición, p, que el nodo de
cruce. Por lo tanto, se elige para cada elemento de R, el símbolo ubicado
en la primera posición. De esta forma, X = [prH].
E
A C D
S psS prB B
prH H
B
b-sua
h-peq
b-agu
c-agu
s-agu P
p-gra
psP
S
s-agu
E
A C D
S
s-agu
c-irr B psB
H psHb-sua
h-gra B
b-sua
prB
H
h-peq
prH
S
s-suaSubárbol
del padre 1
Nodo de cruce
del padre 1
Nodo de cruce
del padre 2
Subárbol
del padre 2
Figura 2-18. Elección de los nodos de cruce por el operador GBC
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
68
8. Se elige aleatoriamente un nodo del Padre2 cuyo símbolo no terminal sea
el símbolo elegido prH. En el ejemplo se escoge aleatoriamente como
símbolo elegido (SE) el símbolo prH. Se genera el conjunto NC de nodos
candidatos del segundo padre cuyo símbolo no terminal sea prH: NC = {
(prH,(3,1,1)) }.
9. La [Figura 2-18] muestra en color gris el único nodo de cruce posible
seleccionado por el operador, ya que el conjunto NC tiene un único
elemento (nodo seleccionado en el individuo Padre2).
10. Se calcula la profundidad a la que se encuentra el nodo de cruce del
primer padre, pf1 = 3, y se le suma la longitud del subárbol cuya raíz es el
nodo de cruce del segundo padre, l2 = 2, por lo que: P1 = pf1 + l2 = 3 + 2
= 5. Se calcula la profundidad a la que se encuentra el nodo de cruce del
segundo padre, pf2 = 3, y se le suma la longitud del subárbol cuya raíz es
el nodo de cruce del primer padre, l1 = 2, por lo tanto P2 = pf2 + l1 = 3 +
2 = 5. La profundidad máxima (D) establecida para los individuos es 5.
Por tanto, al ser P1 ≤ 5, y P2 ≤ 5, ambos descendientes cumplen la
restricción de profundidad. Como el símbolo no terminal de NC1 y NC2
es el mismo, prH, los dos nuevos descendientes se obtienen
intercambiando los dos subárboles cuyas raíces coinciden con los nodos
de cruce. A continuación la [Figura 2-19] muestra el resultado final del
cruce.
E
A C D
S psS prB B
prH H
S
b-sua
h-peq
s-sua
c-agu
s-agu P
p-gra
psP
S
s-agu
E
A C D
S
s-agu
c-irr B psB
H psHb-sua
h-gra B
b-sua
prB
H
h-peq
prH
B
b-agu
Figura 2-19. Descendencia obtenida con el operador de cruce GBC
Estado de la Cuestión
69
Por último, el operador de mutación, el cuál debe utilizar las reglas de producción de la
gramática para asegurar que la mutación del individuo da lugar a otro igualmente válido.
En [Couchet et al. 07] se define un operador de mutación en el ámbito de la PGGG: el
operador de mutación GBM (Grammar Based Mutation). Con este operador, una vez
definido el nodo donde se produce la mutación, el subárbol no es reemplazado por otro
cuya raíz coincida con el mismo símbolo no terminal, sino que se extiende su ámbito a
otros símbolos no terminales que también generan producciones válidas de acuerdo a la
gramática.
Este operador consta de los siguientes pasos:
1. Se crea un conjunto NT con los diferentes candidatos a nodos de mutación.
2. Si NT ≠ Ф entonces se elige aleatoriamente un elemento de NT, el cual se
denomina nodo de mutación o lugar de mutación (NM). Si NT = Ф entonces la
mutación del individuo no es posible, por lo que el individuo mutado es una
copia del individuo original.
3. Se busca el nodo padre del nodo de mutación. Éste siempre es un símbolo no
terminal, puesto que se trabaja con una gramática libre de contexto. Dicho
símbolo aparece como antecedente de una o varias reglas de producción de la
gramática, por lo que se almacenan los consecuentes de todas estas
producciones en una lista R.
4. Se denomina derivación principal (A C), a la derivación aplicada en el nodo
padre. Se definen asimismo la longitud de la derivación principal (l), como el
número de símbolos terminales y no terminales incluidos en el consecuente de
la derivación principal, y la posición (p) que ocupa el nodo de mutación en la
derivación principal. Se calculan y almacenan estos valores en una tupla T=
(l,p,C).
5. Se eliminan de la lista R todos aquellos consecuentes cuya longitud sea
diferente a la longitud de la derivación principal l.
6. Para cada elemento de R, se comparan todos los símbolos con los del
consecuente de la derivación principal excepto aquél que ocupa la posición p.
Se eliminan de R todos aquellos consecuentes en los que se ha detectado
alguna diferencia.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
70
7. Se calcula el conjunto X, formado por todos aquellos símbolos no terminales
pertenecientes a los consecuentes almacenados en R, que ocupan la posición p.
8. Si X ≠ Ф entonces se elige aleatoriamente un símbolo (SE, símbolo elegido) del
conjunto X. Si X = Ф entonces no es posible encontrar una mutación para ese
nodo, por lo que se elimina el nodo NM del conjunto NT y se vuelve al paso 2.
9. Se calcula la profundidad a la que se encuentra el nodo de mutación, y se
efectúa la resta entre la profundidad máxima permitida (D) y dicha
profundidad. Dicho valor se denomina longitud de la mutación (LM).
10. Se asigna el valor 0 a la profundidad actual (PA).
11. Se almacenan en el conjunto PC aquellas producciones de SE que cumplen la
siguiente restricción: PA + L(SE::= α)≤ LM, donde L(SE:= α) es la longitud del
consecuente de la producción SE:= α.
12. Si PC ≠ Ф entonces se escoge aleatoriamente una producción del conjunto PC.
Si PC = Ф entonces no es posible encontrar una mutación a partir del símbolo
elegido (SE) para el nodo de mutación (NM) que satisfaga la restricción de
profundidad para el individuo mutado, por lo que se elimina SE del conjunto X
y se vuelve al paso 8.
13. Por cada no terminal B Є α, se anota B como el actual no terminal SE y se
repiten los pasos 11, 12 y 13, incrementando el valor de la profundidad actual
en una unidad.
14. Se efectúa el reemplazo del subárbol cuya raíz es el nodo de mutación (NM)
por el subárbol calculado en los pasos 11 al 13.
Se pueden definir diversos tipos de mutación: Terminal (mono), cuando la mutación
afecta exclusivamente a un único nodo que contiene un símbolo terminal; Terminal
(multi), si la mutación se aplica sobre varios nodos que contienen símbolos terminales y
No Terminal, cuando el lugar de mutación está restringido exclusivamente a nodos con
símbolos no terminales
Para clarificar el algoritmo del GBM, se muestra su funcionamiento en la mutación del
individuo 6 + 4 = 7 ([Figura 2-16] (árbol de la izquierda)) perteneciente al lenguaje
generado por la gramática Gejemplo [Tabla 2-1]:
Estado de la Cuestión
71
1. Se crea un conjunto NT compuesto por los nodos no terminales del individuo salvo
la raíz: NT = {(A,(1)), (C,(2)), (D,(3)), (S,(1,1)), (pSS,(1,2)), (prB,(3,1)), (B,(3,2)),
(P,(1,2,1)), (psP,(1,2,2)), (prH,(3,1,1)), (H,(3,1,2)), (S,(1,2,2,1)), (B,(3,1,1,1))}
2. Se escoge aleatoriamente el nodo NM: (psS,(1,2)).
3. Se busca el nodo padre del nodo elegido anteriormente: (A,(1)). El símbolo A
aparece como antecedente en cinco reglas de producción de la gramática, por lo que
se almacenan sus consecuentes en R (R = [prS S psS, prS S, S psS, S]). La [Tabla
2-2] muestra las diferentes producciones de la gramática Gejemplo con sus respectivas
longitudes.
Producción (p) L(p) Producción (p) L(p)
E A C D 3 psS B psB 2
A prS S psS 3 psS P psP 2
A prB B 3 psS H psH 2
A S psS 2 psS B 1
A S 1 psS P 1
D prB B psB 3 psS H 1
D prB B 2 psB S psS 2
D B psB 2 psB P psP 2
D B 1 psB H psH 2
prS prB B 2 psB S 1
prS prP P 2 psB P 1
prS prH H 2 psB H 1
prS B 1 psP S psS 2
prS P 1 psP B psB 2
prS H 1 psP H psH 2
prB prS S 2 psP S 1
prB prP P 2 psP B 1
prB prH H 2 psP H 1
prB B 1 psH S psS 2
prB P 1 psH B psB 2
prB H 1 psH P psP 2
prP prS S 2 psH S 1
prP prB B 2 psH B 1
prP prH H 2 psH P 1
prP S 1 C c-agu | c-mes | c-irr 1
prP B 1 S s-agu | s-sua 1
prP H 1 B b-agu | b-sua 1
prH prS S 2 P p-gra | p-peq 1
prH prB B 2 H h-gra | h-peq 1
prH prP P 2
prH S 1
prH B 1
prH P 1
Tabla 2-2. Producciones de la gramática Gejemplo junto con sus longitudes
4. Se calcula la derivación principal del nodo padre: S psS, y se define la tupla T= (2,
2, S psS).
5. Se eliminan de R todos aquellos consecuentes cuya longitud sea diferente a la
longitud de la derivación principal (l=2). R = [prS S, S psS].
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
72
6. Para cada elemento de R, se comparan todos los símbolos con los del consecuente
de la derivación principal excepto aquél que ocupa la misma posición (p=2) que el
nodo de mutación. Se eliminan de R todos aquellos consecuentes en los que se ha
detectado alguna diferencia. R = [S psS].
7. Se calcula el conjunto X, formado por todos aquellos símbolos en los consecuentes
de R que están en la mima posición p. Por tanto, X = [psS].
8. Se toma aleatoriamente como símbolo elegido (SE) del conjunto X el símbolo psS,
que en este caso es el único símbolo.
9. Se calcula la profundidad a la que se encuentra el nodo de mutación, y se efectúa la
resta entre la profundidad máxima permitida (D) y dicha profundidad, obteniendo
así la longitud de la mutación (LM). Así pues, LM= 4 – 2 = 2.
10. Se etiqueta el símbolo elegido psS como el actual no terminal y se asigna el valor 0
a la profundidad actual. Por tanto, PA = 0.
11. Se almacenan en el conjunto PC = { psS α, (α Є {ΣN U ΣT }* ) } las producciones
que cumplen: PA + L(psS α) ≤ LM, es decir, 0 + L(psS α) ≤ 2. Por tanto, PC
= {psSS psS, psSB psB, psSH psH, psSS, psSB, psSH}.
12. Se escoge aleatoriamente la producción psS H psH del conjunto PC.
13. Por cada no terminal B Є α, se anota B como el actual no terminal SE, es decir, se
anota H y psH como los actuales no terminales y se repiten los pasos 11, 12 y 13
para cada uno de ellos, incrementando el valor de la profundidad actual en una
unidad.
Con H:
11. Se calcula el contenido de PC = {Hh-gra, Hh-peq}.
12. Se escoge aleatoriamente la producción H h-gra del conjunto PC.
13. Como no existen no terminales B Є α, se continúa con el paso 14.
Con psH:
11. Se calcula el contenido de PC = {psHS psS, psHB psB, psHP psP,
psHS, psHB, psHP}.
12. Se escoge aleatoriamente la producción psHB del conjunto PC.
Estado de la Cuestión
73
13. Por cada no terminal B Є α, se anota B como el actual no terminal SE, es
decir, se anota B como el actual no terminal y se repiten los pasos 11, 12
y 13 para cada uno de ellos, incrementando el valor de la profundidad
actual en una unidad.
11. PC = {B b-agu, B b-sua}
12. Se escoge aleatoriamente la producción B b-agu de conjunto PC.
13. Como no existen no terminales B Є α, se continúa con el paso 14.
14. Se reemplaza el subárbol cuya raíz es el nodo de mutación (NM) por el
subárbol generado en los pasos 11 al 13. En la [Figura 2-23] muestra el
ejemplo gráficamente.
E
A C D
S psS prB B
prH H
B
b-sua
h-peq
b-agu
c-agu
s-agu P
p-gra
psP
S
s-agu
(2)
(3,1)
(1)(3)
(3,2)
(3,1,2)(3,1,1)
(1,1)(1,2)
(1,2,1) (1,2,2)
(1,2,2,1) (3,1,1,1)
E
A C D
S psS prB B
prH H
B
b-sua
h-peq
b-agu
c-agu
s-agu H
h-gra
psH
B
b-agu
(2)
(3,1)
(1)(3)
(3,2)
(3,1,2)(3,1,1)
(1,1)(1,2)
(1,2,1) (1,2,2)
(1,2,2,1) (3,1,1,1)
Nodo de
Mutación
(NM)
Subárbol a
mutarSubárbol
mutado
Producciones
Seleccionadas
• psS H psH
• Hh-gra
• psHB
• Bb-agu
Figura 2-20. Ejemplo de mutación mediante el operador GBM
2.4. Análisis de Series Temporales
Hoy en día el análisis de colecciones de datos ordenados en el tiempo, denominadas series
temporales, es fundamental en muchos campos como la ingeniería, la medicina o el mundo
de los negocios. Estudiar cómo se ha comportado una variable hasta el momento puede ser
de gran valor a la hora de predecir su comportamiento futuro. Del mismo modo, determinar
qué otros valores han tenido un comportamiento similar puede ayudar a decidir las
acciones a tomar, bien sea para conservar la evolución actual o bien para modificarla
radicalmente. Existe una necesidad cada vez mayor de buscar series temporales de datos
similares a una dada en una base de datos o en un conjunto de bases de datos. Se puede
pensar que con una comparación secuencial de dos series temporales dadas bastaría para
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
74
saber si son similares o no. Sin embargo, no se trata de realizar un rastreo secuencial de las
dos secuencias temporales sino de encontrar métodos o técnicas que ayuden a disminuir
ese rastreo. Esto es muy importante teniendo en cuenta la cantidad ingente de información
que se puede encontrar en diferentes bases de datos y el gran tamaño que pueden alcanzar
las series temporales. Las secuencias temporales tienen una importancia vital en muchos
dominios como el dominio médico o el bursátil. Algunos ejemplos de aplicaciones útiles
de técnicas de data mining sobre series temporales son:
Identificar empresas con un patrón de crecimiento similar.
Determinar aquellos productos con patrones de venta similares.
Encontrar si un éxito musical es similar a uno que se encuadre dentro de un
conjunto de éxitos con copyright anterior.
Encontrar los fragmentos de curvas sísmicas que son similares o buscar un patrón
que nos describa un movimiento sísmico o una irregularidad geológica.
Encontrar elementos astrológicos similares basándose en la radiación de cada uno
de ellos en el tiempo.
Antes de poder aplicar técnicas de data mining en series temporales, para la mayoría de las
aplicaciones es necesario que se defina una medida de la distancia que permita conocer
qué secuencias temporales se parecen entre si, buscar aquellas secuencias que se parecen a
una dada o buscar patrones de comportamiento dentro de una secuencia temporal concreta.
No obstante, tal y como se describe en el proceso KDD (ver apartado 2.1), después de
entender perfectamente el dominio de aplicación de los datos y haber seleccionado un
conjunto de datos, es necesario un paso de limpieza y preprocesamiento para la
eliminación de ruido o datos no apropiados. Después de este preprocesamiento es
necesario aplicar métodos de transformación a los datos para poder obtener características
relevantes de los mismos y reducir la dimensionalidad. El objetivo es representar los datos
iniciales, incluso transformándolos a otro dominio diferente al inicial, que permita aplicar
técnicas de data mining de forma eficiente extrayendo conocimiento significativo.
Esta sección está organizada del siguiente modo, primero se van a mostrar las medidas de
similaridad existentes, que permiten conocer el grado de similitud que hay entre dos
secuencias dadas. En el segundo apartado se detallan las técnicas de transformación que se
pueden aplicar a los datos una vez que éstos han sido preprocesados.
Estado de la Cuestión
75
2.4.1. Medidas de Similaridad
En esta sección se describen las medidas de similaridad para series temporales. Primero
se describirán las medidas para series temporales numéricas para dar paso a describir las
medidas para series temporales simbólicas. No obstante, en el caso de que se trate a los
números como caracteres numéricos algunas medidas de series simbólicas podrían ser
utilizadas también para series temporales numéricas.
2.4.1.1. Medidas de Similaridad para Series Numéricas
Dadas dos secuencias temporales numéricas, x
= {x1,..., xn} e y
= {y1,…, yn}, las
métricas más utilizadas son las que se obtienen de la norma Lp o distancia de
Minkowski [Minkowski 97] cuya expresión se muestra a continuación:
pn
i
p
iip yxL
/1
1
Expresión 2-17. Norma Lp
Según los valores que se asignen al parámetro p se tendrá un tipo de distancia u otro.
Si p es 1 entonces seria L1, llamada distancia de Manhattan. Cuando p es 2 se trata
de la distancia Euclídea (L2).
Un caso especial de la distancia de Minkowski es cuando p tiende a infinito; en este
caso se denomina distancia de Chebychev. Es la distancia máxima entre los puntos
pertenecientes a cualquier dimensión de las secuencias x
e y
. Esta distancia
[Expresión 2-18] es bastante sensible a las diferencias existentes en las dimensiones
individuales de cada secuencia.
pn
i
p
iip
iii
Ch yxyxMaxD
/1
1
lim
Expresión 2-18. Distancia de Chebychev
La distancia de Mahalanobis [Mahalanobis 36] determina la similitud entre dos
variables aleatorias multidimensionales teniendo en cuenta la correlación existente
entre las mismas. Para ello se utiliza la matriz de covarianza de x
e y
, tal y como
se muestra en la [Expresión 2-19].
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
76
)()(),( 1 yxyxyxD T
M
Expresión 2-19. Distancia de Mahalanobis
Con la distancia Time Warping (DTW) [Sakoe y Chiba 71] se obtiene la similaridad
entre dos secuencias independientemente de las variaciones no lineales en la
dimensión del tiempo que pudieran sufrir cada una de ellas. Por tanto, realiza un
alineamiento en el tiempo de dos secuencias x
e y
. Esta técnica se suele utilizar en
el campo del reconocimiento de voz [Kruskal y Liberman 83] dado que la velocidad
de las muestras de voz obtenidas es muy sensible en el tiempo. No obstante, la
utilidad de esta técnica ha sido probada en otros campos como el reconocimiento de
gestos [Gavrila y Davis 95], la robótica [Schmill et al. 99] o el reconocimiento de
letras [Rath y Manmatha 03, Vuori et al. 00].
Dadas dos secuencias numéricas x
={x1, ..., xn} e y
={y1, …, ym}, la DTW se suele
calcular siguiendo un algoritmo de programación dinámica [Rabiner y Juang 93] de
complejidad )( yxO
de acuerdo a la [Expresión 2-20], donde
<> denota la secuencia vacía
Dbase podría ser cualquier distancia definida previamente (por ejemplo, la
distancia de Manhattan o la distancia Euclídea).
)(xHead
es el primer elemento de x
)(xrest
es el resto de x
menos el primer elemento
))(),((
))(,(
)),((
min))(),((),(
),(),(
0),(
yrestxrestD
yrestxD
yxrestD
yHeadxHeadDyxD
yDxD
D
TW
TW
TW
baseTW
TWTW
TW
Expresión 2-20. Distancia TimeWarping
Sin embargo, esta distancia es muy sensible a datos atípicos contenidos en las
secuencias que se pretenden alinear debido a que equiparan todos los elementos de las
dos secuencias en el proceso. En la [Figura 2-21] se muestra el alineamiento (con
trazo discontinuo) obtenido con DTW para las secuencias )8,6,8,2,1(x
[Figura 2-21
Estado de la Cuestión
77
(a)] e )9,5,3,3,9,2,1(y
[Figura 2-21 (b)]. Los índices de las secuencias para este
alineamiento serían (1º,1º), (2º,2º), (3º,3º), (4º,4º), (4º,5º), (4º,6º), (5º,7º). Se aprecia
un enlace forzado de los índices (4º,5º) y (4º,6º), cuando intuitivamente el cuarto
elemento de x
(con valor 6) debería sólo corresponder con el quinto elemento de y
(con valor 3).
(a)
(b)
1º2º
3º
4º
5º
1º 2º
3º
4º 5º
6º
7º
Figura 2-21. Alineamiento DTW de la
secuencia x
(a) con la secuencia y
(b)
La distancia Minimal Variance Matching (MVM) [Latecki et al. 05] ha sido diseñada
para solucionar la sensibilidad de la DTW frente a datos atípicos. Al igual que la
DTW, MVM también busca el mejor alineamiento entre dos secuencias temporales
pero tiene la ventaja de que permite saltar datos atípicos durante el proceso de enlace
de las dos secuencias al no estar obligado a tener que equipar todos los datos de las
dos secuencias. El algoritmo propuesto traslada el problema de la subsecuencia de
mejor solapamiento al problema del camino más barato en un grafo acíclico dirigido
(DAG – Directed Acyclic Graph).
Sea ),...,( 1 mxxx
e ),...,( 1 nyyy
con m<n. El objetivo es encontrar una
subsecuencia y
‘ de y
de longitud m tal que x
encaje con y
‘ es decir, encontrar la
mejor correspondencia de la secuencia x
en y
‘. Se define la correspondencia como
una función inyectiva y monótona f:{1,…,m} {1,…n} tal que f(i) < f(i+1). De este
modo todos los xi se equiparan a los yf(i) para todo i {1,…m}. El conjunto de
índices {f(1),…,f(m)} define la subsecuencia y
‘ de y
. En el caso de la DTW, la
correspondencia es una relación en el conjunto de índices {1,...,m}x{1,…,n}.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
78
Una vez que se conoce la correspondencia se calcula la distancia. Aunque se puede
utilizar cualquier función distancia habitualmente se utiliza la distancia Euclídea
[Expresión 2-21].
m
i
iif xyfyxd1
2
)(),,(
Expresión 2-21. Distancia euclídea. MVM
Por tanto, el objetivo es encontrar una correspondencia f para que ),,( fyxd
sea
mínimo, es decir, una correspondencia óptima f’ de números en la serie x
a número
en la serie y
. En otras palabras, la distancia MVM es la mínima global sobre todas
las posibles correspondencias. En la [Figura 2-22] se muestra el alineamiento
obtenido utilizando MVM resultando f’(1º)=1º, f’(2º)=2º, f’(3º)=3º, f’(4º)=6º y
f’(5º)=7º.
En [Latecki et al. 07] se presenta una extensión del MVM donde se describe el
algoritmo OSB (Optimal Subsequence Bijection) eliminando la limitación de MVM
sobre la longitud de las secuencias ),...,( 1 mxxx
e ),...,( 1 nyyy
siendo m<n.
(a)
(b)
1º2º
3º
4º
5º
1º 2º
3º
4º 5º
6º
7º
Figura 2-22. Alineamiento MVM de la
secuencia x
(a) con la secuencia y
(b).
Con el objetivo de mejorar la eficiencia de la distancia Time Warping, en [Yi et al. 98]
se define la distancia Lower Bounding. Dadas dos secuencias numéricas x
={x1, ...,
xn} e y
={y1, …, ym}, sea )max( x
y )max( y
el valor máximo de x
e y
respectivamente (análogo para )min(x
y )min( y
pero con el valor mínimo), sea <
)max( x
, )min(x
> el intervalo que define el rango en el que la secuencia x
puede
Estado de la Cuestión
79
fluctuar y asumiendo, sin pérdida de generalidad, que )max()max( yx
y por tanto,
),()max()max( yxDyx TW
, se define la distancia Lower Bounding como:
disjuntosson Ry R si ))min( ,)max(max(
R de dentro está R si )min()max(
solapan se Ry R si )min()max(
),(
yx11
)min( yx)max(
)min( yx)max(
m
j i
n
i i
yx iyx i
xy iyx i
LB
xyyx
yxyx
xyyx
yxDii
ii
Expresión 2-22. Distancia Lower Bounding
donde los rangos xR = )min(),max( xx
y yR = )min(),max( yy
se pueden
encontrar en las siguientes situaciones:
yx Ry R se solapan si )min()min(),max()min( yxyx
yx R de dentro está R si )min()min( yx
yx Ry R son disjuntos si )max()min( yx
Las distancias de Pearson (Pearson Correlation y Pearson Squared) [Pearson 38]
suelen utilizar en algoritmos de clustering. Dados x
={x1, ..., xn} e y
={y1, …, yn}, la
distancia Pearson Correlation [Expresión 2-23] utiliza el coeficiente de correlación
de Pearson [Expresión 2-24] para agrupar en un mismo cluster las series que poseen
un comportamiento similar y aquellas que tienen un comportamiento opuesto se
asignan a otros clusters. Este coeficiente utiliza la función Z que resta a cada elemento
del vector v
de entrada la media aritmética de los componentes de v
dividiéndolos
por su desviación típica.
),(1),( yxryxDPC
Expresión 2-23. Distancia Pearson Correlation
n
yZxZyxr
)()(),(
Expresión 2-24. Coeficiente de correlación de Pearson
A diferencia de la distancia Pearson Correlation, la distancia Pearson Squared
[Expresión 2-25] permite agrupar en un mismo cluster series similares y totalmente
opuestas.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
80
),(21),( yxryxDPS
Expresión 2-25. Distancia Pearson Squared
En la [Figura 2-23] se muestran dos ejemplos de series a agrupar. En la [Figura 2-23
(a)] se visualizan dos series que se agruparían en el mismo cluster tanto si se utiliza la
distancia Pearson Correlation como la distancia Pearson Squared. Sin embargo las
series representadas en la [Figura 2-23 (b)] se agruparían en clusters distintos si se
utilizase la distancia Pearson Correlation pero se agruparían en el mismo cluster si se
utilizase la distancia Pearson Squared ya que las series están completamente
anticorreladas.
(a) (b)
Figura 2-23. Ejemplo de series – Pearson Squared vs Pearson Correlation
La distancia de correlación de Spearman [Spearman 87] y la distancia de
correlación de Kendall (la tau de Kendall) [Kendall 38] miden la asociación o
interdependencia entre dos secuencias de datos discretas. Ambas distancias de
correlación ordenan los datos por rangos para realizar el cálculo, por eso se suelen
llamar medidas de correlación por rangos.
En el caso de la distancia de correlación de Spearman los datos son ordenados y
reemplazados por su número de orden respectivo [Expresión 2-26].
)1(
)()(6
1),(2
1
2
nn
yordenxorden
yxD
n
i
ii
Spearman
Expresión 2-26. Distancia de correlación de Spearman
La tau de Kendall es un coeficiente de correlación por rangos, inversiones entre dos
ordenaciones de una distribución normal bivariante. El objetivo de esta distancia es
Estado de la Cuestión
81
contar el número de pares diferentes entre las dos secuencias ordenadas. Este número
se denomina distancia symmetric difference ( ),( yxd
), diferencia simétrica. La
expresión que define la tau de Kendall es la siguiente:
)1(
),(21
)1(2
1
),()1(2
1
),(
nn
yxd
nn
yxdnn
yxDKendall
Expresión 2-27. Distancia de correlación de Kendall
La interpretación de la medida de correlación de Spearman y de Kendall es igual que
la del coeficiente de correlación de Pearson. El valor resultante oscila entre -1 y +1,
indicando asociaciones negativas o positivas respectivamente. Si el resultado es cero,
significa no correlación (o asociación) pero no independencia.
2.4.1.2. Medidas de Similaridad para Series de Caracteres
Es en el campo de las series de caracteres (secuencias basadas en strings) donde
existen gran variedad de distancias debido al amplio número de áreas de investigación
donde han sido desarrolladas y aplicadas: en la estadística, para las técnicas de enlace6
probabilísticas [Winkler 99], en las bases de datos, para identificación de registros
[Monge y Elkan 96, Monge y Elkan 97], en la inteligencia artificial [Tejada et al. 01],
y en la biología molecular, para identificar subsecuencias moleculares comunes
[Smith y Waterman 81].
Se han clasificado las distancias basadas en caracteres en cinco grupos tal y como
muestra la [Figura 2-24]. Cohen, Ravikumar y Fienberg [Cohen et al. 03a, Cohen et
al. 03b] clasifican las distancias basadas en secuencias de caracteres en tres grupos
englobando las distancias de edición, las distancias basadas en subsecuencias y las
distancias basadas en transposiciones en un mismo grupo. En este trabajo se ha optado
por separar estas distancias en diferentes grupos por tener características que las
independizan del resto, como se mostrará seguidamente.
6 Traducido de Record linkage (RL), referente a la tarea de encontrar entradas relativas a una misma entidad en dos o
mas bases de datos.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
82
Distancias
De Edición
Needleman-Wunsch
Levenshtein
Damerau-Levenshtein
Smith-Waterman
ISD
Monge-Elkan
Affine gap distance
Hamming
Episode
LCS
Block Distances
…
Basadas en
Subsecuencias
q-grams
Positional q-grams
Skip-grams
…
Basadas en
Transposiciones
Jaro
Jaro-Winkler
…
Basadas en
Términos
Jaccard
Bag Distance
TFIDF
Jensen-Shannon
SFS
…
HíbridasEsquema recursivo
SoftTFIDF
…
Figura 2-24. Grupos de distancias basadas en series de caracteres
Distancias de Edición
La distancia de edición es una función que equipara un par de secuencias de
caracteres u
={u1, ..., un} y w
={w1, …, wm} a un número real d. Se define como el
coste de la mejor secuencia de operaciones de edición necesarias para transformar u
en w
. Las operaciones de edición suelen ser la inserción, el borrado o la sustitución
de caracteres, donde cada operación tiene asignado un coste específico. Para calcular
este tipo de distancias se suele utilizar un algoritmo de programación dinámica
[Jokinen et al. 96].
borrado // )1,(
nserción //i ),1(
titución //susw!u si)1,1(
ia //cop wu si)1,1(
min),(Edición de Distanciaji
ji
doCosteBorrajiD
ciónCosteInserjiD
tuciónCosteSustijiD
jiD
wuDEd
Expresión 2-28. Distancia de Edición
Se clasifican las distancias de edición dependiendo de las operaciones de edición que
se utilicen y del coste asociado a cada una de ellas.
Estado de la Cuestión
83
La distancia de Needleman-Wunsch [Needleman y Wunsch 70] asigna un coste fijo
C a las operaciones de inserción y borrado y un coste que depende de una función
distancia a las operaciones de sustitución y copiado, asignando por tanto un coste
de copiado. La definición de esta función distancia depende del dominio de
aplicación.
La distancia de Levenshtein [Levenshtein 65, Levenshtein 66], la distancia de
Damerau-Levenshtein [Damerau 64] y la distancia de Smith-Waterman [Smith y
Waterman 81] son un caso particular de la distancia de Needleman-Wunsch. La
distancia de Levenshtein es la distancia de edición más simple, dado que asigna el
coste unidad a todas las operaciones de edición. La distancia de Damerau-
Levenshtein, a diferencia de la de Levenshtein, introduce la transposición de un
carácter como una operación de edición más. Sin embargo, la distancia de Smith-
Waterman calcula la distancia entre dos cadenas de caracteres teniendo en cuenta los
posibles alineamientos locales de subcadenas que puedan existir entre las dos cadenas.
En la [Expresión 2-29] se define este tipo de distancia.
do //borra 1)1,(
rción //inse 1),1(
tución //sustiw!u si2)1,1(
ado //copiwu si2)1,1(
nuevo de eza //empi 0
max),(W-S Distancia ji
ji
jiD
jiD
jiD
jiD
wuD WS
Expresión 2-29. Distancia de Smith-Waterman
La distancia de Smith-Waterman no conviene utilizarla cuando se estén tratando
secuencias de caracteres que se diferencien entre sí por una o varias subcadenas y que
aparentemente son muy similares. Por ejemplo, dadas dos secuencias de caracteres
u=―el sistema se bloquea‖ y w=―el sistema, situado en Madrid, se bloquea‖, la
distancia de Smith-Waterman darían un alto valor a la distancia, dado que asignaría
un coste de inserción de 20 caracteres que corresponden con la subcadena ―, situado
en Madrid,‖. Para no obtener un valor tan alto en estos casos, el coste de esa
subcadena podría ser C1+(n-1)C2 donde C1 es el coste de apertura de la subcadena y
C2 es el coste de continuidad de la misma. Esta idea se recoge en la Affine Gap
distance definida en la [Expresión 2-30].
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
84
gap''un con alinea se wcuando obtenida distancia la 2)1,(
1)1,(max),(
gap''un con alinea se u cuando obtenida distancia la 2),1(
1),1(max),(
),()1,1(
),()1,1(
),()1,1(
maxj)(i,Ddistance Gap Affine
j
i
AG
CjiIW
CjiDjiIW
CjiIU
CjiDjiIU
wujiIW
wujiIU
wujiD
ji
ji
ji
Expresión 2-30. Affine gap distance
La distancia de Monge-Elkan [Monge y Elkan 96, Monge y Elkan 97] utiliza la
versión estándar de Smith-Waterman, pero mientras que la distancia de Smith-
Waterman asigna un alto coste a grandes transposiciones de las subcadenas, la
distancia de Monge-Elkan divide las cadenas de caracteres por separadores como
comas o paréntesis y encuentra un coste mínimo sobre todos los posibles pares de
subcadenas. Además, la distancia de Monge-Elkan se encuentra definida en el
intervalo [0, 1], lo que permite tener una referencia del grado de similitud entre dos
secuencias de caracteres con respecto a otras comparaciones.
La distancia de Hamming [Hamming 50] se define como el número de posiciones
donde las dos secuencias de caracteres difieren, es decir, tienen diferentes caracteres.
Sólo se puede utilizar en secuencias de igual longitud y sólo se utiliza la operación de
sustitución con coste 1.
La distancia Episode [Das et al. 97] trata de buscar una secuencia de eventos, donde
todos ellos deben aparecer en un corto periodo. Es una distancia de edición en la que
sólo están permitidas las operaciones de inserción con coste 1.
En el caso de la distancia LCS (Longest Common Subsequence) [Apostolico y
Guerra 87] sólo se permiten inserciones y borrados, todos con coste 1. En este caso se
trata de buscar la subsecuencia de caracteres de mayor longitud común a las dos
secuencias. La distancia LCS se define como el número de caracteres que no se
encuentran emparejados. La programación dinámica se utiliza para calcular esta
distancia. Sin embargo, debido a su gran utilización (compresión de datos,
reconocimiento sintáctico de patrones, comparación de archivos y bioinformática), se
han realizado multitud de trabajos [Hirschberg 75, Lin y Lu 91, Cormen et al. 93,
Apostolico 97, Baker y Giancarlo 98, Bergroth et al. 98, Bonizzoni et al. 01,
Estado de la Cuestión
85
Crochemore et al. 01, Singh et al. 06, Iliopoulos y Rahman 06] donde se han diseñado
tanto nuevos algoritmos para su cálculo como diferentes extensiones de esta distancia.
orrado //b )1,(
nserción //i ),1(
tución //sustiw!u si1)1,1(
max),(LCS Distancia
ji
jiD
jiD
jiD
wuDLCS
Expresión 2-31. Distancia LCS utilizando programación dinámica
La block distance, a diferencia de las anteriores distancias de edición, tiene en cuenta
operaciones entre las subcadenas de caracteres permitiendo por tanto reubicar y
permutar subcadenas de caracteres. Tichy [Tichy 84] propone un modelo de edición
introduciendo la operación de movimiento de bloque. Define el conjunto de
recubrimiento (de u respecto a w) como el conjunto de movimientos de bloque tal que
cada símbolo u(i) que también aparece en w es en un movimiento de bloque. El
objetivo es encontrar un conjunto de recubrimiento mínimo. En la [Expresión 2-32] se
representa el algoritmo para el cálculo del conjunto de recubrimiento mínimo. Existen
otros algoritmos más eficientes a la hora de calcular este conjunto de recubrimiento
mínimo.
en t caracteres másqueden no que hastaRepetir 5. Paso
2. Paso alVolver
)(j jr Incrementa
bloque. de movimientoun como laregristrar l longitud de subcadena la existe Si 4. Paso
j entonces subcadena talexiste no Si 3. Paso
u(j)en empezando en w, aparezca que larga más subcadena laEncontrar 2. Paso
0jr Inicializa 1. Paso
Expresión 2-32. Algoritmo para calcular el conjunto de movimientos de bloque
No obstante el modelo de Tichy obliga a que las subcadenas de las dos secuencias
sean exactamente iguales para establecer un posible movimiento de bloque; además,
no es un modelo totalmente de edición. Lopresti y Tomkins [Lopresti y Tomkins 97]
introducen una distancia block distance con el nombre de block edit distance donde
las cadenas de caracteres se comparan extrayendo los conjuntos de subcadenas y
situándolas en el lugar correspondiente. En la [Figura 2-25] se representa el objetivo
de esta distancia. Como se puede apreciar en esta figura, las subcadenas no tienen por
qué ser similares en un orden secuencial.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
86
El rápido conejo marrón salta sobre el perro viejo
Salta sobre el conejo marrón, perro viejo. Rápido!
Cadena u
Cadena v
Figura 2-25. Ejemplo – Block edit distance
Distancias basadas en subsecuencias
Las distancias basadas en subsecuencias corresponden al segundo grupo de distancias
(ver [Figura 2-24]). En este grupo se comparan las subcadenas contenidas en las
secuencias a comparar. A las subcadenas de longitud q se las suele denominar q-
grams [Kukich 92, Ukkonen 92].
La distancia q-grams se define como el número de q-grams comunes dividido por el
mínimo, media o máximo número de q-grams de las dos cadenas de caracteres a
comparar.
Los positional q-grams son una extensión de los q-grams con información sobre la
localización de los q-grams dentro de la cadena de caracteres, y sólo los q-grams que
están dentro de una distancia máxima de cada uno son los que son similares.
Los skip-grams se basan en la idea de no formar sólo bigrams (2-grams) de dos
caracteres adyacentes sino también formando bigrams que saltan uno o más
caracteres. Algunos skip-grams tienen propiedades que lo relacionan con operaciones
de edición como inserción, borrado y sustitución.
Distancias basadas en transposiciones
En el tercer grupo de distancias definidas en la [Figura 2-24] se encuentran las
distancias basadas en transposiciones. La idea es utilizar la transposición de los
elementos por los que están formados las dos secuencias a comparar. En este tipo de
distancia las secuencias a comparar están compuestas de valores cuyo orden no es
importante y lo que se necesita conocer es si dos secuencias dadas tienen los mismos
Estado de la Cuestión
87
valores en un intervalo cuyo rango se ha definido previamente. La distancia de Jaro
[Jaro 89, Jaro 95] se basa en esta idea. Dados dos conjuntos de caracteres u y w, se
define:
el carácter ui para que u sea común con w entonces tiene que haber un wj= ui tal
que i – H ≤ j ≤ i + H, donde 2
),min( wuH .
u'=u'1 ... u'k como el conjunto de caracteres de u que son comunes con w (en el
mismo orden en que aparecen en u). De forma análoga para w'=w'1,...,w'k.
una transposición para u’, w’ como una posición i tal que u'i ≠ w'i.
Tu',w' como la media del número de transposiciones para u’ y w’.
Una vez descritos los anteriores postulados, se define la distancia de Jaro como viene
representa en la [Expresión 2-33].
'
'''
3
1),(Jaro de Distancia
','
u
Tu
w
w
u
uwuD
tu
Jaro
Expresión 2-33. Distancia de Jaro
Winkler [Winkler 90, Winkler 99] define una variante de la distancia de Jaro
representada en la [Expresión 2-34] (distancia de Jaro-Winkler), donde P es la
longitud del prefijo común más largo de u y w y P’= max(P, 4).
)),(1(10
'),(),(Winkler-Jaro de Distancia wuJaro
PwuJarowuD WJ
Expresión 2-34. Distancia de Winkler
Distancias basadas en términos
Las distancias basadas en términos corresponden al cuarto grupo definido en la
[Figura 2-24]. Estas distancias consideran a la secuencia de caracteres u como un
conjunto de elementos o términos. Por tanto, al igual que ocurre con las distancias
basadas en transposiciones, el orden de los términos no es relevante en el cálculo de la
distancia al tratar a u y a w como dos conjuntos de términos.
Una de las distancias basadas en términos más conocida es la distancia de Jaccard
[Jaccard 12]. Sea U el conjunto de los caracteres contenidos en u y W el conjunto de
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
88
caracteres contenidos en w, la distancia de Jaccard mide la relación del número de
términos comunes de los dos conjuntos respecto al número de términos totales de la
unión de estos dos conjuntos, tal y como muestra la [Expresión 2-35].
WU
WUwuDJaccard
),(Jaccard de Distancia
Expresión 2-35. Distancia de Jaccard
La distancia Bag Distance [Bartolini et al. 02] elimina los elementos comunes de las
dos secuencias y después toma el máximo de los elementos residuales tal y como se
define en la [Expresión 2-36].
max),( BD Distancia wuDBD{ UWWU , }
Expresión 2-36. Distancia Bag Distance
En algunas aplicaciones la medida se normaliza dividiéndola por max(|u|, |w|), dando
una distancia en el rango del intervalo [0, 1].
La distancia TFIDF o cosine similarity [Salton et al. 75] también es una distancia
basada en términos. Al igual que la distancia de Jaccard, esta distancia depende de los
términos comunes pero en este caso los términos tienen un peso asociado dependiente
de la frecuencia de aparición de los mismos. De este modo los términos mas raros, es
decir, que menos aparezcan, serán aquellos que tengan un mayor peso. Sea TFt,U la
frecuencia de la palabra t en U e IDFt la inversa de la fracción de los nombres en el
corpus7 que contiene a t; la distancia TFIDF o cosine similarity se define tal y como
se indica en la [Expresión 2-37].
)log()1log(),('
),('/),('),(
),(),(),(TFIDF Distancia
,
'
2
tUt
w
WUt
TFIDF
IDFTFUtV
UtVUtVUtV
WtVUtVWUD
Expresión 2-37. Distancia TFIDF (cosine similarity)
En [Dagan et al. 99] se considera que un conjunto de términos U pueden ser muestras
de una distribución de términos desconocida PU y por tanto la distancia entre U y W
puede venir definida basándose en estas distribuciones. En la [Expresión 2-38] se
7 Conjunto de las palabras de U y de W.
Estado de la Cuestión
89
define la distancia de Jensen-Shannon [Cohen et al. 03a] la cual se basa en esta
idea. En esta expresión KL(P||Q) es la divergencia de Kullback-Lieber8 y las
distribuciones son estimadas utilizando máxima probabilidad y un modelo mixto
[Lafferty y Zhai 01] entre Dirichlet (con α=1) y Jelenik-Mercer (con λ=0.5).
))()((2
1)(
))||()||((2
1),(S-J Distancia
tPtPtQ
QPKLQPKLWUD
WU
WUSJ
Expresión 2-38. Distancia de Jensen-Shannon
La última distancia basada en términos que se describe en este apartado es la
distancia SFS [Cohen et al. 03a], una extensión del método propuesto por Fellegi y
Sunter [Fellegi y Sunter 69]. Dados dos conjuntos de registros U y W, se define:
WUX e WUY
Para YXWUZ ,,, se define
o PZ(t) una probabilidad empírica de un nombre que contiene el término t
en el conjunto Z.
o eZ la probabilidad empírica de un error en un nombre del conjunto Z.
o eZ,0 la probabilidad de un nombre ausente en el conjunto Z.
o eT la probabilidad de dos nombres correctos pero diferentes de U y W.
o e = eU + eW + eT + eU,0 + eW,0
Fellegi y Sunter proponen un rango de pares u, w por el ratio representado en la
[Expresión 2-39], donde S es la clase de los pares similares y N la clase de los pares
que no son similares. Consideran que bajo ciertas suposiciones la [Expresión 2-40] es
cierta, donde AGREE (u, w, t) denotan al evento de ―que tanto u como w contienen a
t‖.
),|(
),|(log
wuNP
wuSP
r
r
Expresión 2-39. Ratio utilizado por Fellegi y Sunter
8 Es una medida de la diferencia entre dos distribuciones de probabilidad
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
90
)1)(()()),,(|Pr(
)1)(()),,(|Pr(
etPtPtwuAGREEN
etPtwuAGREES
WU
X
Expresión 2-40. Probabilidades definidas por Fellegi y Sunter
Introduciendo dos nuevas suposiciones sugeridas por Fellegi y Sunter y asumiendo:
(a) que las similaridades con el término t son independientes
(b) )()()()( tPtPtPtP YXWU
se obtiene que la medida obtenida de los ratios asociados con AGREE(u,w,t) se
simplifica a ―log PY (t)‖. Fellegi y Sunter realizan estimaciones para
)),,(|( twuAGREESP y )),,(|( twuAGREENP pero los parámetros de los errores
eU, eW,… no se eliminan y por tanto se deja una constante de penalización,
independiente de t, para representarlos. Teniendo en cuenta esto, se introduce la
variable de penalización de k log PY (t), donde k es un parámetro configurable por el
usuario. A este método se le llama distancia SFS.
Distancias híbridas
Las distancias híbridas son el quinto y último grupo definido en la [Figura 2-24].
Estas distancias utilizan para su definición el resto de distancias. De este modo, para
definir una distancia híbrida se podrían utilizar distancias de edición y distancias
basadas en términos. Monge y Elkan [Monge y Elkan 96, Monge y Elkan 97]
proponen un esquema de similaridad recursivo para comparar dos secuencias de
caracteres u y w. Una vez que se dividen las secuencias de caracteres u y w en
subsecuencias, u = u1, ... ,uK y w = w1, ... ,wL, y se selecciona una distancia secundaria
sim’, se define la distancia por esquema de similaridad recursivo con la siguiente
expresión:
K
i
ji
L
iER wusim
KwuD
11
),('max1
),(Recursivo Esquema Distancia
Expresión 2-41. Distancia por esquema de similaridad recursivo
En [Cohen et al. 03a] se realizan experimentos utilizando la distancia de Monge-
Elkan, la distancia de Jaro y la distancia Jaro-Winkler como la distancia secundaria
Estado de la Cuestión
91
sim’. Además, implementan una versión de la distancia TFIDF llamada distancia
softTFIDF. En la [Expresión 2-42] se define la distancia softTFIDF donde
),,( WUCLOSE es el conjunto de los términos Uu tal que existe algún
Ww con ),(' wusim
),('max),( wusimTuN Ww
wt(x,U) es el peso TFIDF de la palabra x en U.
),,(
),(),(),(),(SoftTFIDF DistanciaWUCLOSEx
SoftTFIDF WxNWxwtUxwtWUD
Expresión 2-42. Distancia softTFIDF
2.4.2. Técnicas de Transformación de Series Temporales
Como se ha comentado en apartados anteriores la elección de la distancia depende del
dominio de aplicación, siendo la distancia Lp, en el caso de secuencias temporales
numéricas (en concreto la distancia Euclídea), o la distancia de edición, en el caso de
secuencias temporales de caracteres, dos de las más utilizadas para medir la similaridad
entre dos secuencias temporales. Sin embargo, en muchos casos, esto no es suficiente
dado que es necesario un paso previo de limpieza y transformación de las secuencias
temporales a comparar antes de proceder a la comparación propiamente dicha. En la
mayoría de los casos la representación de las secuencias, según la transformación
seleccionada, afecta en gran medida a la eficiencia del análisis data mining que se
realice con ellas. El objetivo es tratar de reducir la dimensionalidad para aumentar la
eficiencia del algoritmo, facilitar la comparación o sesgarlo en un determinado sentido.
Para ello se suelen utilizar transformaciones junto con una estructura de indexación
utilizada por el algoritmo de data mining.
En la [Figura 2-26] se presentan los tipos de transformaciones de series temporales
existentes en la literatura. Estas transformaciones se han divido según el tipo de series
temporales a las que se puedan aplicar. De este modo se tienen transformaciones
numéricas, para secuencias temporales numéricas o transformaciones de secuencias de
caracteres.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
92
Basadas
en funciones
MDPP
Basadas
en landmarks
PieceWise
Cambio de
Dominio Espectral
Wavelet
Singular Value
Decomposition
SDL
SDA
SAX
Tranformaciones
de
Series Temporales
Transformaciones
Numéricas
Transformaciones
en Series Temporales
de caracteres
PCA/PAA
APCA
Fourier Discreta
Haar
Daubechies
Dbn n>1
Symmlets
Biortogonales
Coiflets
Coseno Discreta
Seno Discreta
Figura 2-26. Transformaciones de Series Temporales
2.4.2.1. Transformaciones de Series Temporales Numéricas
Una de las transformaciones numéricas más comunes son las basadas en funciones
[Figura 2-27] como, por ejemplo, desplazamientos en los ejes x e y.
Dentro de este tipo de transformaciones se encuentra la transformación por
desplazamiento [Figura 2-27 (a)], que hace que la secuencia transformada se desplace
en el eje y, desplazamiento que viene determinado por un factor constante k. Cuando
la transformación de la secuencia es un escalado en el eje y, determinado por una
constante k, se denomina transformación por escalado uniforme de la amplitud
[Figura 2-27 (b)]. Si en el lugar de utilizar una contante k se utiliza una función g(t) se
llamará transformación por escalado no uniforme en la amplitud [Figura 2-27 (c)],
siempre y cuando se conserven los mismos máximos y mínimos que la secuencia
original f(t), es decir, para cada t, g’(t)=0 si y sólo si f’(t)=0. En la transformación por
escalado uniforme en el tiempo [Figura 2-27 (d)] la secuencia original se ha escalado
respecto al eje x por una constante k, por eso se denomina transformación uniforme en
el tiempo. Si en lugar de utilizar una constante k se utilizara una función g(t)9
entonces se trataría de la transformación Time-Warping [Figura 2-27 (e)]. La
9 Función positiva y monótona creciente
Estado de la Cuestión
93
transformación también puede realizarse respecto a los dos ejes x e y, tiempo y
amplitud, por una única constante k. Este es el caso de la transformación en la
amplitud/tiempo. [Figura 2-27 (f)].
(a) (b) (c)
(d) (e) (f)
Figura 2-27. Transformaciones basadas en funciones. (a)Transformación por desplazamiento.
(b)Transformación por escalado uniforme de la amplitud. (c) Transformación por escalado no
uniforme en la amplitud. (d)Transformación por escalado uniforme en el tiempo. (e)Transformación
Time-Warping. (f)Transformación en la amplitud/tiempo.
Aunque este tipo de transformaciones suelen facilitar la labor de análisis de las
secuencias numéricas, no reducen la dimensionalidad y por tanto no suelen mejorar la
eficiencia del modelo de descubrimiento de conocimiento. A continuación se
describirán transformaciones que sí reducen la dimensionalidad de las series
temporales.
La transformada por MDPP (Minimal Distance/Percentage Principle) [Perng et al.
00] tiende a suavizar los picos y los hundimientos de la secuencia temporal con el
objetivo de poder eliminar el ruido que pueda contener la secuencia. Se define de la
siguiente manera: Dada una secuencia temporal de puntos (x1,y1), …, (x2,y2), una
distancia mínima D y un porcentaje mínimo P, se eliminan los puntos (xi,yi) y
(xi+1,yi+1) si se cumplen las siguientes dos condiciones:
0
2
4
6
8
10
12
14
1 2 3 4 5 6 7 8 9
f(t) f(t)+k
0
5
10
15
20
25
1 2 3 4 5 6 7 8 9
f(t) f(t)k
0
5
10
15
20
25
30
1 2 3 4 5 6 7 8 9
f(t) g(t)
-2
0
2
4
6
8
10
12
1 2 3 4 5 6 7 8 9 10 11 12 13 14
f(t) f(g(t))
0
5
10
15
20
25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
f(t) kf(t/k)
0
2
4
6
8
10
12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
f(t) f(kt)
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
94
xi+1-xi < D
(|yi+1-yi| / ((|yi| - |yi+1|)/2)) < P
Expresión 2-43. Regla del MDPP
En la [Figura 2-28] se muestra el resultado de la MDPP aplicada a un punto (x2,y2) de
una secuencia temporal.
Figura 2-28. Transformación por MDPP
La transformación basada en landmarks se basa en la extracción de aquellos puntos
o zonas singulares de gran importancia para una secuencia temporal, como picos,
cambios de pendientes, etc. Estos puntos se denominan landmarks. Se basan en la
idea de que generalmente los humanos percibimos la similaridad entre series mediante
un procedimiento intuitivo fijando la atención en los picos, hundimientos, subidas y
bajadas fuertes de la secuencia temporal. Investigadores en Psicología consideran que
mucha de la evidencia y de la intuición de los humanos y animales viene de
landmarks para organizar su espacio temporal [Cheng y Spetch 98]. La investigación
de los episodios de memoria también ha producido resultados relacionados con la
organización de la memoria sobre eventos landmark. Por tanto esta técnica está
relacionada con la experiencia diaria obtenida. Así cuando se intenta memorizar una
secuencia temporal lo que se hace es intentar recordar aquellos puntos o zonas donde
existe algún máximo o mínimo significativo, eliminando aquellos que no son
significativos. Después, para intentar reconstruir la secuencia temporal memorizada,
lo que se hace es unir los puntos que se han memorizado.
Sin embargo, cuando el procedimiento humano hay que trasladarlo a un método
automático, se necesita utilizar una serie de mecanismos que ayuden a lograrlo. Se
debe tener en cuenta que las técnicas que permitan transformar la secuencia temporal
Estado de la Cuestión
95
original pueden eliminar puntos que sean significativos para el resultado de una
búsqueda o de la propia comparación. Por eso es importante estudiar el dominio
donde se pretende aplicar la técnica, para no perder información de importancia con
estas transformaciones.
En [Perng et al. 00] se presenta un modelo de landmark genérico. En este caso se
definen landmarks de orden n-ésimo de una función unidimesional a los puntos en
que la derivada n-ésima sea cero. De este modo, los landmarks de primer orden son
puntos extremos (máximos y mínimos locales), los de segundo orden son puntos de
inflexión, y así sucesivamente.
Las transformaciones PieceWise se basan en aproximar la secuencia temporal por
un conjunto de segmentos de valor constante.
La transformación Piecewise Constant Approximation (PCA) [Yi y Faloutsos 00] o
Piecewise Aggregate Approximation (PAA) [Keogh et al. 00] consiste en la división
de la secuencia temporal en N segmentos de igual longitud. Por cada segmento de la
secuencia se calcula la media, la cual puede ser utilizada como un coordinador de un
vector de indexación N-dimensional. Esta simple reducción de la dimensionalidad
presenta notables ventajas:
La propia transformada es más rápida que la mayoría de las otras
transformaciones
Es fácil de entender e implementar
Incluye medidas de la distancia más flexibles que la distancia Euclídea
El índice para una estructura de indexación se puede construir en un tiempo
lineal
Figura 2-29. Representación de la Piecewise Aggregate Approximation
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
96
En la [Figura 2-29] se representa la transformación X’ de una secuencia temporal X
aplicando PAA.
Una vez transformada la secuencia mediante PAA se debe utilizar una medida de la
distancia que cumpla ),(),( yxDyxD PAAPAA
PAA [Keogh et al. 00]:
N
i
PAA
j
PAA
iPAAPAAPAA yxN
nyxD
1
2),(),(
Expresión 2-44. Distancia para transformaciones PAA
La transformación Adaptative Piecewise Constant Approximation (APCA) [Keogh
et al. 01] es similar al PCA excepto que los segmentos no necesitan ser de igual
longitud. Así las regiones con más fluctuaciones podrían ser representadas con
segmentos cortos mientras que las regiones con características razonables podrían
representarse con menos segmentos pero más largos. Esto hace que la compresión sea
más efectiva que en el caso de la PCA.
Las transformaciones a cambios de dominio espectral tienen como objetivo
transformar las secuencias temporales originales al dominio de la frecuencia. Este es
el caso del método presentado por Agrawal, Faloutsos y Swami [Agrawal et al. 93a].
En este método se propuso utilizar la Transformada de Fourier Discreta (TFD) para
reducir la dimensionalidad en la búsqueda de secuencias temporales similares. La
TFD de una secuencia temporal x
= [xt], para t = 0, ..., n-1, se define por una
secuencia X
de números complejos Xf, que se calculan según la [Expresión 2-45].
)2
()2
cos()2
exp(
y )1-(j imaginaria parte la es j donde
1-n0,1,...,f )2
exp(1 1
0
n
ftsenj
n
ft
n
ftj
n
ftjx
nX
n
t
tf
Expresión 2-45. Transformada de Fourier Discreta
La idea es transformar las secuencias temporales al dominio de la frecuencia tomando
sólo los primeros k coeficientes de Fourier, los cuales representarán a la secuencia
original en un punto de un espacio k-dimensional.
Estado de la Cuestión
97
Después de aplicar esta transformación, Agrawal utiliza una estructura de indexación
R-tree donde se sitúan los puntos que representan las secuencias. Dos secuencias se
consideran similares si su distancia Euclídea es menor que un valor umbral
predefinido. Rafiei y Mendelzon [Rafiei y Mendelzon 97, Rafiei y Mendelzon 98]
utilizan esta estructura de indexación para obtener secuencias temporales similares
cuyas diferencias podrían ser eliminadas mediante transformaciones basadas en
funciones, como el escalado en el tiempo.
La Transformada de Coseno Discreta (TCD) o la Transformada de Seno Discreta
(TSD) son una variante de la TFD. Estas transformaciones sólo utilizan para su
definición la función coseno o la función seno respectivamente. La TSD se suele
utilizar en la resolución parcial de ecuaciones diferenciales por métodos espectrales
[Pinchover y Rubinstein 05].
En la reducción de la dimensionalidad, al igual que la TFD, la TCD es una de las más
utilizadas gracias a su eficiente capacidad de compresión [Rai y Yip 90]. La TCD se
suele utilizar en la compresión de imágenes y video [Marpe et al. 03, Pennebaker y
Mitchell 93, Radha et al. 01].
Existen muchas más transformaciones relacionadas con el análisis de Fourier, como
son la Transfomada de Fourier Discreta en Tiempo (TFDT) [Oppenheim y Schafer
99], la Transformada Z (TZ) [Attar 05, Jury 73], la Transformada de Fourier
Discreta Modificada (TFDM) [Nikolajevic y Fettweis 03, Chen et al. 03], la
Transformada de Hartley Discreta [Bracewell 84, Bracewell 95] o la Transformada de
Hadamard [Hadamard 23]. La transformada que se debe seleccionar depende en gran
medida del dominio de aplicación a analizar, seleccionando aquella transformada
cuyas bondades se ajusten mejor al dominio en cuestión.
La principal desventaja de la Transformada de Fourier es que se fija en la frecuencia y
no en el tiempo. Esto significa que aunque es capaz de determinar todas las
frecuencias presentes en una serie, no se conoce dónde están presentes en el tiempo.
La Transformada Wavelet (TW) utiliza una ventana que se desplaza por cada
posición de la serie calculando su espectro. Este proceso se repite varias veces, con
diferentes tamaños de ventana. Al final del resultado se obtiene una colección de
representaciones tiempo-frecuencia con diferentes resoluciones. En el caso de las
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
98
wavelets no se suele hablar de representaciones tiempo-frecuencia sino de
representaciones escaladas en el tiempo, dejando el término frecuencia reservado a la
Transformada de Fourier.
Las wavelets son un conjunto de funciones base ortonormales con numerosas
propiedades, y que se generan a partir de dilataciones y traslaciones de una wavelet
padre (o función escalado), , y de una wavelet madre (o función wavelet), ,
asociadas a un Análisis de Multiresolución r-regular de )(2 L [Mallat 89].
La wavelet padre, , se construye como la solución de la ecuación de dilatación:
)2(2)( lxhxl
l
Expresión 2-46. Función wavelet padre
para un conjunto de coeficientes filtro adecuados, hl [Vanucci 98]. La wavelet madre,
, se define a partir de la wavelet padre, , como
)2(2)( lxgxl
l
Expresión 2-47. Función wavelet madre
con coeficientes filtro l
l
l hg 1)1( . Las wavelets se obtienen mediante translaciones
y dilataciones de las dos anteriores:
)2(2
)2(2
2/
,
2/
,
kx
kx
jj
kj
jj
kj
Expresión 2-48. Wavelets
Cualquier función f de )(2 L se puede aproximar a través de wavelets.
Concretamente la wavelet padre, , proporciona buenas aproximaciones para las
funciones suaves mientras que la wavelet madre, , es útil para aproximar funciones
con fluctuaciones locales. Así f se puede representar por una serie de wavelets tal que
Estado de la Cuestión
99
0
00)()()( ,,,,
jj Zk
kjkj
Zk
kjkj xdxcxf
Expresión 2-49. Transformada Wavelet
con coeficientes
dxxxffc kjkjkj )()(, ,,, 000
Expresión 2-50. Coeficientes aproximados
dxxxfxfd kjkjkj )()()(, ,,,
Expresión 2-51. Coeficientes detallados
La [Expresión 2-49] se puede interpretar como una aproximación de la función f a
escala j0 más un conjunto de información extra (detalles en la terminología de las
wavelets) sobre f, a una escala más fina.
Existen varias formas de calcular los coeficientes de las wavelets de una función f.
Una de las más comunes es mediante el Algoritmo de Cascada o Algoritmo Piramidal
propuesto por Mallat [Mallat 89]. Siguiendo a [Härdle 98], Zkj , los coeficientes
kjc , y kjd , verifican
l
ljklkj chc ,12,
Expresión 2-52. Filtro paso-bajo
l
ljklkj cgd ,12,
Expresión 2-53. Filtro paso-alto
Estas relaciones definen el Algoritmo de Cascada. La transformación descrita por la
[Expresión 2-52] recibe el nombre del filtro paso-bajo, y la transformación descrita
por la [Expresión 2-53] recibe el nombre filtro paso-alto. En la [Figura 2-30] se
representa de forma visual el Algoritmo de Cascada.
x[n]
g[n]
h[n]
↓2
↓2
g[n]
h[n]
↓2
↓2
g[n]
h[n]
↓2
↓2
Coeficientes
Nivel 1
Coeficientes
Nivel 2
Coeficientes
Nivel 3
Figura 2-30. Diagrama de bloques. Algoritmo de Cascada
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
100
Existen diferentes familias de las wavelets propuestas por distintos autores. Las dos
funciones wavelets más populares son la función Wavelet Haar [Haar 10] y la función
Wavelet Daubechies [Daubechies 88].
)2(2),,(
201
201
)(
2 ktHaarkjtHaar
TT
si
Ttsi
tHaar
j
j
Expresión 2-54. Función Wavelet Haar con escalado j y desplazamiento k
La función Wavelet Haar es la menos costosa de calcular. La función madre Haar
como sus derivadas, por dilatación (o desplazamiento) y escalado, vienen definidas en
la [Expresión 2-54].
En la [Figura 2-31] se muestra la representación gráfica de esta función.
Escalado
y
Desplazamiento
Haar(t)
-1-1
1
Tt
)2( tHaar j
)(tHaar
)2( ktHaar j
kj2
)1(2 kj
j2t
t
Figura 2-31. Función de Haar. Escalado y Desplazamiento
Con la transformada Wavelet Daubechies cualquier función continua puede
expresarse como una combinación lineal de sus funciones base. Las funciones
continuas pueden ser representadas por una base ortonormal de funciones
sinusoidales, utilizando la expansión de Fourier. Sin embargo la transformada wavelet
de Daubechies permite utilizar funciones base en un intervalo finito en lugar de
utilizar las funciones base sinusoidales. Dependiendo del número de funciones, n, en
la combinación lineal se tendrá la Transformada Wavelet Daubechies D4, D12, D20,
etc. Para la D4 se tienen los coeficientes definidos en [Expresión 2-55], y se definen
las funciones de wavelet padre y wavelet madre tal y como se define en la [Expresión
2-56].
Estado de la Cuestión
101
03122130
3210
,,,
24
31,
24
33,
24
33,
24
31
hghghghg
hhhh
Expresión 2-55. Coeficientes para Daubechies D4
32322212120
32322212120
D4 madreFunción
D4 padreFunción
iiiii
iiiii
sgsgsgsgc
shshshsha
Expresión 2-56. Función escalado y wavelet. Daubechies D4
En la [Figura 2-32] se muestra gráficamente la función escalado y wavelet para D4.
En la [Figura 2-33] y [Figura 2-34] se muestran las funciones wavelet padre y wavelet
madre para D12 y D20 respectivamente.
Wavelet padre
Wavelet madre
Figura 2-32. Función wavelet madre y padre para Daubechies D4
Wavelet madre
Wavelet padre
Figura 2-33. Función wavelet madre y padre
para Daubechies D12
Wavelet madre
Wavelet padre
Figura 2-34. Función wavelet madre y padre
para Daubechies D20
Las transformadas wavelets son utilizadas de forma extensiva para el
preprocesamiento de imágenes digitales. Dado que la mayor parte de las imágenes son
suaves (excepto por bordes ocasionales), es apropiado que las wavelets sean
razonablemente suaves, por tanto requiere que los filtros asociados sean apropiados
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
102
para obtener un buen suavizamiento y una capacidad de compactación adecuados. En
otras palabras, es deseable que el sistema de wavelets sea simétrico y de soporte
compacto. Daubechies [Daubechies 92] demostró que, excepto el sistema de wavelets
Haar, ningún sistema , puede ser simétrico y de soporte compacto al mismo
tiempo.
Las Wavelets Symmlets, propuesta por Daubechies [Daubechies 92], es una
modificación de la familia de wavelets de Daubechies para aproximarse a la
propiedad de simetría. Las wavelet Daubechies y Symmlets poseen momentos nulos
para las wavelets madre, pero no para las wavelets padre. En 1989, Coifman propuso
la idea de construir bases de wavelets ortonormales con momentos nulos tanto para
las wavelets padre como para las wavelets madre. Por tanto, Daubechies estableció
que esto se podría lograr mediante las Wavelets Coiflets [Daubechies 93].
Sin embargo, para mantener la propiedad de soporte compacto y la simetría de las
wavelets es necesario utilizar bases de Wavelets Biortogonales [Cohen et al. 92]. En
este caso se utiliza una wavelet para la descomposición de la secuencia y otra para la
reconstrucción. En la literatura actual se han diseñado diversos sistemas biortogonales
[Cohen et al. 92, Varga y Carpenter 92, Park y Kim 95, Sweldens 96]. Por ejemplo,
Tian y Wells [Tian y Wells 95] propusieron las Wavelets Biortogonales Coiflets.
El análisis wavelet es capaz de mostrar aspectos de la señal que otras técnicas no
logran encontrar. Esta transformada es muy útil en aplicaciones para la compresión
de datos, detectar características en imágenes o eliminar ruido de series temporales.
Todas las anteriores transformaciones se basan en la propia secuencia temporal para
realizar su cometido, es decir, en una base de datos de secuencias temporales, la
transformación de una secuencia es independiente del resto. Sin embargo en el caso
de la Singular Value Decomposition (SVD) [Wu et al. 96, Kanth et al. 98, Korn et al.
97, Keogh et al. 00] la transformación es global al conjunto de secuencias temporales
que conforman la base de datos. Se examinan todas las secuencias temporales y se
rotan de modo que el primer eje tiene una varianza posible máxima y el segundo eje
tiene una varianza máxima ortogonal respecto al primero, el tercer eje tendrá una
varianza máxima ortogonal respecto a los dos ejes anteriores, y así sucesivamente.
Estado de la Cuestión
103
2.4.2.2. Transformaciones en Series Temporales de Caracteres
El objetivo de este tipo de transformación es transformar una serie temporal,
compuesta por números, en una serie compuesta por palabras o símbolos. De este
modo se dispondrá de una serie de símbolos que caracterizarán a la secuencia
temporal a la cual representan. Estos símbolos suelen ser dependientes del dominio de
aplicación que se esté considerando.
En [Agrawal et al. 95] se presenta un lenguaje de definición de formas llamado Shape
Definition Language (SDL) para la obtención de objetos basados en formas
contenidas en históricos asociados con estos objetos. Cada objeto de la base de datos
tiene asociado un nombre que explica el comportamiento de la serie temporal en un
intervalo concreto. A los valores de ese intervalo se les denomina historia. De ese
modo, cada elemento de la historia es un símbolo que identifica el comportamiento de
la serie temporal en una unidad de tiempo (sube, baja un poco,...). Se trata de un
pequeño pero potente lenguaje que permite una amplia variedad de consultas sobre las
formas encontradas en los históricos temporales. Una característica interesante del
SDL es su capacidad de solapamiento borroso (blurry matching), que es aquel
solapamiento en el que el usuario se preocupa de la forma en general y no de detalles
específicos. Además, este lenguaje está implementado con operadores que reducen el
no-determinismo reduciendo a su vez el número de llamadas hacia atrás (back-
trackings) en la implementación.
La sintaxis para el alfabeto vendría dada por:
(alphabet (symbol lb ub iv fv))
Expresión 2-57. Definición del alfabeto SDL
donde symbol representa un símbolo del alfabeto y lb, ub, iv, fv son cuatro
descriptores que definen el símbolo. Los primeros dos, lb y ub son los límites inferior
(lower bound) y superior (upper bound) de la variación permitida desde el valor
inicial al valor final de la transición. Los últimos dos, iv y fv, especifican restricciones
del valor inicial (initial value) y final (final value) de la transición y pueden tomar los
valores zero (cero), nonzero (no cero) y anyvalue (cualquier valor). En la [Tabla 2-3]
se muestra un ejemplo del alfabeto.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
104
Symbol Description lb ub iv fv
up aumento ligero de la transición 0.05 0.19 anyvalue anyvalue
Up aumento grande de la transición 0.20 1.0 anyvalue anyvalue
down disminución ligera de la transición -0.19 -0.05 anyvalue anyvalue
Down disminución grande de la transición -1.0 -.19 anyvalue anyvalue
Appears transición de un valor cero a un valor no cero 0 1.0 zero nonzero
Disappears transición de un valor no cero a un valor cero -1.0 0 nonzero zero
Stable el valor final casi igual al valor inicial -0.04 0.04 anyvalue anyvalue
Zero tanto el valor inicial como el final son cero 0 0 zero zero
Tabla 2-3. Alfabeto SDL
Teniendo en cuenta los símbolos de SDL, la transformación a símbolos de la
secuencia temporal S [Figura 2-35] vendría determinada por la [Expresión 2-58].
Figura 2-35. Secuencia temporal S = (0 0 .02 .17 .35 .50 .45 .43 .15 .03 0)
(zero appears up up up down stable Down down disappears)
Expresión 2-58. Ejemplo 1: Transfomación de la secuencia S
Dependiendo del alfabeto que se tenga, puede haber más de una posible
transformación correspondiente a una secuencia temporal. Por ejemplo, otra posible
traducción de S [Figura 2-35] sería la siguiente:
(zero stable up up up down stable Down down stable)
Expresión 2-59. Ejemplo 2: Transformación de la secuencia S
Esta ambigüedad no causa inconsistencia para la consulta que se plantee porque el
usuario especificará el símbolo que desea para el solapamiento. Por ejemplo, si el
usuario ha preguntado por stable, se resolverá la ambigüedad entre stable y zero a
favor de stable.
Estado de la Cuestión
105
En [André-Jönsson y Badal 97] se presenta un método para codificar la forma de la
secuencia temporal en un alfabeto de caracteres, llamado Shape Description Alphabet
(SDA), para poder tratarla como texto y utilizar esta transformación para una
estructura de indexación de una dimensión. Para codificar la secuencia en un texto se
utiliza un método similar al propuesto en [Agrawal et al. 95]. Se construye la derivada
en el tiempo de la secuencia calculando la diferencia de amplitud entre dos muestras
adyacentes. Se mapea esa diferencia a un token. Seleccionando un alfabeto a medida
para este mapeo no sólo se podrán utilizar los ficheros de firmas como un índice, sino
que también se tendrá la habilidad de realizar blurry matching tal y como se describe
en [Agrawal et al. 95].
Primero se traduce la secuencia en un texto de secuencia de caracteres. Seguidamente
se desplaza una ventana por el texto, a partir de la cual se va creando la firma y se va
mapeando el string en un número de bits de la firma. La firma se almacena en el
fichero de firmas con un puntero al bloque de texto (representación 1D de la
secuencia) que ha sido utilizado para crear la firma.
Para lanzar consultas, simplemente se calcula la firma de la secuencia consulta 1D y
se hace una búsqueda lineal en el fichero de firmas. Las ventajas de este método
[André-Jönsson y Badal 97] respecto al [Agrawal et al. 95] son las siguientes:
El fichero de firmas es pequeño.
La simplicidad de probar hace que la búsqueda sea bastante rápida. Además
tiene una complejidad O(n) en el tiempo.
El SDA, subconjunto del alfabeto SDL, es suficiente para describir cualquier
secuencia. En la [Tabla 2-4] se muestra un ejemplo del SDA con cinco símbolos.
Símbolo Descripción lvalue hvalue
a aumento grande de la transición 5 -
u aumento ligero de la transición .2 4.99
s transición estable -1.99 1.99
d disminución ligera de la transición -4.99 -2
e disminución grande de la transición - -5
Tabla 2-4. Alfabeto SDA
Se calcula el valor diferencia entre dos puntos adyacentes y, dependiendo del
intervalo del símbolo, definido por lvalue y hvalue, se asignará un símbolo u otro.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
106
Estos valores son dependientes del dominio y es necesario encontrar los valores
óptimos para el dominio que se pretende analizar.
Figura 2-36. Secuencia S ={0 2 6 14 19 20 21 18 17 25 20 15 10 0}
La capacidad de SDA de poder realizar blurry maching no sólo permite conocer las
secuencias que son exactas a una secuencia consulta sino también todas las secuencias
que son similares a la secuencia consulta. Por ejemplo, sea la secuencia S: {0 2 6 14
19 20 21 18 17 25 20 15 10 0}, representada en la [Figura 2-36], y traducida
(utilizando SDA) a la secuencia ST: {u u a u s s d s a e e e e}; se pueden obtener
diferentes secuencias al realizar la traducción inversa de ST, pudiendo obtener S1: {4
8 25 28 27 26 22 21 30 20 10 0} o S2:{12 14 19 22 23 24 22 22 28 22 17 12}, ambas
representadas en la [Figura 2-37] y [Figura 2-38] respectivamente.
Figura 2-37. Secuencia S1=
{4 8 25 28 27 26 22 21 30 20 10 0}
Figura 2-38. Secuencia S2=
{12 14 19 22 23 24 22 22 28 22 17 12}
En [Lin et al. 02, Lin et al. 03, Chiu et al. 03] se propone Symbolic Aggregate
approXimation (SAX) como una aproximación para transformar secuencias
temporales numéricas a secuencias temporales simbólicas con dos objetivos:
Reducir la dimensionalidad de la secuencia temporal
0
5
10
15
20
25
30
1 2 3 4 5 6 7 8 9 10 11 12 13 14
tiempo
valo
r
0
5
10
15
20
25
30
35
1 2 3 4 5 6 7 8 9 10 11 12
tiempo
va
lor
0
5
10
15
20
25
30
1 2 3 4 5 6 7 8 9 10 11 12
tiempo
va
lor
Estado de la Cuestión
107
Cumplir que la distancia entre dos secuencias simbólicas es menor o igual que
la distancia de las dos secuencias temporales originales para, de ese modo,
poder utilizar técnicas de data mining (ver sección 2.2).
Esta aproximación está compuesta de dos partes. La primera parte transforma la
secuencia temporal nccC ,...,1 mediante PAA (Piecewise Aggregate
Approximation) tal y como se muestra en la siguiente figura:
0 20 40 60 80 100 120
C
C
Figura 2-39. Primera parte del SAX. Transformación PAA
De este modo, se consigue reducir la dimensionalidad de la secuencia C, pasando de
tener n elementos a estar representada en un espacio w-dimensional por un vector
wccC ,...,1 . El elemento i-ésimo de C viene determinado por la [Expresión 2-60].
1)1(
1
iw
nj
jcn
wc
Expresión 2-60. Elemento i-ésimo de C
La segunda parte del método consiste en ―discretizar mediante símbolos‖ los
segmentos obtenidos del PAA. Teniendo en cuenta que las series temporales siguen
una distribución Gaussiana [Larsen y Marx 86], se procede a utilizar esta distribución
para obtener los valores límite que definen las regiones, a partir de los cuales un
elemento de C , dependiendo de la región donde se encuentre, se traducirá al símbolo
que representa esa región. En la [Figura 2-40] se muestra un ejemplo donde la
longitud de C es 128, la longitud de C es 8 y el número de regiones de corte es 3,
dando como resultado la serie simbólica C = b a a b c c b c.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
108
c
c
aa
b
0
--
0 20 40 60 80 100 120
bb
c
Figura 2-40. SAX: Primero se transforma mediante PAA y después se
determinan los valores a partir de los cuales se traducen los coeficientes
PAA en símbolos SAX.
Para poder comparar dos secuencias simbólicas se generaliza la distancia entre dos
secuencias transformadas vía PAA [Expresión 2-44], denominándola MINDIST:
w
i
ii cqdistw
nCQMINDIST
1
2))ˆ,ˆ(()ˆ,ˆ(
Expresión 2-61. Distancia MINDIST para el SAX
La )ˆ,ˆ( ii cqdist se obtiene a partir de una tabla que se ha creado utilizando la
distribución Gaussiana. En la [Tabla 2-5] se muestra un ejemplo de esta tabla
considerando un alfabeto de cardinalidad cuatro.
a b c d
a 0 0 0.67 1.34
b 0 0 0 0.67
c 0.67 0 0 0
d 1.34 0.67 0 0
Tabla 2-5. Tabla para la función MINDIST
para un alfabeto de cardinalidad 4.
Ejemplo, dist(a,b)=0, dist(a,c)=0.67
CAPÍTULO 3. PLANTEAMIENTO DEL PROBLEMA
Planteamiento del problema
111
3.1. Motivación
Son numerosas las técnicas de data mining que se han desarrollado para abordar una
amplia variedad de dominios y objetivos, algunas de las cuales se han descrito en el
capítulo anterior. La mayor parte de las técnicas o métodos existentes consisten en el
análisis numérico de los datos, más aún cuando los datos son secuencias temporales. Sin
embargo, en algunos dominios los resultados numéricos pueden resultar difíciles de
interpretar por el experto al estar muy alejados del lenguaje que él maneja y de los
procedimientos que él sigue. Por ello, se hace necesario el desarrollo de técnicas que
aborden el análisis de los datos desde un punto de vista simbólico, diseñando métodos de
razonamiento que manejen los conceptos usados por los expertos en el dominio, que
puedan así aportar un valor adicional a los resultados obtenidos.
Por lo tanto, aunque los resultados obtenidos mediante técnicas de análisis numérico
puedan ser equivalentes a los obtenidos por los expertos en el dominio, en muchos casos
no resulta fácil convencer a los expertos para que utilicen sistemas de estas características
(herramientas informáticas basadas en técnicas de análisis numérico de los datos). En la
mayor parte de las ocasiones, esto es debido a que el método utilizado no proporciona una
explicación de los resultados obtenidos expresada en los mismos términos y utilizando los
mismos conceptos que aquellos que los expertos manejan. Después de trabajar varios años
con métodos numéricos y constatar la problemática que ello entraña, el trabajo de
investigación que aquí se presenta se centra en el análisis simbólico de los datos como
medio de obtener unos resultados fácilmente inteligibles por los expertos y conseguir así
un alto grado de satisfacción en ellos que propicie un mayor interés por su parte en el uso
de herramientas de data mining.
La idea que subyace a la realización de este trabajo es que en muchos dominios es
necesario no sólo obtener patrones numéricos de comportamiento en series temporales o
conocer el valor de similitud entre dos secuencias temporales sino conocer los
comportamientos concretos de la serie temporal (picos, subidas bruscas, etc.) que tengan
un significado especial en el dominio en cuestión. En estos casos, sería deseable poder
identificar las secciones o regiones de la serie temporal donde aparecen dichos
comportamientos y poder analizar las series temporales por el contenido semántico de estas
secciones y no sólo por los valores numéricos que pueda tomar la serie temporal en cada
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
112
instante. Se podría traducir toda la serie temporal numérica a otra serie temporal simbólica
donde cada uno de los símbolos tuviera un significado relevante en el dominio. Una
secuencia temporal simbólica de este tipo aporta un valor añadido en el análisis de la serie
al llevar implícito contenido semántico. Este contenido semántico permite caracterizar la
propia secuencia temporal y, además, permite la definición de métodos de análisis y
comparación de las series temporales que utilicen los mismos conceptos utilizados por el
experto, lo que hace posible abordar el problema de una forma similar a como lo hace el
experto y mejorar sustancialmente la explicación y justificación de los resultados
obtenidos. Así, los datos numéricos serán transformados en datos simbólicos y todos los
métodos y técnicas desarrollados se aplicarán sobre estos datos simbólicos.
Para realizar este proceso de transformación será necesaria la incorporación de
conocimiento del dominio en el Marco propuesto de modo que los resultados obtenidos se
beneficien de este conocimiento tanto en los procesos de razonamiento que se realicen
como en la justificación de los propios resultados.
3.2. Objetivos
El objetivo central de este trabajo es el diseño de un Marco de Descubrimiento de
Conocimiento en Series Temporales Numéricas utilizando métodos simbólicos para el
análisis de las mismas. Este Marco de Descubrimiento de Conocimiento permite incorporar
conocimiento experto del dominio para que el resultado del análisis de las series
temporales sea fácilmente interpretable por el experto, y debe ser capaz de traducir las
secuencias temporales a secuencias simbólicas y determinar la similaridad existente entre
ellas y, además, debe incluir la funcionalidad de crear modelos de referencia simbólicos a
partir de un conjunto de secuencias simbólicas inicialmente seleccionadas.
Por tanto, el Marco de Descubrimiento de Conocimiento para series temporales numéricas
que aquí se plantea debe permitir la:
Transformación de las series temporales numéricas en secuencias simbólicas
empleando conocimiento experto
El Marco propuesto contará con un método que debe ser capaz de transformar la
serie numérica en otra simbólica, identificando las características más relevantes de
Planteamiento del problema
113
las diferentes secciones de la serie temporal. Estas características podrán variar de
un dominio a otro, pudiendo ser incluso totalmente diferentes. Así por ejemplo, las
posibles características de las series en el dominio de las cotizaciones en bolsa no
tienen por qué ser iguales a las de un electrocardiograma. Este hecho hace que el
método diseñado deba ser capaz de incorporar conocimiento experto del dominio
sin perder el nivel de generalidad necesario para que el Marco pueda ser utilizado
para cualquier dominio de aplicación con el menor número de cambios posible.
Por tanto este método proporcionará un mecanismo a partir del cual una serie
numérica será convertida en una secuencia simbólica con contenido semántico. Esta
secuencia simbólica caracterizará la serie numérica original a través de un conjunto
de conceptos que estarán estrechamente ligados a los utilizados por el experto en
ese dominio particular.
La secuencia simbólica será de utilidad para los usuarios por sí misma, al resaltar
los comportamientos más importantes de la serie temporal desde el punto de vista
de cada dominio. Asimismo, permitirá diseñar métodos de análisis del dominio que
trabajen en todo momento con los conceptos relevantes del mismo y no solo con
datos numéricos.
Comparación entre series temporales simbólicas
Una vez extraído el conocimiento experto de la serie numérica y transformada ésta
en una secuencia simbólica, se debe disponer de un sistema que sea capaz de
comparar dos secuencias simbólicas de forma que se pueda calcular cómo de
parecidas son entre sí (o se pueda comparar una serie con un modelo simbólico,
como se menciona más adelante).
La mayoría de las técnicas de data mining hacen uso de una medida de similaridad
que podrá ser por ejemplo utilizada por un algoritmo de clasificación, un algoritmo
de clustering, una técnica de búsqueda de patrones o un método de creación de
modelos de referencia, entre otros.
Este sistema de comparación debe ser capaz, al igual que ocurre con el método de
transformación de series numéricas a simbólicas, de incorporar conocimiento del
dominio con el fin de que los resultados se obtengan siguiendo un proceso lo más
parecido posible al que seguiría un experto.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
114
Creación de un modelo representativo de un conjunto de secuencias simbólicas
A partir de un conjunto de secuencias simbólicas con contenido semántico que
refleja el conocimiento experto (obtenidas previamente de un conjunto de series
temporales seleccionadas) y un método que permita medir el grado de similitud
entre dos secuencias simbólicas, se diseñará un método que sea capaz de crear un
modelo de referencia del conjunto de series simbólicas de entrada.
La creación de un modelo de referencia permite representar, en una única secuencia
temporal, un conjunto de secuencias temporales pertenecientes a un determinado
grupo de población. Se trata de diseñar un método que genere una única secuencia
simbólica (el modelo) que represente las características comunes a las secuencias
simbólicas de partida.
Alcanzar los objetivos propuestos permite obtener un Marco de Descubrimiento de
Conocimiento para series temporales numéricas que proporciona un nuevo método para el
análisis de las series temporales ya que éste se realiza desde la conceptualización de la
propia serie por parte del experto en el dominio de aplicación que se desee estudiar. Esto
permitirá razonar de modo parecido a como lo hace el experto, llegando a conclusiones de
la forma más parecida posible a como él lo haría, y justificar los resultados empleando los
conceptos usados por el experto en su trabajo habitual.
CAPÍTULO 4. MARCO PROPUESTO
Marco Propuesto
117
La Tesis propone un marco de trabajo para realizar data mining en series temporales
numéricas que, previamente, son transformadas en secuencias simbólicas. De esta manera
se abordan las distintas tareas de data mining mediante el análisis simbólico de las
secuencias en lugar de aplicar técnicas numéricas. De esta forma se consigue que tanto los
resultados como el procedimiento mediante el que se han obtenido dichos resultados, sean
fácilmente comprensibles por el usuario.
Este capítulo se encuentra dividido en dos grandes secciones. En la primera sección se
describe el Marco de Descubrimiento de Conocimiento en series temporales numéricas
utilizando métodos de análisis simbólico que se propone en esta Tesis. En la segunda
sección de este capítulo se muestra un ejemplo de aplicación del Marco de Descubrimiento
de Conocimiento que prueba su viabilidad. El dominio de aplicación elegido es el dominio
médico de la isocinesia.
4.1. Marco de Descubrimiento de Conocimiento
El Marco propuesto consta de un método de transformación que permite obtener
secuencias simbólicas a partir de series temporales numéricas, una medida de distancia que
permite conocer el grado de similitud entre dos secuencias simbólicas y un método para
crear modelos de referencia a partir de un conjunto de secuencias simbólicas previamente
seleccionadas. En las siguientes secciones se describirán en detalle cada una de estos
métodos.
4.1.1. Método de Extracción de Conocimiento y Transformación a Símbolos
Este método tiene por objetivo hacer explícito en las secuencias su contenido semántico.
Para ello, se convertirán las series temporales numéricas en secuencias simbólicas cuyos
símbolos recogerán dicho contenido semántico. En otras palabras, la nueva secuencia
simbólica reflejará el conocimiento de la serie temporal numérica usando los conceptos
a los que está acostumbrado el experto en el dominio.
En la [Figura 4-1] se muestra una serie numérica en la que se han señalado con
diferentes colores aquellas secciones que el experto consideraría necesarias para poder
realizar un análisis de la misma. En este ejemplo, las secciones en color rojo
corresponderían con picos y hundimientos, las secciones en color morado
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
118
corresponderían con curvaturas y las secciones en color marrón corresponderían a
ascensos y descensos. Estas secciones definidas por el experto corresponderían con
comportamientos relevantes para el análisis de la serie en el dominio correspondiente.
Figura 4-1. Secciones de interés para el experto en una serie numérica
En un primer momento se planteó el uso del método SAX (ver apartado 2.4.2.2) para
poder realizar esta transformación de las series numéricas. Este método es capaz de
reducir la dimensionalidad de la serie temporal y asegurar que las propiedades de la
distancia se mantienen en el espacio transformado asegurando que la distancia simbólica
utilizada es menor o igual que la distancia entre las dos secuencias originales. Sin
embargo, los símbolos obtenidos automáticamente por SAX (por medio de PAA
(Piecewise Aggregate Approximation) [Keogh et al. 00] y la distribución Gausiana), no
contienen conocimiento del dominio, es decir, no reflejan la semántica del dominio y no
son equivalentes a los símbolos que el experto identificaría cuando analiza una serie
temporal. Por este motivo se decidió usar otro método que permitiera utilizar el alfabeto
de símbolos que el experto maneja en su trabajo cotidiano.
4.1.1.1. Alfabeto de Símbolos
En cada dominio será necesario establecer el alfabeto de los símbolos que definen los
conceptos relevantes del dominio. Para ello es necesario planificar un conjunto de
sesiones de trabajo con el experto del dominio con el objetivo de extraer ese
conocimiento. Este conjunto de sesiones se encuadran dentro de las tres etapas del
proceso para la definición del alfabeto, que son (ver [Figura 4-2]):
Estudio del proceso de análisis del experto: esta etapa consiste en la
observación de la tarea que desarrolla el experto cuando analiza una serie
temporal. ¿Qué herramientas utiliza? ¿Qué datos adicionales necesita para
completar su análisis? Estas son algunas de las preguntas a las que se debe dar
Marco Propuesto
119
respuesta en esta primera etapa. El objetivo es disponer de toda la información
relativa al contexto de análisis del experto. Supone un primer acercamiento al
dominio del que se definirá el alfabeto de símbolos.
Estudio del proceso del análisis del
experto
Figura 4-2. Etapas del proceso de definición del alfabeto
Análisis de los conjuntos de datos disponibles: en esta etapa se obtiene toda la
información relevante que caracterice a los conjuntos de series disponibles.
Conocer si la información se encuentra clasificada o se puede clasificar por
algún criterio concreto es importante para realizar un mapa de datos que servirá
de apoyo en la determinación de las series que se emplearán para la definición
del alfabeto, a través del proceso iterativo de la etapa siguiente.
Selección – Análisis – Definición: esta etapa consiste en un proceso iterativo
compuesto por tres actividades:
o Selección de series temporales. Se selecciona un subconjunto de series que
representen a todas las posibles series del dominio a estudio. Generalmente
este subconjunto de series se divide en pequeños grupos que serán los que
se utilicen en las siguientes actividades.
o Análisis de las series. Se muestra al experto un grupo de series temporales
sobre las cuales el experto definirá los conceptos que utiliza normalmente
para referirse a determinados comportamientos de las series y determinará,
en su caso, en qué secciones de la serie pueden darse esos comportamientos.
o Definición del alfabeto: Los comportamientos que se han determinado
como relevantes para el análisis de la serie temporal, se caracterizan y se
etiquetan mediante un conjunto de símbolos, que son los que formarán el
alfabeto de símbolos del dominio. Esta tarea es dependiente del dominio.
Además, como se verá más adelante en el proceso de transformación a
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
120
símbolos (ver 4.1.1.2), se recoge toda la información complementaria para
ubicar esos comportamientos en la serie temporal.
Este proceso de Selección-Análisis-Definición es iterativo de modo que el
alfabeto de símbolos se va completando según se va extrayendo la información
sobre los comportamientos de las series temporales que el experto analiza.
Dependiendo de la complejidad del dominio, los símbolos podrían estar formados por
un solo término (símbolos simples) o, en el caso más general, por un conjunto de
términos (símbolos compuestos). En ambos casos, uno de los términos constituye el
núcleo de la estructura, y se corresponde con el comportamiento relevante que se
pretende representar, y el resto de los términos califican, o matizan, dicho
comportamiento. En esta memoria se podrá utilizar la palabra ―símbolo‖
indistintamente para referirse tanto al símbolo compuesto como al término que es
núcleo de la estructura. Así, por ejemplo, en la [Tabla 4-1] se muestra el alfabeto de
símbolos que podría utilizarse para representar series temporales como la que se
recoge en la [Figura 4-1]. En este caso, cada símbolo del alfabeto estaría compuesto
por dos términos: el comportamiento relevante detectado en la serie, marcado con
diferentes colores en la [Figura 4-1], y por el tipo que caracteriza a ese
comportamiento. Así, por ejemplo, las curvaturas posibles podrían ser curvatura-
aguda, curvatura-meseta, curvatura-irregular, que son los tres tipos de curvatura que
se representan en la [Figura 4-1].
Comportamiento/Símbolo Tipo
Ascenso Brusco Lento
Descenso Brusco Lento
Hundimiento Grande Pequeño
Pico Grande Pequeño
Curvatura Aguda Meseta Irregular
Tabla 4-1. Ejemplo de Alfabeto de Símbolos
El siguiente paso es la creación de un Método de Transformación a Símbolos
(METRASIM) que será el encargado de convertir la serie temporal en una secuencia
simbólica, la cual estará formada por los símbolos del alfabeto del dominio que se
desea analizar.
4.1.1.2. Método de Transformación a Símbolos (METRASIM)
El módulo que se encarga de transformar la serie numérica en una secuencia
simbólica, al que se ha denominado METRASIM, está dividido en dos partes
Marco Propuesto
121
diferenciadas. La primera parte es independiente del dominio (MID – Módulo
Independiente del Dominio) y por tanto aplicable y reutilizable para cualquier otro
dominio; la segunda parte, que es dependiente del dominio (MDD – Módulo
Dependiente del Dominio) que se esté tratando, será la que refleje realmente el
conocimiento del experto en cuanto a los símbolos que se han de considerar en el
análisis de una serie temporal.
Por lo tanto, a la hora de analizar una serie temporal, el módulo independiente del
dominio (MID) obtendrá un conjunto de características potencialmente válidas en
cualquier dominio. El resultado de este primer análisis servirá de entrada para el
módulo dependiente del dominio (MDD). De este modo el MID sería el mismo para
todos los dominios, siendo posible su reutilización en dominios diferentes, y sólo
cambiaría el MDD que es el que contiene la información sobre el Alfabeto de
Símbolos, dependiente del dominio. La [Figura 4-3] muestra un esquema de
utilización de METRASIM.
M
E
T
R
A
S
I
M
MDD
dominio isocinético...
Serie Isocinética Serie Bursátil Serie ECG...
Secuencia Isocinética Secuencia Bursátil Secuencia ECG...
...
...
MDD
dominio financiero
MDD
dominio cardiológico
MID
...
Figura 4-3. METRASIM aplicado a diferentes dominios
La labor del MID consiste en extraer características simples de una serie temporal
numérica, que son aquellos comportamientos de la serie en los que se fija, a primera
vista, una persona que analice la serie temporal. En concreto, estas características
simples corresponderán a picos y hundimientos, los cuales se pueden apreciar en
cualquier serie temporal independientemente del dominio escogido. Esto es así porque
en cualquier serie temporal numérica existen partes donde la serie sube o baja, y el
punto donde la serie efectúa este cambio de pendiente se considerará como un pico o
un hundimiento. Así, un hundimiento corresponde al punto donde la serie pasa de
bajar a subir y un pico corresponde al punto donde la serie pasa de subir a bajar.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
122
El MID realiza un rastreo secuencial de toda la serie recogiendo los picos y
hundimientos encontrados. Además de almacenar el punto donde se ha encontrado el
pico o el hundimiento, también se almacenan los siguientes datos relativos a cada
característica encontrada:
Punto: Valor del punto donde se encuentra el pico o el hundimiento.
Pendiente: Valor de la pendiente que se encuentra entre el punto del pico o
hundimiento y el punto anterior.
Inicial, Final: Valor de los puntos entre los que se encuentra el pico o el
hundimiento.
Duración: Valor que contiene la diferencia entre el punto Final y el punto
Inicial.
Amplitud: Valor que mide la altura del pico, o la profundidad del
hundimiento, dependiendo de si el Punto corresponde a un pico o un
hundimiento, respectivamente.
En la [Figura 4-4] se muestra una serie temporal a gran escala. En ella se detallan los
datos que se almacenarían en el caso de que la característica encontrada por el MID
fuera un pico.
Punto
Duración
Am
plitu
d
Inicial Final
pico
pico
pico
hundimiento
hundimiento
hundimiento
Figura 4-4. Datos asociados a la característica simple pico
Para finalizar la descripción de la funcionalidad del MID se debe hacer hincapié en el
hecho de que lo que se obtiene de este módulo es una serie de características simples
que vienen determinadas por el punto donde se localizan las mismas y unos datos
relativos al entorno donde se sitúan. El objetivo de estos datos es recoger, para cada
Marco Propuesto
123
característica, la máxima información posible independiente del dominio, información
que servirá de entrada para el siguiente módulo (MDD).
El MDD procesará la información que le proporciona el MID para poder obtener la
secuencia simbólica, la cual estará compuesta por los símbolos que han sido
previamente definidos en el Alfabeto de Símbolos del dominio a estudio. El MDD
puede utilizar tanto los datos calculados por el MID (la pendiente, la amplitud o la
duración) como datos estadísticos obtenidos directamente de la serie temporal (la
desviación típica, la varianza, el coeficiente de variación, etc.) para poder identificar
cada uno de los términos del símbolo (comportamiento, tipo,…).
El MDD identificará primero los comportamientos relevantes de la serie temporal y,
posteriormente, caracterizará cada comportamiento con su tipo asociado. De este
modo se obtendrán cada uno de los símbolos que forman la secuencia simbólica
correspondiente a la serie temporal original. En el ejemplo de la [Figura 4-1] se
muestra el resultado obtenido por el MDD para la serie representada.
4.1.2. Distancia Simbólica
Una vez diseñado el método que permite obtener una secuencia simbólica a partir de una
serie temporal numérica surge, la necesidad de encontrar una medida de distancia que
pueda ser utilizada para medir la similaridad entre este tipo de secuencias simbólicas y
que, por tanto, sirva como base para realizar tareas de data mining.
Las condiciones iniciales que debe tener en cuenta esta medida de similaridad son las
siguientes:
Cond 1. El orden de los símbolos de la secuencia es relevante. El hecho de que se
intercambien dos o más elementos de la secuencia simbólica hace que la
secuencia resultante no se corresponda con la original.
Cond 2. Se deben considerar todos los elementos de la secuencia simbólica. La
cardinalidad de las secuencias simbólicas a comparar puede ser distinta, y la
distancia definida debe tener en cuenta que todos los elementos de cada
secuencia juegan un papel importante en el cálculo de la similaridad. La
eliminación de algunos elementos de alguna de las secuencias a comparar
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
124
podría causar la pérdida de información esencial para la correcta obtención
de la similaridad entre dichas secuencias.
Analizando cuáles son las distancias, descritas en el apartado 2.4.1.2, que cumplen las
condiciones anteriores, se tiene que:
Las distancias de edición cumplen las condiciones excepto las distancias de
Hamming, Episode, LCS y Block Distances.
o La distancia de Hamming no consideraría todos los elementos de la
secuencia al considerar sólo secuencias de igual longitud.
o La distancia Episode trata de buscar una secuencia de eventos y por lo
tanto no tiene en cuenta todos los elementos de las secuencias originales.
o La distancia LCS no tiene en cuenta todos los elementos de la secuencia
simbólica ya que su cometido es buscar subsecuencias de mayor longitud.
o Las Block Distances no tienen en cuenta todos los elementos de la
secuencia y tampoco el orden de los mismos ya que define operaciones
entre subcadenas de caracteres que permiten reubicarlas y permutarlas.
Las distancias basadas en subsecuencias no cumplen las condiciones al no
considerar todos los elementos de las secuencias.
Las distancias basadas en transposiciones y basadas en términos no cumplen las
condiciones al no tener en cuenta el orden de los elementos.
Las distancias híbridas sólo podrán cumplir las condiciones si estas distancias
están formadas por distancias de edición que sí cumplen las condiciones.
De este primer filtrado, sólo un subconjunto de las distancias de edición son las que
seguirían siendo válidas al cumplir con las condiciones iniciales Cond 1 y Cond 2. Sin
embargo, la distancia que permita comparar secuencias simbólicas deberá cumplir una
condición adicional:
Cond 3. Se debe poder incorporar conocimiento del dominio en la definición de
la medida de similaridad. El objetivo es que el cálculo de la similaridad esté
influenciado por el conocimiento experto del dominio, afectando a todos los
términos de cada símbolo (comportamiento, tipo,…). Pensando en una
distancia de edición, la idea es que el conocimiento del dominio determine
Marco Propuesto
125
los costes de inserción, borrado y sustitución y, de este modo, la distancia
simbólica refleje mejor lo que los expertos consideran importante en cada
dominio.
Ninguna de las distancias de edición que cumplían las primeras dos condiciones (Cond 1
y Cond 2) cumple estrictamente esta última condición (Cond 3). De entre todas las
distancias de edición, la que más se acerca a las tres condiciones es la distancia de
Needleman-Wunsch (ver apartado 2.4.1.2). A esta distancia se le puede incorporar
conocimiento del dominio ya que asigna un coste fijo C a las operaciones de inserción y
borrado y un coste asociado a una función , que depende del dominio de aplicación, a
las operaciones de sustitución. No obstante, en algunas ocasiones, como en el ejemplo
que viene ilustrando este capítulo (ver [Tabla 4-1]), la secuencia simbólica no está
formada por símbolos simples sino por símbolos compuestos por dos o más términos,
como ascenso-brusco o pico-grande. Entonces se debería modificar la medida de
distancia para que tuviera en cuenta los matices introducidos por cada uno de los
términos de los símbolos de la secuencia.
Por tanto, será necesario extraer el conocimiento del dominio para poder establecer los
costes de sustitución, inserción y borrado. Dependiendo del número de símbolos del
alfabeto y de la composición de los símbolos esta tarea puede resultar bastante tediosa,
pudiendo exigir un esfuerzo considerable por parte del experto. Este esfuerzo se vuelve
aún mayor en las primeras fases de pruebas que son utilizadas para ajustar tales costes.
Tomando como ejemplo el alfabeto definido en la [Tabla 4-1], donde los símbolos están
formados por el comportamiento, o símbolo propiamente dicho, y el tipo, para definir
los costes de cada operación se podría pensar en utilizar una estructura en forma de
tabla, donde aparezcan todos los elementos comportamiento-tipo en las filas y columnas.
De este modo, en el caso de la operación de sustitución, por ejemplo, la casilla (i, j)
representaría el coste de sustituir el símbolo comportamiento-tipo i por el símbolo
comportamiento-tipo j. Si el número de comportamientos es n y el número medio de
tipos es m, el número de casillas que se deberían establecer se aproxima por la fórmula
((nxm)2
- nxm) / 2 (la tabla es simétrica y en la diagonal principal el coste será siempre
0). Además de su gran tamaño, esta tabla es poco flexible a la hora de introducir
cualquier cambio en el alfabeto de símbolos ya que exigiría un esfuerzo importante del
experto para reformularla en función de los cambios.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
126
Para subsanar estas dificultades, se recurrió a la utilización de una estructura en forma
de grafo, donde el coste principal de la sustitución de dos símbolos vendría determinado
fundamentalmente por el término comportamiento, mientras que el tipo de ambos
símbolos actuaría matizando dicho coste. La [Figura 4-5] muestra el grafo de sustitución
de los símbolos definidos en el alfabeto de la [Tabla 4-1]. En este caso el número de
valores que el experto debe definir se aproxima por la fórmula (n2-n)/2 + nxm, que,
obviamente, es una cifra muy inferior al correspondiente al número de valores de costes
que habría que determinar en el caso de la tabla. Además esta estructura es mucho más
flexible a la introducción de cualquier cambio en el alfabeto de símbolos y resulta
también más intuitiva para el experto.
Curvatura
Ascenso Descenso
Aguda
Meseta
Irregular
C(curv-a)
C(curv-m)
C(curv-i)
Pico Hund.
Lento
Brusco Brusco
Lento
C(asc-l)
C(asc-b)
C(des-l)
C(des-b)
Peq.
Grande Grande
Peq.
C(pic-p)
C(pic-g) C(hun-g)
C(hun-p)
C(asc-pic) C(des-hun)
C(pic-hun)
C(cur-des)C(cur-asc)
C(asc-hun) C(des-pic)
C(cur-pic) C(cur-hun)
C(asc-des)
Figura 4-5. Ejemplo de grafo de costes de sustitución
Los costes de realizar una inserción y un borrado se deben unificar para asegurar que la
comparación de dos series es simétrica. Por coherencia, se va a emplear también una
representación en forma de grafo para los costes de inserción y borrado, aunque en este
caso no existe variación en relación con el número de valores que el experto debe definir
respecto a la opción de haber trabajado con una tabla.
Además, existen una serie de circunstancias que se deben tener en cuenta si se quiere
diseñar una medida de distancia lo suficientemente general. Por una parte, cuando las
Marco Propuesto
127
secuencias temporales a comparar están segmentadas por zonas que tienen una identidad
propia respecto a las demás, no se debe utilizar directamente la distancia de edición ya
que en ese caso, esos segmentos se mezclarán unos con otros al buscar el mejor
alineamiento, perdiendo esa identidad propia. Por ello se establece una cuarta condición:
Cond 4. La distancia simbólica debe poder aplicarse de forma independiente a
distintos segmentos de la serie si el dominio lo exige. Las distancias de
edición (y, por tanto, la de Needleman-Wunsch) buscan el mejor
alineamiento entre las dos secuencias a comparar completas, pero la
distancia simbólica debe ser capaz de tratar la secuencia temporal como un
conjunto de subsecuencias consecutivas independientes entre sí.
Por otra parte, dado que se pretende utilizar la distancia para determinar la similaridad
entre dos secuencias simbólicas, se establece una última condición:
Cond 5. La distancia simbólica ha de estar normalizada. Con el fin de
transformar los valores de distancia en una medida de similaridad, una
distancia normalizada que proporcione los valores de distancia en el
intervalo [0, 1] permite obtener la similaridad como 1- distancia. Las
distancias de edición, y entre ellas la de Needleman-Wunsch, no están
normalizadas, lo que no permite que puedan ser usadas como medida de
similaridad en el marco que aquí se propone.
En la [Figura 4-6] se muestran los pasos para el cálculo de la Distancia Simbólica
propuesta. Se comparan las secuencias S1 y S2, que están segmentadas en n
subsecuencias con identidad propia. Primero se calculan las distancias de edición por
cada una de las n subsecuencias. Para ello se utiliza la distancia de edición simbólica que
se propone en esta Tesis, basada en la distancia de Needleman-Wunsch, que utiliza los
grafos de costes dependientes del dominio. Una vez obtenidas las diferentes distancias
de edición simbólicas (DESi, i=1,..,n) para cada par de subsecuencias, se aplica el
proceso de normalización que se basa en dividir el valor de distancia obtenido entre la
mayor distancia posible entre subsecuencias. Finalmente se realiza la media aritmética
de las n distancias normalizadas (DESNi, i=1,..,n) para obtener el valor de la Distancia
Simbólica.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
128
Distancias de Edición Simbólicas
Distancias de Edición SimbólicasNormalizadas
Distancia Simbólica
1. Cálculo de la distancias de edición simbólicas
2. Normalización
3. Cálculo de la media aritmética
DESN1 DESN2 … DESNn
DES1
S11 S12 … S1n
S21 S22 … S2nS2
S1
DES2 … DESn
Figura 4-6. Distancia Simbólica
En los dominios en los que las secuencias a comparar, S1 y S2, constan de un único
segmento (n=1), se calcularía una única distancia de edición simbólica, se normalizaría
esa distancia, y el paso 3, obviamente, no se aplicaría.
4.1.3. Método de Creación de Modelos Simbólicos
En el contexto de este trabajo, un modelo es una secuencia simbólica que representa a un
conjunto de secuencias simbólicas correspondientes a un conjunto de individuos
pertenecientes a un mismo grupo de población. El objetivo del modelo es conceptualizar
varias secuencias de un tipo concreto en una única secuencia representativa de todas
ellas.
Por tanto, una vez que se ha definido un método de transformación a símbolos para la
obtención de secuencias simbólicas a partir de series temporales numéricas y se ha
diseñado una medida que permite comparar estas secuencias simbólicas entre sí, el
siguiente paso consiste en diseñar un método que permita construir un modelo simbólico
de referencia que represente a un conjunto de secuencias simbólicas.
El objetivo consiste en diseñar un método que tenga en cuenta el contenido semántico
explícito de las secuencias simbólicas. Para ello se estudiaron las siguientes
aproximaciones.
Marco Propuesto
129
4.1.3.1. Fuerza Bruta
En la aproximación de fuerza bruta se parte de un conjunto de secuencias (CS)
seleccionadas inicialmente y una secuencia, a la que se denomina modelo candidato
(MC), generada de forma aleatoria a partir de la generación de una posible
combinación de símbolos del lenguaje. Posteriormente se compara el MC con todas
las secuencias del conjunto CS, y se obtiene la media de todas estas distancias
simbólicas. Esta media simbólica (MS) se compara con la mejor media (MM)
obtenida hasta el momento10. Si MS es menor que MM entonces el modelo (M) se
actualiza con el modelo candidato (MC), MM se actualiza con MS, y se vuelve a
generar otro MC. Si no es posible generar otro MC, porque ya se han generado todos
los posibles MCs con una longitud máxima igual a la máxima longitud de las
secuencias del conjunto CS, entonces se da por terminado el proceso dando como
resultado el modelo M, que es el modelo resultante representativo del conjunto de
secuencias simbólicas de partida.
Este proceso es el que se describe en la [Figura 4-7].
Si No
M. Modelo
MS. Media Simbólica
MC. Modelo Candidato
MM. Mejor Media
Comparar MC con todas las
secuencias
Obtener media de todas las
distancias simbólicas
Actualizar
MM = MS; M = MC
MS < MM
Si
No
Nuevo MCGenerar
MCConjunto de
secuenciasM
Figura 4-7. Creación del modelo simbólico por fuerza bruta
Aunque esta aproximación, desde el punto de vista teórico, calcularía el modelo de
referencia de un conjunto de secuencias simbólicas, fue descartada inicialmente
debido a sus dos principales inconvenientes:
10 La primera vez MM no tendrá ningún valor asignado y por tanto tomará el valor de MS.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
130
No existe un método óptimo para generar los mejores modelos candidatos ya
que éstos son generados de forma aleatoria (esto origina la siguiente
desventaja).
Se produce una explosión combinatoria en la generación de los modelos
candidatos.
Por tanto el principal problema que plantea esta aproximación es la propia generación
de modelos candidatos. Si se consigue obtener un mecanismo que mejore la
generación de modelos candidatos se solventarían las desventajas presentadas
anteriormente. Esto es lo que persigue la segunda aproximación, que se presenta a
continuación.
4.1.3.2. Generación de modelos candidatos
Esta aproximación sigue los mismos pasos que los detallados en la aproximación por
fuerza bruta pero incorpora la idea de generar modelos candidatos con un mecanismo
que ayude a converger hacia el modelo simbólico final. Para ello se pensó en la
utilización de los alineamientos que se realizan para calcular la distancia simbólica.
Por ejemplo, los mejores alineamientos entre las secuencias u=HOLA y w=OHLAS
son los que se muestran en la parte izquierda de la [Figura 4-8].
Figura 4-8. Alineamientos de las secuencias u = HOLA y w= OHLAS
El carácter ―-‖ representa una operación de inserción o borrado de algún símbolo
(letras en el ejemplo de la [Figura 4-8]), que se aplica con el objetivo de alinear las
dos secuencias. Entonces, se aplicará el operador de sustitución para las posiciones
cuyos símbolos aún no coinciden. Marcando con el carácter ―*‖ la necesidad de
Marco Propuesto
131
aplicar algún operador de edición, se podrían representar estos alineamientos como
posibles plantillas para generar modelos candidatos. De este modo la generación de
modelos candidatos no sería aleatoria sino que estaría dirigida por una serie de
plantillas, que se muestran en la parte derecha de la [Figura 4-8], lo que reduciría el
espacio de búsqueda significativamente.
Sin embargo el problema de esta aproximación surge cuando se intenta generalizar
para más de dos secuencias.
La distancia de edición simbólica para dos secuencias u y w (de longitudes n y m,
respectivamente) se calcula mediante la [Expresión 4-1], que se aplicará
iterativamente (con 1≤i≤n) y 1≤j≤m) para obtener el valor de cada una de las casillas
de una matriz de n x m elementos. La casilla (n, m) contiene el valor de la distancia
entre ambas secuencias. Un intento de generalización de la fórmula para tres
secuencias s, t y u, vendría dado por la [Expresión 4-2].
borrado // )1,(
nserción //i ),1(
titución //susw!u si)1,1(
ia //cop wu si)1,1(
minj)D(i,ji
ji
doCosteBorrajiD
ciónCosteInserjiD
tuciónCosteSustijiD
jiD
Expresión 4-1. Fórmula para el cálculo de la distancia de edición simbólica para dos secuencias u y w
k
j
i
i
j
k
kji
jki
kji
kji
kji
borrado_uinserción_// __)1,,(
borrado_tinserción_ // __),1,(
borrado_sinserción_ // __),,1(
borrado_sinserción_// __)1,1,(
borrado_tinserción_ // __)1,,1(
borrado_uinserción_// __),1,1(
n sustitució // u ! t! s if)1,1,1(
ón /sustituci / t! u s if)__()1,1,1(
n sustitució //u t! s if)__()1,1,1(
ustitución //su ! t s if)__()1,1,1(
pia //co u ts if)1,1,1(
min),,(
BorrInsCostekjiD
BorrInsCostekjiD
BorrInsCostekjiD
BorrInsCostekjiD
BorrInsCostekjiD
BorrInsCostekjiD
onderadoCosteSustPkjiD
tvsuCostSustkjiD
tvssCostSustkjiD
uvstCostSustkjiD
kjiD
kjiD
jk
ji
kj
Expresión 4-2. Generalización de la fórmula para el cálculo de la distancia de edición simbólica para
tres secuencias s, t y u
Como se puede apreciar en la [Expresión 4-2], la generalización de la distancia de
edición simbólica a tres secuencias hace que el proceso sea más laborioso y complejo
y por tanto más lento. Esto es debido a que existen muchísimas más posibilidades en
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
132
el cálculo de la distancia. A la vista de esto, se concluye que la generalización de la
expresión anterior a n secuencias resulta inviable.
Para generalizar la distancia de edición simbólica también se podría pensar en
comparar las secuencias de dos en dos y de ese modo sólo utilizar la [Expresión 4-1].
Por ejemplo, si se desean obtener las posibles plantillas para generación de modelos
candidatos de las secuencias s1=SPCHB, s2=DSSPCB y s3=SSPHCBP, se podría
pensar en comparar s1 con s2, utilizando la [Expresión 4-1], y comparar después el
resultado con s3. Lamentablemente este proceso es también inviable. Si el resultado de
comparar s1 con s2 es **SPC*B, ¿cómo debe tratar la [Expresión 4-1] los ―*‖ cuando
éstos pueden representar diferentes caracteres de las secuencias comparadas?
Por lo tanto, la opción de utilizar la distancia de edición simbólica para la generación
de modelos candidatos queda descartada debido a la imposibilidad de generalizar la
misma para n secuencias.
4.1.3.3. Programación Genética Guiada por Gramáticas (PGGG)
Una vez que las aproximaciones más sencillas no resultaron viables, hubo que
desarrollar otras ideas para resolver el problema.
Las secuencias simbólicas pueden ser consideradas como sentencias de un lenguaje
por lo que se pensó en la posibilidad de usar Programación Genética Guiada por
Gramáticas (PGGG) (ver apartado 2.3). Partiendo de una población inicial, compuesta
por secuencias simbólicas (representadas en forma de árbol de derivación), se irán
obteniendo las nuevas generaciones mediante la aplicación de unos operadores
genéticos de selección, cruce, mutación y reemplazamiento. El algoritmo cuenta con
unos criterios de convergencia y una determinada función fitness que mide la
adecuación de los candidatos a modelo (cada una de las secuencias de cada
generación) como representantes de la población de referencia.
En el caso del problema que aquí se trata de resolver (la obtención de un modelo de
referencia) se toma como población de referencia el conjunto de secuencias para las
cuales se quiere obtener el modelo. De este modo, la función fitness calcula la suma
de las distancias de cada secuencia candidata a todos los individuos de la población de
referencia.
Marco Propuesto
133
Debido a que en la PGGG los individuos que forman las poblaciones se representan
en forma de árbol de derivación, es necesario contar con una gramática de contexto
libre que genere todos los individuos válidos. Para el problema que aquí se aborda se
hace necesario definir una gramática de contexto libre [Chomsky 57] que genere las
secuencias simbólicas del dominio que se desee estudiar. Una vez definida la
gramática se necesita implementar el analizador sintáctico de dicha gramática, lo que
permitirá obtener los árboles de derivación correspondientes a cada una de las
secuencias simbólicas. En este trabajo de investigación se ha decidido utilizar una
técnica de análisis sintáctico ascendente, es decir, que construya el árbol sintáctico
desde las hojas hacia la raíz, y que sea eficiente. Por ello se ha implementado un
analizador sintáctico SLR (Simple Left-to-Right).
Una vez que se tienen la gramática y el analizador sintáctico que permiten obtener
árboles sintácticos para las secuencias simbólicas válidas, falta decidir qué operadores
genéticos (selección, cruce, mutación y remplazamiento), función fitness y método de
convergencia son los que se van a usar. Junto a estos elementos se podrá incluir un
método de control de profundidad para evitar que la profundidad de los árboles
(individuos) de cada generación supere el máximo permitido. A continuación se
describen cada uno de estos elementos. En función de cada dominio, hay que elegir
cuáles de ellos hay que usar, para lo cual es necesario llevar a cabo una
experimentación exhaustiva de las diferentes combinaciones de elementos.
Operadores de selección
Los operadores de selección que se han definido dentro del Marco propuesto en esta
Tesis son los que se recogen a continuación, y que han sido descritos en el apartado
2.3.3:
Torneo: Se ha optado por utilizar un método de Torneo con K=2 ya que el
torneo binario es el método de torneo más utilizado en programación genética.
Por tanto, se realizan N/2 torneos (N/4 cruces), donde N es el número total de
individuos que componen la población.
Ruleta: La implementación de este operador de selección se centra en la
obtención de un valor aleatorio que decida, en función del fitness de cada
individuo, dicha selección.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
134
Truncamiento: Se ha tomado como umbral de truncamiento el valor del 50%
ya que se considera la opción que mejor permite una búsqueda general (mayor
número de individuos seleccionados para reproducción), lo que conlleva una
ampliación del espacio de búsqueda con un menor número de iteraciones
(generaciones).
Generacional: Este operador selecciona el 100% de individuos de cada
generación para transmitir su carga genética a los futuros descendientes.
Operadores de cruce
Los operadores de cruce que se pueden utilizar en la PGGG son aquellos que siempre
proporcionan individuos válidos, es decir, individuos que pertenecen al lenguaje
generado por la gramática, que son los individuos que pueden darse en el dominio.
Por tanto los operadores de cruce que se podrán utilizar son el WX y el GBC, ambos
descritos en el apartado 2.3.4.
Operadores de reemplazamiento
El operador de reemplazamiento que se aplicará se denomina SSGA (Steady-State
Replacement Genetic Algorithms) y se basa en la sustitución de unos pocos individuos
―los peor adaptados al entorno de búsqueda― en cada generación. Más
concretamente este operador compone un conjunto ordenado de individuos, partiendo
de la población actual más los individuos obtenidos tras la aplicación del operador de
cruce, y elige como componentes de la siguiente generación a los n individuos con
mejor fitness, siendo n el tamaño de la población.
Operadores de mutación
Dado que se trabaja con PGGG, se utilizará un operador de mutación que dé como
resultado individuos que pertenezcan al lenguaje generado por la gramática del
dominio que se desee estudiar. Este operador de mutación será el GBM, descrito en el
apartado 2.3.4.
Se incorpora también a la solución propuesta la selección del porcentaje de individuos
de la población a los que será aplicado el operador de mutación.
Marco Propuesto
135
Método de Control de Profundidad
La solución diseñada incorpora un método de control de profundidad para los
individuos de las poblaciones generadas. Aunque los operadores GBC y GBM
incorporan su propio límite de profundidad, este método permite la modificación
dinámica de dicho límite. Se tendrán las siguientes opciones:
Sin Control: Esta opción desactiva el método de control de profundidad.
Límite Estricto: El usuario introduce el valor del límite de profundidad. Este
valor estará vigente durante toda la ejecución sin sufrir modificación alguna.
Límite Dinámico: El usuario introduce el valor del límite de profundidad. Este
valor será modificado a lo largo de la ejecución siempre que se encuentre un
individuo cuyo fitness sea máximo en su generación y que rebase dicho límite.
En este caso, el nuevo límite de profundidad será actualizado con la longitud
de dicho individuo.
Función Fitness
Como se ha descrito en el apartado 2.3, la correcta definición de la función de
adaptación o fitness es uno de los aspectos más relevantes para asegurar la bondad de
la solución encontrada por un algoritmo genético. La función de fitness implementada
para el Marco propuesto consiste en el cálculo de la distancia simbólica ponderada de
un individuo a cada uno de los individuos que componen la población de referencia.
En el caso del problema que aquí se aborda, el principal objetivo de la función de
fitness es no perder, nunca a lo largo de toda la ejecución, la referencia de la
población inicial. Esto es así porque lo que se pretende es obtener un modelo
simbólico de varias secuencias simbólicas previamente seleccionadas (la población de
referencia), por lo que el resultado debe ser lo más parecido posible a dicha población
de referencia.
Método de Convergencia
Mediante el método de convergencia se indica al algoritmo el momento en que se
debe detener la ejecución, dando como válida la solución encontrada. Se han
incorporado en la solución propuesta los siguientes métodos de convergencia:
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
136
Porcentaje: Se elige el umbral de fitness (Fitness Threshold) a partir del cual
un individuo será considerado como convergente. Además se especifica el
porcentaje de individuos convergentes que detendrá la ejecución. Es decir,
utilizando este método se fija la convergencia del algoritmo a la iteración en
que se alcance el porcentaje de individuos cuyo fitness supere o iguale el
umbral de fitness.
Generaciones: Se elige directamente el número de generaciones a obtener.
Mixto: Este método permite emplear los dos anteriores en la misma ejecución.
Es decir, la convergencia del algoritmo estará basada en el método de
porcentaje mientras no se alcance el límite máximo de generaciones
establecido.
En un algoritmo de PGGG intervienen muchos parámetros que es necesario ajustar en
función del dominio. Para ello es necesario diseñar cuidadosamente un plan de
experimentación que, en el caso de esta investigación, se ha estructurado en varias
fases. Es decir, en lugar de realizar un único experimento con todas las posibles
combinaciones de los parámetros existentes, es preferible realizar varios experimentos
que vayan efectuando sucesivas cribas, evitando así la realización de experimentos
con demasiadas variables, los cuales no arrojarían resultados significativos sobre
cuáles de las opciones (parámetros) están funcionando bien y cuáles no. A la hora de
analizar los resultados de estos experimentos se deben valorar los siguientes factores:
Eficiencia. Se expresa en términos de velocidad de convergencia. El método
más eficiente será aquél que llegue a una solución empleando el menor
número de generaciones.
Excelencia. Mide el grado de similaridad entre el modelo y la población de
referencia. Cuanto mayor sea el fitness del modelo, mejor será el método que
se ha empleado para conseguirlo.
Consistencia. Es la capacidad para obtener soluciones de calidad similar
cuando se aplica repetidamente el método sobre el mismo problema. Cuanto
menor sea la variación de la calidad de las soluciones, mayor será la
consistencia. Este factor es importante cuando se aplican métodos con cierta
aleatoriedad inherente, como es el caso de la PGGG.
Marco Propuesto
137
El plan de experimentación consta de un conjunto de fases. La idea es ir
discriminando los distintos parámetros del método en cada fase y, de ese modo, poder
concluir con la configuración óptima de parámetros para el Método de Creación de
Modelos Simbólicos (MCMS).
Figura 4-9. Plan de experimentación para PGGG
En la [Figura 4-9] se muestran las fases del plan de experimentación diseñado. El plan
comienza con una batería de pruebas cuyo objetivo es evaluar a grandes rasgos cómo
se comporta la PGGG en el dominio a estudio. Además, estos ensayos previos
ayudarán a determinar algunos parámetros iniciales (en su mayoría relacionados con
las características de las poblaciones del dominio) como son los siguientes:
Composición de la población inicial. La población inicial, es decir, la primera
generación de individuos con la que comenzará el algoritmo de PGGG, podría
construirse de una de las siguientes formas:
o Seleccionada: la población inicial estaría compuesta por los individuos
de la población de referencia, es decir, aquellos para los cuales se
quiere obtener el modelo. En este caso la población inicial sería igual
que la población de referencia.
o Mixta: la población inicial estaría compuesta por individuos de la
población de referencia junto a un conjunto de individuos válidos
(acordes con la gramática, o sea, posibles en el dominio) creados
aleatoriamente.
o Aleatoria: la población inicial estaría compuesta por un conjunto de
individuos válidos creados de forma aleatoria.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
138
En muchos dominios, las opciones Mixta y Seleccionada para la generación de
individuos de la población inicial se suelen descartar para reducir el riesgo de
obtener soluciones subóptimas. Se deben, por tanto, realizar pruebas previas
para verificar cuál es la opción que se comporta mejor, descartando aquellas
opciones que conducen con mayor probabilidad a máximo locales.
Tamaño de la población inicial. El tamaño de la población inicial debe ser lo
suficientemente grande para que el método sea efectivo. Los ensayos previos
deben determinar el número de individuos idóneo.
Método de convergencia. El método de convergencia que se aconseja utilizar
es el mixto, ya que es el único que permite incluir un porcentaje de
convergencia y un umbral de fitness junto con un valor del número máximo de
generaciones. Los ensayos previos deben asegurar que no existe ningún
problema específico del dominio relacionado con este método de
convergencia.
Porcentaje de mutación. En los ensayos previos se debe analizar qué
porcentaje de mutación es recomendable para conseguir valores más altos de
fitness.
Una vez realizados los ensayos previos se comienza con las fases estructuradas del plan de
experimentación, cada una de las cuales está definida por unos parámetros fijos y unos
parámetros variables. Los resultados que se van obteniendo en cada una de estas fases se
utilizan en las siguientes. De esta manera, los parámetros variables en cada una de las
fases, para los cuales se determinan los valores con los que el algoritmo PGGG se
comporta mejor, se utilizan como parámetros fijos en las siguientes fases. En la [Tabla 4-2]
se muestran los parámetros fijos y variables que se utilizan en cada una de las fases del
plan de experimentación propuesto. Por ejemplo, en la fase 2, que consiste en la
determinación del tipo de mutación, los operadores de selección y de cruce son parámetros
fijos que han sido determinados en la fase 1, mientras que el tipo de mutación y la
población son considerados parámetros variables. El tipo de mutación se determina en esta
fase, mientras que la población se mantiene como parámetro variable a lo largo de toda la
experimentación. Este plan es independiente del dominio si bien puede ser que necesite
algún ajuste para adaptarlo a características concretas de cada dominio.
Marco Propuesto
139
Fase 1Determinación operadores de selección y cruce
Fase 2Determinación del tipo de mutación
Fase 3Determinación del tipo de control de profundidad
Método de Convergencia
Pa
rám
etr
os
fijo
s
porcentaje: X%umbral fitness (pob_1): Yumbral fitness (pob_2): ZNúmero generaciones: G
porcentaje: X%umbral fitness (pob_1): Yumbral fitness (pob_2): ZNúmero generaciones: G
porcentaje: X%umbral fitness (pob_1): Yumbral fitness (pob_2): ZNúmero generaciones: G
Operador de Cruce
Pa
rám
etr
os
vari
ab
les
WhighamGBC
Operador de cruce determinado en la fase 1
Operador de cruce determinado en la fase 1
Operador de Selección
TorneoGeneracionalTruncamientoRuleta
Operador de selección determinado en la fase 1
Operador de selección determinado en la fase 1
Tipo de Mutación
Ninguno
Sin MutaciónGBM - Terminal (Mono)GBM - Terminal (Multi)GBM - No Terminal
Operador de mutación determinado en la fase 2
Control profundidad
Sin Control Sin Control
Sin ControlLímite Estricto ALímite Estricto BLímite Dinámico ALímite Dinámico B
Tipo de población
Poblacion_1, Poblacion_2 Poblacion_1, Poblacion_2 Poblacion_1, Poblacion_2
Tabla 4-2. Detalle de las fases del plan de experimentación
Cada fase cuenta con una serie de casos de prueba. Cada uno de los casos se define como
una combinación de valores asignados a los parámetros variables de entrada del algoritmo
de programación genética guiado por gramáticas. En la [Tabla 4-3] se muestran, a modo de
ejemplo, los casos de prueba para la fase 1.
Caso Población Operador Selección Operador Cruce
1.1
Po
bla
ción
_1
Torneo
GBC 1.2 Generacional
1.3 Ruleta
1.4 Truncamiento
1.5 Torneo
Whigham 1.6 Generacional
1.7 Ruleta
1.8 Truncamiento
1.9
Po
bla
ción
_2
Torneo
GBC 1.10 Generacional
1.11 Ruleta
1.12 Truncamiento
1.13 Torneo
Whigham 1.14 Generacional
1.15 Ruleta
1.16 Truncamiento
Tabla 4-3. Casos de experimentación de la fase 1
Cada uno de los casos se debe ejecutar un número n de veces con el objetivo de reducir en
los resultados la influencia de la aleatoriedad inherente a los algoritmos genéticos, y así
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
140
poder efectuar comprobaciones más objetivas. En la experimentación, descrita en el
apartado 5.3, se ha utilizado n=5 dando lugar a 5 pruebas de cada caso.
Por cada una de las pruebas (p) de cada caso (c), se recogen una serie de datos que
permiten analizar los resultados obtenidos. En la [Tabla 4-4] se muestran los datos
recogidos para la prueba p y el caso c, en los que se indica también el número de
individuos de la población de referencia.
Generación en la que se alcanza la convergencia. El valor máximo que puede tomar este campo es 100, ya
que al llegar a este número de generaciones el algoritmo se detiene por el criterio del número máximo de
generaciones (método de convergencia mixto)
Generación en la que se alcanza el mejor fitness. Siempre será igual o menor al número de generación en
que se alcanza la convergencia
Media aritmética del fitness de los individuos de la generación en que se alcanza la convergencia
Mejor fitness de la generación en que se alcanza la convergencia
Peor fitness de la generación en que se alcanza la convergencia
Tabla 4-4. Datos recogidos para la prueba p del caso c con una población de referencia de n individuos
Para poder realizar un análisis de cada caso, a partir de los datos recogidos para cada
prueba se calculan las medias aritméticas de los datos de las pruebas del caso así como la
desviación típica de los mejores valores de fitness. Además también se obtiene el mejor
fitness conseguido de las pruebas realizadas. Estos datos se reflejan en la [Tabla 4-5].
Media aritmética del número de generación en que se alcanza la convergencia en las cinco pruebas del
caso
Media aritmética del mejor fitness de las cinco pruebas del caso
Media aritmética del fitness medio de las cinco pruebas del caso
Media aritmética del peor fitness de las cinco pruebas del caso
Desviación típica de los mejores fitness del caso
El mejor fitness absoluto (el mejor fitness conseguido dentro de las cinco pruebas del caso)
Tabla 4-5. Datos recogidos para el caso c con una población de referencia de n individuos
Para poder evaluar cuáles son las mejores opciones para cada parámetro se ha decidido
crear un esquema de valoración para las distintas opciones ya que al existir multitud de
combinaciones, casos y pruebas, resulta muy difícil determinar a simple vista cuál de las
opciones es mejor. Para crear este esquema, en primer lugar se han elegido, de la [Tabla
4-5], los criterios que mejor valoran cuánto de buena es la combinación de opciones del
caso respecto a la obtención del modelo de referencia simbólico. Estos criterios son:
La convergencia del método, determinada por el número de generaciones obtenido:
. Cuanto más bajo sea este valor mejor es la configuración de opciones del
caso.
Marco Propuesto
141
La media de los mejores fitness del caso: . Cuanto más alto sea este valor
mejor es el caso.
El mejor fitness absoluto de las cinco pruebas del caso: . Cuanto más alto
sea este valor mejor es el caso.
La desviación típica del mejor fitness de las cinco pruebas del caso: .
Cuanto menor sea la desviación típica más consistentes son, respecto al mejor
fitness obtenido, las cinco pruebas realizadas. Por lo tanto, cuanto menor sea este
valor mejor es el caso.
Una vez elegidos los criterios, se pasa a valorar las opciones para cada parámetro. Se ha
optado por un esquema muy sencillo en el que se asigna a cada opción un valor
comprendido entre 1 y n (donde n es el número de opciones posibles para el parámetro a
evaluar). La mejor opción tendrá n puntos, y la peor 1. En el caso excepcional en que dos
o más opciones estuviesen empatadas, se repartiría la puntación entre ellas. Por ejemplo, si
el parámetro que se estuviera evaluando fuera el operador de selección (para el cual se
consideran cuatro opciones, que son Torneo, Generacional, Ruleta y Truncamiento) y para
el criterio se obtuvieran los valores 80, 60, 80 y 100, la puntación asignada sería 2.5,
4, 2.5 y 1 respectivamente. Las puntuaciones 2 y 3, que se deberían haber asignado a la
segunda y tercera mejor opción, se reparten entre las opciones empatadas, dando por
consiguiente el valor 2.5.
Una vez obtenidas las puntuaciones para cada opción y criterio, se suman todos los valores
correspondientes a cada opción, obteniendo así la puntuación total de la opción. Se realiza
un análisis de estas puntuaciones para elegir la mejor opción de cada parámetro. Las
opciones elegidas se establecen como fijas para las siguientes fases de la experimentación,
que a su vez introducen nuevos parámetros variables con distintas opciones. En el
CAPÍTULO 5 se describe el plan de experimentación y su ejecución para un dominio
concreto.
4.2. Aplicación del Marco propuesto en el Dominio Isocinético
En esta sección se muestra la aplicación del Marco de Descubrimiento de Conocimiento al
dominio isocinético dentro del proyecto I4 (Interfaz Inteligente para la Interpretación de
una máquina de Isocinéticos), que ha sido subvencionado en dos convocatorias del Plan
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
142
Nacional. La sección está organizada como sigue: primero se presenta un apartado de
antecedentes que describe el contexto en el que se encuadran el resto de los apartados. Los
siguientes tres apartados, 4.2.2, 4.2.3 y 4.2.4, describen la aplicación del Marco propuesto
en esta tesis al proyecto I4, dando lugar a un nuevo sistema denominado sI4 (Symbolic I4 o
I4 simbólico), descrito en el último apartado de esta sección.
4.2.1. Antecedentes
Los sistemas isocinéticos constituyen un instrumento muy eficaz en diversos aspectos
relacionados con el análisis de la fuerza muscular como, por ejemplo, el diagnóstico y
detección de lesiones, el seguimiento de su rehabilitación o la detección precoz de
talentos deportivos. Sin embargo, su carácter innovador y la consecuente ausencia de
especialistas en la materia dificultan en gran medida su implantación. El proyecto I4
surgió como respuesta a la necesidad de adaptación de la máquina de isocinéticos
perteneciente a la Escuela de Fisioterapia de la ONCE para que pudiera ser usada por
personas que, además de tener dificultades visuales, no tenían que ser necesariamente
expertas.
Figura 4-10. Esquema de utilización de la máquina de isocinéticos
A grandes rasgos, una máquina de isocinéticos consiste en un soporte físico sobre el que
el paciente realiza ejercicios de extensión y flexión de alguna de sus extremidades
(rodilla, codo, tobillo, etc.) a velocidad constante. La máquina va registrando la fuerza
ejercida en cada instante del ejercicio. En la [Figura 4-10] se muestra un esquema de la
máquina de isocinéticos con su software original. Mientras el paciente realiza un
Marco Propuesto
143
ejercicio isocinético, la máquina va transmitiendo los datos que recoge al programa
LIDO ACTIVE11, el cual los almacena en forma de serie temporal numérica. Este
programa proporciona los datos en un formato no estándar, poco manejable, y apenas
ofrece al usuario posibilidades para el análisis de los datos. La demanda de un sistema
con mayor capacidad de análisis fue lo que dio inicio al proyecto I4.
I4 proporciona una interpretación inteligente de los ejercicios isocinéticos realizados
sobre la rodilla, de modo que cualquier persona, experta o no en este campo, pueda
acceder a esta información de una forma más completa y sencilla (aunque la máquina de
isocinéticos permite realizar ejercicios sobre diferentes articulaciones, la aplicación I4 se
centra en la interpretación de los ejercicios de rodilla). En la labor de documentación del
equipo de investigación ha destacado la colaboración del Consejo Superior de Deportes,
el cual ha aportado la información necesaria para obtener, a partir del conjunto de datos
procesados por el programa LIDO ACTIVE, una interpretación inteligente de los
mismos.
Así pues I4 se ha desarrollado en torno a un modelo basado en técnicas de inteligencia
artificial y data mining con el objetivo de llevar a cabo un análisis de las series
temporales numéricas. El sistema I4 consta de los siguientes módulos:
un módulo de limpieza y preprocesado, el cual permite eliminar aquellos datos
inconsistentes o con algún tipo de ruido que en la mayor parte de las veces
viene provocado por la propia máquina.
un sistema basado en el conocimiento KBS (Knowledge Base System)
[Caraça-Valente et al. 00], que consiste en un sistema experto que permite
analizar el protocolo de aplicación del ejercicio y la morfología de los mismos.
un sistema KDD (Knowledge Discovery in Databases), que permite tanto la
búsqueda de patrones ([Caraça-Valente y Lopez-Chavarrías 00, Alonso et al.
01]) como la creación de modelos de referencia mediante algoritmos de
análisis numérico ([Alonso et al. 03]).
Todas las técnicas empleadas en I4, las cuales se basan en el análisis numérico de las
series temporales isocinéticas, han proporcionado resultados que han sido valorados
como positivos por los expertos. No obstante el sistema I4 no generaba suficiente
11 LIDO ACTIVE: Programa de base suministrado por el fabricante de la máquina de isocinéticos
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
144
confianza para los expertos dado que en la información que les proporcionaba el sistema
no se destacaban los aspectos relevantes de la serie isocinética en un lenguaje al que
ellos estuvieran habituados. Ésta fue la razón que motivó la aplicación del Marco de
Descubrimiento propuesto en esta tesis al sistema I4, creando un nuevo sistema
denominado sI4 (Symbolic I4 o I4 simbólico).
Aplicando las ideas propuestas en el marco de trabajo que se plantea en esta Tesis, el
sistema sI4 realiza un tratamiento simbólico de los datos en todas las facetas y
funcionalidades para los que el anterior sistema I4 realizaba un tratamiento numérico. La
idea que se persigue con sI4 es utilizar los conceptos del dominio, usados habitualmente
por los especialistas, tanto en los procesos de razonamiento como en la presentación de
los resultados obtenidos, y para ello se realiza una transformación de los datos
numéricos a datos simbólicos. La aplicación del Marco de Descubrimiento de
Conocimiento propuesto permitirá que los resultados obtenidos sean más comprensibles
para el usuario final.
4.2.2. Método de Extracción de Conocimiento y Transformación a Símbolos
Para poder aplicar el Método de Transformación a Símbolos, tal como se ha descrito en
el apartado 4.1.1, es necesario definir el alfabeto de símbolos que el experto en
isocinesia utiliza en la labor de análisis de las series temporales isocinéticas. La
formalización del conjunto de símbolos en el dominio isocinético se ha denominado
Alfabeto de Símbolos Isocinéticos (ASI) y la manera en la que se han determinado
dichos símbolos se describe en el apartado 4.2.2.1 de esta sección.
Una vez definido el alfabeto de símbolos con el que se va a trabajar, se debe adaptar el
Método de Transformación a Símbolos al dominio. Esta adaptación se explica en el
apartado 4.2.2.2 de esta sección.
4.2.2.1. Alfabeto de Símbolos Isocinéticos
Para obtener conocimiento del experto, conocer su entorno de trabajo y poder aplicar
las etapas del proceso de definición del alfabeto descrito en el apartado 4.1.1.1, se
planificaron varias entrevistas con el experto en isocinesia. Este experto es
especialista en el análisis de series temporales isocinéticas de algunas articulaciones,
como la rodilla o el hombro. Después de las primeras entrevistas se decidió centrar el
Marco Propuesto
145
estudio en los ejercicios de rodilla ya que se disponía de mayor cantidad de ejercicios
de este tipo que de ningún otro y, por tanto, sería posible extraer mayor conocimiento.
Se le presentaron al experto diferentes series que representaban el conjunto total de
series temporales contenidas en la base de datos. En cada una de las series, el experto
identificó las regiones en las que se centraba a la hora de realizar un análisis de la
misma.
Tras una primera serie de entrevistas mantenidas con el experto se concluyó que en
todos los ejercicios isocinéticos se distinguía entre la extensión y la flexión de la
rodilla por cada repetición realizada (un ejercicio isocinético está compuesto de tres
repeticiones, tal y como se refleja en la [Figura 4-11]12).
Extensión Extensión ExtensiónFlexión Flexión Flexión
Repetición RepeticiónRepetición
Figura 4-11. Ejemplo 1. Primeras regiones (extensión y flexión) identificadas por el experto
En las sucesivas entrevistas que se iban manteniendo, el experto identificaba más
secciones. Por ejemplo, el experto hacía hincapié en los picos y subidas, clasificando
los picos en pequeños y grandes e incluyendo el calificativo de aguda en la subida, tal
y como se muestra en la [Figura 4-12].
PICO
GRANDE
PICO
PEQUEÑO
PICO
GRANDE
SUBIDA
AGUDA
Figura 4-12. Ejemplo 2 de identificación de regiones
12 En esta figura las zonas de extensión y flexión se encuentran representadas con valores positivos. Las secuencias
temporales que están contenidas en la base de datos utilizada están formadas por valores positivos para las extensiones
y negativos para las flexiones, cuando realmente los momentos de fuerza son todos positivos y la distinción de signo
sólo se utiliza para diferenciar entre extensión y flexión. Por ello, se ha optado por representar todos los valores como
positivos.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
146
De la serie temporal que se muestra en la [Figura 4-13] le llamaron la atención, entre
otras regiones, la bajada y la curvatura que se han marcado en la gráfica, a las cuales
les asignó el calificativo de aguda.
CURVATURA
AGUDABAJADA
AGUDA
Figura 4-13. Ejemplo 3 de identificación de regiones
Después de varias sesiones con el experto se obtuvieron las siguientes conclusiones:
La primera distinción que realiza el experto consiste en separar visualmente
varias zonas: las correspondientes a cada flexión y extensión. Un ejercicio
isocinético consta de tres repeticiones (para asegurar la validez del mismo), por lo
que cada curva de fuerza consta -salvo excepciones por corrupción en los datos-
de seis zonas: tres flexiones y tres extensiones.
Independientemente de la zona que se esté examinando (extensión o flexión), el
experto centra su atención sobre los mismos aspectos de la curva:
o Subida inicial: Se observa tanto la pronunciación de la pendiente como la
duración/amplitud de la misma, tratando de descubrir picos y hundimientos
considerables y calificándolos como grandes o pequeños.
o Curvatura: En la parte superior de la sección, el experto hace hincapié en el
tipo de curvatura presente, detallando su agudeza, uniformidad o
irregularidad.
o Bajada final: Análogamente a la subida inicial, se valora el tipo de bajada en
función de la pendiente y duración de la misma, mientras se discriminan los
diferentes picos y hundimientos encontrados.
o Por último, el experto se fija también en las diferentes transiciones entre
zonas presentes en la curva de fuerza (normalmente cinco en cada
ejercicio).
Marco Propuesto
147
Partiendo de este conocimiento se identificaron los siguientes comportamientos
relevantes en la serie, que se repiten en todas las zonas, y se eligieron los
correspondientes símbolos para componer el alfabeto:
Subida: Ascenso pronunciado, en mayor o menor medida según su tipo, de
pendiente positiva que puede aparecer a lo largo de toda la zona, salvo en la
curvatura. Normalmente, la mayoría de las zonas comienzan por una subida.
Bajada: Descenso pronunciado, en mayor o menor medida según su tipo, de
pendiente negativa que puede aparecer a lo largo de toda la zona, salvo en la
curvatura. Normalmente, la mayoría de las zonas finalizan con una bajada.
Pico: Máximo local considerable dentro de una zona. Puede aparecer en
cualquier parte de la misma salvo en la curvatura.
Hundimiento: Mínimo local considerable dentro de una zona. Puede aparecer en
cualquier parte de la misma salvo en la curvatura.
Curvatura: Entorno del máximo global dentro de la zona. Si hay varios, se
considera curvatura la unión de todos sus entornos, si están próximos; si no, los
más alejados serán considerados picos.
Transición: Punto de transición que indica dónde se sitúa el cambio de zona, de
extensión a flexión o de flexión a extensión.
Sin embargo estos símbolos no resultan suficientemente significativos si no se
incorpora la categorización realizada por el experto. El experto calificaba los distintos
comportamientos según las características propias de cada uno de ellos, tal y como se
puede apreciar en los ejemplos mostrados anteriormente. Así pues, cada uno de los
símbolos mencionados puede tener a su vez un ―sub-símbolo‖ correspondiente a la
morfología del mismo. Por tanto, los símbolos que componen el ASI están formados
por una tupla de tres términos que especifican la zona en que se encuentra dicho
símbolo, el núcleo del símbolo y la morfología (se usará indistintamente la palabra
símbolo para referirse al símbolo compuesto o al núcleo del símbolo, ya que éste es el
término que contiene la información sobre cuál es el comportamiento representado).
En la siguiente tabla, [Tabla 4-6], se muestra el conjunto de términos que componen
los diferentes símbolos de los que consta el ASI.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
148
Zona Comportamiento/Símbolo Tipo
Fle
xió
n
Ex
ten
sió
n
Subida Aguda Suave
Bajada Aguda Suave
Hundimiento Grande Pequeño
Pico Grande Pequeño
Curvatura Aguda Meseta Irregular
Transición -
Tabla 4-6. Alfabeto de Símbolos Isocinéticos (ASI)
De este modo la subsecuencia que aparece en la [Figura 4-14], correspondiente en su
mayor parte a una zona de extensión, corresponde a la secuencia simbólica siguiente:
―Ext.Subida.Aguda, Ext.Curvatura.Aguda, Ext.Bajada.Aguda,
Ext.Hundimiento.Grande, Ext.Subida.Suave, Ext.Pico.Grande, Ext.Bajada.Aguda,
Ext.Transición,…‖.
La experiencia obtenida con este dominio lleva a pensar que en un gran número de
dominios se podría interpretar semánticamente una serie temporal numérica
dividiéndola en secciones significativas y asignando a cada una de estas secciones
símbolos que las identifiquen.
Extensión
Subida
Curvatura
Bajada
BajadaHund.
Pico
Transición
Figura 4-14. Símbolos de una curva isocinética
4.2.2.2. Método de Transformación a Símbolos
El Método de Transformación a Símbolos (METRASIM), cuya arquitectura se
muestra en la [Figura 4-15], ha sido diseñado para transformar las curvas isocinéticas
en secuencias simbólicas representadas con los símbolos del ASI.
METRASIM está dividido en dos partes diferenciadas. La primera parte es
independiente del dominio (MID – Módulo Independiente del Dominio) y se ha
descrito detalladamente en el apartado 4.1.1. La segunda parte es dependiente del
Marco Propuesto
149
dominio (MDD – Módulo Dependiente del Dominio) que se esté analizando, en este
caso el dominio isocinético, por lo que se explica en detalle en esta sección.
MóduloDependiente
del Dominio (MDD)
MóduloIndependiente
del Dominio (MID)
SecuenciaNumérica
Extraccióncaracterísticasindependientes
del dominio
Extraccióncaracterísticasdependientesdel dominio
FiltradoCategorización
deSímbolos
SecuenciaSimbólica
Ext.Subida.Aguda
Ext.Curvatura.Aguda
Ext.Bajada.Aguda
Ext.Transicion
Flex.Subida.Aguda
Flex.Curvatura.Aguda
Flex.Bajada.Aguda
Flex.Transicion
Ext.Subida.Aguda
…
Picos &Hundim.
Figura 4-15. Arquitectura del Método de Transformación a Símbolos (METRASIM)
El módulo dependiente del dominio será el que contenga el conocimiento del experto
en cuanto a los símbolos que se consideran significativos en el análisis de una serie
isocinética. Se debe tener en cuenta que la serie temporal isocinética está formada por
números reales que corresponden a los momentos de fuerza de la rodilla con respecto
al tiempo. En este apartado se hablará por tanto de momentos o momentos de fuerza.
El MDD está formado por dos submódulos principales: el primero de ellos es el
encargado de obtener el conjunto de símbolos y el segundo es el encargado de
caracterizar cada símbolo. Entre estos dos submódulos se realiza un proceso de
filtrado, que se encarga de filtrar los símbolos extraídos (eliminar símbolos repetidos,
eliminar símbolos que no superan los umbrales, etc.). A continuación se explican los
dos submódulos principales.
Extracción de características dependientes del dominio
Los símbolos que se van a utilizar son los que se han presentado en el apartado
4.2.2.1: subida, bajada, pico, hundimiento, curvatura y transición.
Para la obtención del pico o del hundimiento se podría pensar en utilizar los picos y
hundimientos suministrados por el MID. Sin embargo esto no es posible ya que si
fuera así se tomarían como símbolos de pico y hundimiento todos los picos y
hundimientos de la serie temporal, por insignificantes que fueran.
El experto sólo tenía en cuenta algunos picos y hundimientos para su análisis,
descartando aquellos picos o hundimientos que no se podían considerar para tal fin.
Por tanto es necesario filtrar los picos y hundimientos suministrados por el MID
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
150
mediante una regla que evalúe qué picos, o hundimientos, deben ser considerados. En
el dominio isocinético sólo se considerarán picos y hundimientos aquellos que
cumplen la siguiente relación que se muestra en la [Expresión 4-3].
El valor del umbral se obtuvo a partir del estudio de todas las series que se
encontraban en la base de datos.
umbralduración
amplitud
Expresión 4-3. Condición para el símbolo pico y el símbolo hundimiento
En el caso de los símbolos subida y bajada se da una situación similar a la que
ocurría con la identificación de los símbolos pico y hundimiento. En una primera
pasada se podría considerar que subida es la parte que se encuentra entre un
hundimiento y un pico, y bajada es la parte que se encuentra entre un pico y un
hundimiento. Sin embargo, el experto no lo consideraba así. En la [Figura 4-16] se
visualizan con un trazo más grueso dos ejemplos de secciones de serie que se podrían
considerar bajadas y dos ejemplos que se podrían considerar subidas. En el ejemplo
(a) el experto consideraría que existe una subida, después un pico continuado con un
hundimiento y una subida; sin embargo, el experto traduciría el ejemplo (b) a subida,
pico, después una bajada continuada por un hundimiento y una subida. Es decir en el
ejemplo (a) el trazo más grueso no es considerado como una bajada pero en el
ejemplo (b) sí. Algo similar ocurriría con los ejemplos (c) y (d). En el ejemplo (c) el
trazo grueso no se consideraría como subida pero en el (d) sí.
(a) (b) (c) (d)
Figura 4-16. Ejemplos de bajadas y subidas
Por tanto, sólo se considerará que hay una subida, o una bajada, si se cumple la
siguiente expresión:
))_()_((
))_()_((
amplumbralamplitudandpendumbralPendiente
or
durumbralduracionandpendumbralPendiente
Expresión 4-4. Condición para los símbolos subida y bajada
Marco Propuesto
151
Para la identificación de la curvatura es necesario determinar un punto inicial y un
punto final. Esto se consiguió mediante el estudio de las series temporales contenidas
en la base de datos. Así se estimó que la curvatura de cualquier zona, sea flexión o
extensión, se ubicaba siempre alrededor del punto más elevado de dicha zona, lo que
dio lugar al establecimiento del umbral que se muestra en la [Figura 4-17].
Para la obtención del símbolo transición, el MDD determina que el símbolo
transición se encuentra en el cambio de una extensión a una flexión y viceversa.
porcent_curv %Curvatura
Figura 4-17. Localización del símbolo curvatura
El conjunto de símbolos obtenido pasaría por una etapa de filtrado (ver [Figura 4-15])
en la que se realizan varias tareas de preprocesado, entre las que destaca la que se
encarga de asegurarse de que no aparecen símbolos repetidos. Así, por ejemplo, en el
caso de que se tuvieran dos símbolos de subida consecutivos, se cambiarían por un
solo símbolo subida que englobaría a los dos. El conjunto de símbolos, ya filtrados,
constituyen la entrada del submódulo siguiente.
Categorización de símbolos
El cometido de este submódulo consiste en la categorización de cada símbolo con un
tipo asociado. De esta manera se tendrá información más precisa de la serie temporal
fuente. No hay que olvidar que el experto utiliza una tipología de símbolos de forma
instintiva basándose en su experiencia. Así el experto diferenciará entre tipos de
picos, tipos de subida e incluso tipos de curvatura. Esta categorización de tipos se
muestra en la [Tabla 4-6].
En el caso de los símbolos pico y hundimiento, los tipos asociados son grande y
pequeño, pudiendo darse por tanto la siguiente categorización de símbolos: pico-
pequeño, pico-grande, hundimiento-pequeño y hundimiento-grande. Para obtener esta
clasificación se utiliza la amplitud, tal y como se recoge en la [Expresión 4-5], donde
amplitud corresponde con la amplitud del pico o el hundimiento y amplitud_umbral
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
152
es un valor constante determinado empíricamente a partir de las series temporales que
están contenidas en la base de datos.
grandecasootroen
pequeñoumbralamplitudamplitudSi
__
_
Expresión 4-5. Regla para los tipos de los símbolos pico y hundimiento
La clasificación de tipos para los símbolos subida y bajada es suave y aguda,
pudiéndose encontrar la siguiente categorización de símbolos: subida-suave, subida-
aguda, bajada-suave y bajada-aguda. Para obtener esta clasificación el MDD utiliza la
amplitud del símbolo subida o bajada tal y como se muestra en la [Expresión 4-6],
donde amplitud corresponde con la amplitud de la subida o la bajada y
amplitud_umbral es un valor constante que se ha obtenido empíricamente a partir de
las series temporales de la base de datos.
agudacasootroen
suaveumbralamplitudamplitudSi
__
_
Expresión 4-6. Regla para los tipos de los símbolos subida y bajada
)(xVar
Expresión 4-7.Desviación típica
12)( aaxVar
Expresión 4-8. Varianza
n
xxa n
22
1
2
...
Expresión 4-9. Momento de orden 2
n
xxa n
...1
1
Expresión 4-10. Momento de orden 1
|| xCV
Expresión 4-11. Coeficiente de variación
n
xxx n
...1
Expresión 4-12. Media
Tabla 4-7. Ecuaciones utilizadas para la determinación de los tipos de curvatura
En el caso del símbolo curvatura, la tipología es: irregular, aguda y meseta. Para la
determinación de estas formas el MDD isocinético utiliza los siguientes datos:
Marco Propuesto
153
Número de picos, o hundimientos con una determinada relación
amplitud/duración existentes en la curvatura.
El cálculo de la desviación típica y el coeficiente de variación con respecto a
los momentos de fuerza en la curvatura. Para el cálculo de la desviación típica
y del coeficiente de variación se utilizan las ecuaciones que vienen
representadas en la [Tabla 4-7].
Tomando en consideración los anteriores puntos se formalizan las reglas que se
presentan en la [Tabla 4-8]. Para interpretar dicha tabla hay que tener en cuenta que
las reglas se ejecutan por orden de prioridad de tal forma que cuando se cumplen las
condiciones de Ri no se consideran las demás reglas Ri+1. De este modo la
determinación del tipo de una curvatura se realizará como sigue:
Es de tipo irregular si el número de picos (n_picos_irreg) es mayor que
umbral_n_picos o el número de hundimientos (n_hunds_irreg) supera
umbral_n_hunds. Los picos y hundimientos que se cuentan son los que tienen
una relación de amplitud/duración mayor que una constante denominada
umbral_pico/hund_curv_irregular.
Es de tipo aguda si existe un solo pico con una relación amplitud/duración
mayor que una constante denominada umbral_pico_curv_aguda o si toda la
curvatura tiene una relación amplitud/duración mayor que
umbral_curv_aguda.
Es de tipo meseta si la desviación típica y el coeficiente de variación de los
momentos en la zona de curvatura son menores que los umbrales umbral_desv
y umbral_CV, respectivamente. En caso contrario, la curvatura se clasificará
como aguda.
R1: ((n_picos_irreg umbral_n_picos) or (n_hunds_irreg>=umbral_n_hunds))13 irregular
R2: ((n_picos_agud14=1) or (Ampl_curv/Dur_curv15 umbral_curv_aguda)) aguda
R3: (( umbral_desv) or (CV umbral_CV)) meseta
R4: ¬ (( umbral_desv) or (CV umbral_CV)) aguda
Tabla 4-8. Reglas para la obtención de los tipos del símbolo curvatura
13 Se cuentan el número de picos (n_picos_irreg) y hundimientos (n_hunds_irreg) que cumplan la relación
amplitud/duración umbral_pico/hund_curv_irregular. 14 Se cuentan los picos (n_picos_agud) que cumplan la relación amplitud/duración umbral_pico_curv_aguda. 15 Ampl_curv y Dur_curv son la amplitud y la duración de la sección de la curvatura respectivamente.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
154
Por último estaría el símbolo transición, el cual no tiene ninguna categorización de
tipos (ver [Tabla 4-6]).
Las reglas y umbrales mostrados corresponden a la versión definitiva implementada
en el sistema sI4 después de un proceso de ajustes derivado de las diferentes pruebas
de validación realizadas. Se ha diseñado el sistema para que resulte fácil cambiar
tanto las reglas como los umbrales. En el ANEXO I se incluye el valor de los
umbrales utilizados.
4.2.3. Distancia Simbólica Isocinética
Una vez que se ha descrito la aplicación del método que permite obtener una secuencia
simbólica isocinética a partir de la serie temporal numérica, se debe definir la medida de
similaridad que permita realizar comparaciones entre estas secuencias simbólicas.
Una secuencia isocinética consta de tres repeticiones, y cada repetición se compone de
una extensión y una flexión. Por tanto una secuencia isocinética S estará segmentada en
seis zonas, que constituyen seis partes diferenciadas, cada una de las cuales se representa
mediante la siguiente notación:
<Zona><Repetición><Secuencia>
El término <Zona>, Z, puede tomar el valor E si es zona extensión o F si es zona
flexión. <Repetición> podrá tomar el valor R1, R
2 o R
3 dependiendo de si se trata de la
primera, segunda o tercera repetición de la secuencia, y <Secuencia> identifica a la
secuencia S. Siguiendo la anterior notación para dos secuencias S1 y S2 y
particularizando la Distancia Simbólica descrita en el apartado 4.1.2, en la [Figura 4-18]
se muestran los tres pasos necesarios para el cálculo de la DSI (Distancia Simbólica
Isocinética): primero calcular la distancia de edición simbólica16 entre cada par de
subsecuencias (las extensiones con las extensiones y las flexiones con las flexiones);
segundo, normalizar estas distancias parciales y, tercero y último, obtener el valor de la
distancia total como la media aritmética de las distancias parciales.
16 En este cálculo se debe tener en cuenta que cada elemento de la secuencia está formado por el símbolo y el tipo
asociado.
Marco Propuesto
155
Distancias de Edición Simbólicas
Distancias de Edición Simbólicas Normalizadas
Distancia Simbólica Isocinética (DSI)
1. Cálculo de la distancias de edición simbólicas
2. Normalización
3. Cálculo de la media aritmética
DESN1 DESN2 DESN3 DESN4 DESN5 DESN6
DES1 DES6
ER1S1 FR1S1 ER2S1 FR2S1 ER3S1 FR3S1
ER1S2 FR1S2 ER2S2 FR2S2 ER3S2 FR3S2S2
S1
DES2 DES3 DES4 DES5
Figura 4-18. Cálculo de la Distancia Simbólica Isocinética (DSI)
La distancia de edición simbólica entre la subsecuencia ERiS1, de longitud n, y la
subsecuencia ERiS2, de longitud m, se calcula mediante la construcción de una matriz de
nxm elementos en la que se recogen los costes acumulados al realizar las sucesivas
operaciones de inserción, borrado o sustitución con el fin de obtener el mejor
alineamiento entre las subsecuencias simbólicas a comparar. Para evitar complicar
innecesariamente el cálculo de la distancia, se ha optado por quitar el término zona del
símbolo, aprovechando el hecho de que el experto en isocinesia hizo hincapié en la nula
relación existente entre los símbolos de una zona con respecto a los de otra, por lo cual
nunca se deberán alinear entre sí. Por ello, como se puede apreciar en la Figura 4-18, se
calculan seis distancias de edición, una por cada zona, Z, de cada repetición. De esta
forma se consigue que no se realice en ningún caso un alineamiento de los símbolos de
una zona respecto a los símbolos de otra zona.
borrado // )1,(
nserción //i ),1(
titución //susw!u si)1,1(
ia //cop wu si)1,1(
min),(ji
ji
doCosteBorrajiD
ciónCosteInserjiD
tuciónCosteSustijiD
jiD
jiD
Expresión 4-13. Fórmula para el cálculo de la casilla (i,j) de la matriz de costes acumulados para el
cálculo de la distancia de edición simbólica entre dos subsecuencias u y w
Para calcular el valor de las casillas de cada una de las matrices de n x m elementos se
utiliza la [Expresión 4-13]: la casilla (i, j) indica la distancia entre S1‘ y S2‘
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
156
(subsecuencias prefijos de S1 y S2 que terminan en los elementos i y j, respectivamente).
La casilla (n, m) indica la distancia entre ZRiS1 y ZR
iS2. De esta forma, la distancia
representa la secuencia de operaciones de edición (borrado, inserción y sustitución) de
menor coste para alinear ZRiS1 y ZR
iS2.
En el dominio isocinético, en parte debido a aspectos cualitativos (diferente peso
estructural de cada símbolo) y cuantitativos, no se puede asignar un coste idéntico para
todas las operaciones y todos los símbolos. Así, por ejemplo, las curvaturas son
símbolos presentes en toda repetición, mientras que los picos y hundimientos son
símbolos circunstanciales, normalmente debidos a pequeñas lesiones de los pacientes y,
por tanto, pueden aparecer o no. Además, la presencia de un pico grande no puede ser
considerada en la misma medida que la presencia de un pico pequeño. Por tanto, se hace
necesario no sólo asignar un peso diferente a cada símbolo (al núcleo del símbolo) sino
también distinguir según el tipo del símbolo (si éste es grande, pequeño,…).
Siguiendo las indicaciones descritas en el apartado 4.1.2 se define un grafo de costes
(ver [Figura 4-19]) tanto para la operación de sustitución como para las operaciones de
inserción y borrado. Para facilitar la labor del experto, partiendo de la representación
gráfica de cada símbolo-tipo se definieron unos costes iniciales proporcionales a la
longitud típica de los símbolos a comparar. Dichos valores iniciales fueron presentados
al experto y resultaron ser un buen punto de partida para la definición de los costes que
finalmente se han establecido.
Pico
Subida BajadaCurvatura
Grafo Inserción/Borrado
Hundimiento
1
223
1
Pequeño Grande Pequeño Grande
0.2 0.20.3 0.3
Aguda Suave
0.4 0.2
Aguda Suave
0.4 0.2
Meseta
0.2 0.4
Irregular
0.3
Símbolos
Circunstanciales
Símbolos
Estructurales
Pico Hundimiento
Subida Bajada
Curvatura
3
4
2
4 4
33
Pequeño Grande Pequeño Grande
5 5
0.2 0.20.3 0.3
Grafo Sustitución
Aguda
Suave
0.4
0.2
Aguda Irregular
0.2 0.3
Aguda
Suave
0.4
0.2
Meseta
0.4
3
(a) (b)
Aguda
Figura 4-19. Costes de inserción/borrado y sustitución
Marco Propuesto
157
Los costes que se utilizan en la [Expresión 4-13] son los que se recogen en los grafos
que se muestran en la [Figura 4-19] y dependen de si la operación que se esté realizando
es una sustitución, una inserción o un borrado. Como se aprecia en los grafos, existe un
coste por símbolo al que se suma un coste por el tipo asociado a cada símbolo. Por
ejemplo, sustituir el símbolo Bajada-Aguda por el símbolo Pico-Grande costaría 0.4 + 3
+ 0.3 = 3.7.
Obtenidas las distancias entre cada una de las seis zonas de las dos secuencias a
comparar (en la [Figura 4-18] estas distancias se indican con el nombre DSEX donde x
es el número de la zona que se ha comparado), éstas pasan por un proceso de
normalización con el objetivo de tener todas estas distancias parciales definidas en el
intervalo [0, 1]. La normalización se basa en dividir el valor de distancia previamente
obtenido entre el que hubiera salido en el caso peor, es decir, el de mayor coste. En el
caso peor, la longitud de la secuencia será la longitud de la mayor subsecuencia que está
siendo comparada. El mayor coste se obtendrá suponiendo que todos los elementos de
esta subsecuencia menos uno, que correspondería con la curvatura que tendría toda
subsecuencia, son subidas y bajadas. Este valor de mayor coste es calculado mediante la
[Expresión 4-14] y es el que se utilizará para dividir las distancias parciales que se
tienen hasta el momento y obtener así su valor normalizado.
]_1[]__)1))(),(([ 21 CurvCosteMayorBajSubCosteMayorSZRLongSZRLongMax ii
Expresión 4-14. Cálculo del valor para la normalización de las distancias parciales
Una vez que se han obtenido las seis distancias parciales normalizadas por cada zona
(DESNX) se calcula la media aritmética de todas ellas, obteniéndose así la Distancia
Simbólica Isocinética (DSI).
4.2.4. Método de Creación de Modelos Simbólicos Isocinéticos
El método de creación de modelos simbólicos (MCMS) utiliza la Programación
Genética Guiada por Gramáticas (PGGG) (ver apartado 4.1.3). Para ello es necesario
definir una gramática de contexto libre que genere las secuencias simbólicas del dominio
isocinético. La gramática presentada en la [Tabla 4-9] permitirá representar las
secuencias simbólicas isocinéticas en forma de árbol, ya que éstos son los elementos con
los que trabaja la PGGG.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
158
GASI = (∑N, ∑T, Ejercicio, P)
∑N = Ejercicio, Ext, Flex, Ascenso, Descenso, preSubida preBajada, prePico, preHundimiento, postSubida,
postBajada, postPico, postHundimiento, Curvatura, Subida, Bajada, Pico, Hundimiento
∑T = Curvatura–aguda, Curvatura–meseta, Curvatura–irregular, Subida–aguda, Subida–suave, Bajada–aguda,
Bajada–suave, Pico–grande, Pico–pequeño, Hundimiento–grande, Hundimiento–pequeño, Transicion
P = Ejercicio Ext Transicion Flex
Ext Ascenso Curvatura Descenso
Flex Ascenso Curvatura Descenso
Ascenso presSubida Subida postSubida preSubida Subida Subida postSubida Subida
Descenso preBajada Bajada postBajada preBajada Bajada Bajada postBajada Bajada
preSubida preBajada Bajada prePico Pico preHundimiento Hundimiento Bajada | Pico Hundimiento
preBajada preSubida Subida prePico Pico preHundimiento Hundimiento Subida Pico Hundimiento
prePico preSubida Subida preBajada Bajada preHundimiento Hundimiento Subida Bajada
Hundimiento
preHundimiento preSubida Subida preBajada Bajada prePico Pico Subida Bajada Pico
postSubida Bajada postBajada Pico postPico Hundimiento postHundimiento Bajada Pico Hundimiento
postBajada Subida postSubida Pico postPico Hundimiento postHundimiento Subida Pico Hundimiento
postPico Subida postSubida Bajada postBajada Hundimiento postHundimiento Subida Bajada
Hundimiento
postHundimiento Subida postSubida Bajada postBajada Pico postPico Subida Bajada Pico
Curvatura Curvatura–aguda Curvatura–meseta Curvatura–irregular
Subida Subida–aguda Subida–suave
Bajada Bajada–aguda Bajada–suave
Pico Pico–grande Pico–pequeño
Hundimiento Hundimiento–grande Hundimiento–pequeño
Tabla 4-9. Definición de la gramática GASI
Esta gramática GASI utilizará el alfabeto ASI y en ella está incorporado el conocimiento
experto, el cual fue obtenido analizando la labor del experto. De este modo en la propia
gramática se contemplan por ejemplo las siguientes situaciones que indicó el experto:
entre el inicio y la curvatura de una zona puede haber varias subidas separadas por picos
o hundimientos, entre la curvatura y el final de una zona podría haber multitud de
bajadas separadas por picos o hundimientos, desde el inicio hasta la curvatura de una
zona podrían encontrarse incluso bajadas, entre la curvatura y el final de una zona
también podrían encontrarse subidas, no pueden existir dos símbolos iguales
consecutivos, etc.
Los operadores disponibles para el MCMS, tal y como se ha descrito en el apartado
4.1.3, son los que se encuentran resumidos en la [Tabla 4-10].
Operadores de
selección
Operadores de
cruce
Operador de
reemplazamiento
Operador de
mutación
Torneo
Ruleta
Truncamiento
Generacional
Whigham (WX)
GBC SSGA GBM
Tabla 4-10. Operadores genéticos utilizados en el método de creación de modelos simbólicos
Marco Propuesto
159
Se ha construido un analizador sintáctico SLR para GASI, que se utiliza para generar el
árbol sintáctico de las secuencias simbólicas. El autómata correspondiente a dicho
analizador se encuentra en el ANEXO II.
La gramática GASI se utiliza también para la generación de las secuencias aleatorias que
constituyen la población inicial del algoritmo de PGGG utilizado para la creación de
modelos de referencia. Esta población inicial será la que vaya cambiando de generación
en generación utilizando la población de referencia para el cálculo del fitness de cada
generación. El método de control de profundidad, la función fitness y el método de
convergencia son los descritos en el apartado 4.1.3.3.
4.2.5. Arquitectura final de sI4
Como se puede apreciar en la [Figura 4-20] la arquitectura del sistema sI4 es la
arquitectura resultante de añadir a la del I4 el subsistema sKDD (symbolic Knowledge
Discovery in Databases), objetivo de este trabajo. Por tanto la arquitectura final del
sistema sI4 está constituida por tres subsistemas: un sistema basado en el conocimiento
(KBS) que realiza un análisis experto de las series temporales numériccas; el subsistema
KDD proveniente de I4 el cual ha sido renombrado a nKDD (numerical Knowledge
Discovery in Databases), que aplica métodos de data mining a las series temporales
numéricas; y el subsistema sKDD, que aplica métodos de data mining a las secuencias
simbólicas tal como se describe en el Marco de Descubrimiento de Conocimiento
propuesto en esta Tesis.
Muchas de las funcionalidades que proporciona el sistema I4, compuesto por los
subsistemas KBS (Knowledge Based System) y nKDD, son utilizadas en el trabajo
cotidiano de los especialistas isocinéticos del Consejo Superior de Deportes para evaluar
el potencial de sus pacientes (en su mayor parte deportistas de alta competición),
diagnosticando lesiones y analizando el progreso de la recuperación de las mismas.
Como se recoge en el apartado 4.2.1, el sistema I4 era fiable y ofrecía resultados
equivalentes a los del experto. Sin embargo este sistema no tenía la confianza total de
los expertos, ya que la información proporcionada por I4 no destaca los aspectos
significativos de las series isocinéticas en un lenguaje que sea fácilmente entendible por
el experto. Esta problemática, descrita con mayor detalle en el capítulo 3, queda
solventada con el subsistema sKDD.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
160
GeneraciónInformes
AnálisisInteligentede datos
KBS
FICHEROSRAW
Limpiado y Preprocesamiento
Translación y formateo
VisualizaciónEjerciciosLesiones/Modelos ReferenciaComparaciones
CreaciónModelo
Referencia
Caracterizaciónde lesiones
nKDD
Patroneslesiones
ModelosReferencia
METRASIM
MCMS
sKDD
DSI
BDTests
DatosSimbólicos
?
Figura 4-20. Arquitectura del sistema sI4
sKDD utiliza el Marco de Descubrimiento de Conocimiento descrito en este trabajo, el
cual comprende un Método de Transformación a Símbolos (METRASIM) que permite
transformar una serie numérica en una secuencia simbólica, una medida de la distancia
simbólica isocinética (DSI) que permite obtener la similaridad entre dos secuencias
simbólicas, y un método de creación de modelos simbólicos (MCMS) para poder crear
modelos de referencia a partir de un conjunto de ejercicios isocinéticos. Tal como se
describe en el CAPÍTULO 5, el subsistema sKDD proporciona resultados fiables que se
pueden explicar fácilmente en términos del dominio a estudio.
CAPÍTULO 5. EXPERIMENTACIÓN Y EVALUACIÓN
Experimentación y Evaluación
163
En este capítulo se describe en detalle el proceso de experimentación y evaluación que se
ha llevado a cabo para cada una de las partes en las que se divide el Marco de
Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos
Simbólicos propuesto en esta Tesis. Para ello se divide el capítulo en tres apartados:
Método de Transformación a Símbolos (METRASIM), Distancia Simbólica Isocinética
(DSI) y Método de Creación de Modelos Simbólicos (MCMS).
Se describe las actividades de evaluación realizadas para cada uno de estos métodos y se
describe el extenso plan de experimentación diseñado para determinar los parámetros y
valores más adecuados para el Método de Creación de Modelos Simbólicos y realizar, de
paso, una evaluación del mismo.
5.1. Método de Transformación a Símbolos
Los objetivos del proceso de evaluación son los siguientes:
Verificar la exactitud de los resultados desde el punto de vista técnico
Validar empíricamente la capacidad de los métodos propuestos para identificar y
representar el conocimiento implícito en la serie numérica para conseguir los
objetivos establecidos mediante la comparación de los símbolos recogidos por
METRASIM respecto a los símbolos obtenidos por el experto para un ejercicio
isocinético particular
Evaluar la aceptación por el personal médico como una nueva herramienta de uso
cotidiano
Con el objetivo de realizar y facilitar la evaluación del METRASIM se ha diseñado un
interfaz de usuario [Figura 5-1] donde se muestra tanto la serie numérica original como la
secuencia simbólica asociada. La evaluación se fundamenta en la comparación de las
secuencias simbólicas obtenidas por parte del METRASIM respecto a las obtenidas por
parte del experto.
La serie temporal correspondiente al ejercicio se muestra en la parte superior del interfaz.
En la parte central se muestra la traducción de dicha serie numérica a símbolos, ilustrando
todos los pasos del METRASIM. En el primer paso se obtienen las características
independientes del dominio. En el siguiente paso se obtienen los símbolos dependientes del
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
164
dominio. Los parámetros utilizados en la obtención de estos símbolos son listados debajo
de la etiqueta filtering parameters. Los resultados del último paso del METRASIM, la
caracterización de los símbolos, se visualizan en la parte derecha del interfaz (domain
dependent typed-symbols). Los parámetros umbrales utilizados para ello se muestran
debajo de la etiqueta typology parameters. En la parte inferior del interfaz se muestra la
curva simbólica reconstruida.
Figura 5-1. Interfaz de usuario para la representación simbólica de un ejercicio
El experto indicó que METRASIM era una importante ayuda para los fisioterapeutas para
la obtención de informes, para el análisis de la evolución de la articulación de un paciente,
para el diagnóstico de lesiones y para monitorizar el tratamiento de diagnóstico médico.
El proceso de evaluación en su conjunto fue planificado a través de un procedimiento
compuesto de los siguientes cinco pasos, tal y como se muestra en la [Figura 5-2]:
Valoración subjetiva de los resultados por parte del experto. Este paso tiene como
objetivo verificar la exactitud de los resultados desde el punto de vista técnico,
valorando, entre otras cosas, los distintos umbrales empleados en el proceso de
transformación.
Experimentación y Evaluación
165
Validación a través de la comparación de los resultados con diferentes casos
conocidos. Se disponía de un conjunto limitado de casos conocidos de dos tipos:
ejercicios caracterizados por una lesión particular y ejercicios pertenecientes a una
población de individuos caracterizados por un deporte concreto.
Validación de los tests basándose en el Test de Turing, en los cuales se comprueba
tanto el resultado del sistema como el del experto.
Evaluación diaria continua con los casos cotidianos. Este es un paso correctivo.
Evaluación de la satisfacción del método y aceptación.
Valoración 1. Exactitud
Laboratorio
Validación
Tests de Turing
2. Cualificación
3. AceptaciónEvaluación continua
Evaluación de la satisfacción
Transferencia tecnológica Práctica cotidiana
Línea temporal de la evaluación
Figura 5-2. Proceso de evaluación para el MES
Los dos primeros pasos de este procedimiento (valoración subjetiva y comparación con
casos conocidos) se llevaron a cabo durante el proceso de desarrollo de METRASIM y
fueron una fuente importante de conocimiento para efectuar ajustes tanto en el
funcionamiento del módulo como en el establecimiento de parámetros, umbrales, etc.
El tercer paso, la comparación mediante Test de Turing, se realizó en la fase final de
desarrollo para evaluar el funcionamiento de METRASIM. Para ello se contó con una
batería de datos compuesta por ejercicios de pacientes con alguna lesión y ejercicios de
deportistas de diferentes deportes. Estos ejercicios se le mostraron al experto para que él
hiciera la transformación de la serie temporal numérica a la secuencia de símbolos que la
representa. Cada una de las secuencias proporcionadas por el experto se comparó con la
correspondiente secuencia simbólica obtenida automáticamente por METRASIM y se
analizaron las diferencias.
En la parte superior de la [Tabla 5-1] se muestra la comparación realizada a partir de los
ejercicios de pacientes lesionados. Se eligieron 5 lesiones diferentes y, para cada una de
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
166
ellas, se seleccionaron 2 ejercicios (no se ha trabajado con más ejercicios porque para
alguna de las lesiones no se tenían más datos). En la parte inferior se muestra la
comparación para los ejercicios de pacientes sanos provenientes de varios deportes
diferentes. En este caso se ha trabajado con 10 ejercicios por cada deporte. Se recogen en
la tabla, para cada grupo de ejercicios, el número de diferencias entre las secuencias
simbólicas obtenidas por el experto y las generadas por METRASIM, cuáles son los
símbolos que marcan esa diferencia (que aparecen en una de las secuencias y no en la otra)
y el porcentaje de símbolos que coinciden. Se observa que este porcentaje es muy alto,
siempre por encima del 90% para todos los grupos, y con una media global del 97,71%.
Descripción
del
ejercicio
Nº de
secuencias
comparadas
Nº de
diferencias
encontradas
Símbolos diferentes
Porcentaje
de símbolos
iguales
Eje
rcic
ios
po
r
lesi
ón
(2
po
r ca
da
lesi
ón
)
Lesión 1 2 3 Hundimiento y Pico 90,5%
Lesión 2 2 0 - 100%
Lesión 3 2 0 - 100%
Lesión 4 2 1 Pico 96,9%
Lesión 5 2 3 Hundimiento y Pico 90,7%
Eje
rcic
ios
po
r
dep
ort
e (1
0 p
or
cad
a d
epo
rte)
Rugby 10 6 Hundimiento y Pico 96,3%
Natación 10 1 Hundimiento 99,4%
Triatlón 10 4 Hundimiento y Pico 97,5%
Futbol 10 3 Hundimiento y Pico 98,1%
Tenis 10 1 Pico 99,2%
Tabla 5-1. Análisis comparativo de METRASIM respecto al experto
Como se puede apreciar en la tabla, cuando existe alguna diferencia entre los símbolos
obtenidos por el sistema y los obtenidos por el experto, estas diferencias corresponden
siempre a picos y hundimientos. Son casos para los que el sistema siempre detectaba la
existencia de algunos picos o hundimientos que el experto no consideraba. De las
comparaciones realizadas se concluye que:
En todas las pruebas, cuando existían diferencias, éstas eran debidas a la ausencia
de picos y hundimientos en la secuencia simbólica proporcionada por el experto, es
decir, la secuencia de símbolos proporcionada por el sistema contenía más símbolos
que la del experto.
En ninguna de las pruebas había diferencias que estuvieran relacionadas con el
resto de los símbolos (subida, bajada, curvatura y zona de transición), que son los
símbolos más importantes ya que son los que definen la morfología de la curva
Experimentación y Evaluación
167
isocinética, a diferencia de los picos y hundimientos, que son símbolos cuya
presencia es circunstancial.
El experto confirmó que en las secuencias donde se daban esas diferencias, los picos y
hundimientos eran poco significativos en cuanto a la información que aportaban para el
análisis, ya sea para la obtención de un diagnóstico o para estudiar la evolución de un
deportista en particular. No obstante, afirmó que es mejor que el sistema aporte esos
símbolos que realmente sí que se corresponden con información presente en la secuencia
numérica original.
5.2. Distancia Simbólica
La evaluación de la distancia isocinética simbólica (DSI) se centró en verificar si los
resultados obtenidos por el sistema al comparar secuencias simbólicas utilizando DSI eran
más significativos que si se comparaban sus correspondientes series temporales numéricas
utilizando la distancia euclídea.
Se proporcionaron al sistema sI4 28 tests isocinéticos de la rodilla, realizados cada uno de
ellos por un deportista distinto: 20 no tenían lesión, 5 tenían una lesión común (rotura de
ligamentos) y 3 tenían una lesión rara (osteocondritis). También se proporcionaron al
sistema 3 modelos de referencia: 1 correspondiente a individuos sin lesiones y 2 con los
tipos de lesiones mencionados. Estos modelos de referencia fueron obtenidos mediante los
algoritmos numéricos del sistema I4 (ver apartado 4.2.1). Una vez obtenidos los modelos
de referencia numéricos se utilizó METRASIM para transformar esos modelos en los
correspondientes modelos simbólicos.
Los resultados obtenidos al comparar cada uno de los tests isocinéticos con el modelo de
referencia de su grupo, se muestran en la [Tabla 5-2]. En cada casilla se indica el número
de tests para los cuales la distancia al modelo está en el rango de distancia indicado en la
columna. Las secuencias numéricas se comparan con el modelo numérico mediante la
distancia euclídea y para las simbólicas se utiliza la DSI. Si este esquema se utiliza para el
diagnóstico de lesiones, asumiendo que el diagnóstico sería considerado como muy
probable si la distancia del test al modelo estuviera en el rango 0-0,25, y como probable si
estuviera en el rango 0,25-0,50, entonces se puede apreciar cómo DSI y la distancia
euclídea tienen un comportamiento muy similar, si bien DSI identifica mejor un caso más
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
168
de rotura de ligamentos y uno de osteocondritis. Por tanto se constató que en este
experimento la DSI discrimina mejor que la distancia euclídea. Esto es debido a que la DSI
se centra más en los aspectos relevantes de la curva representados por los símbolos.
Distancia Euclídea
Distancia Simbólica Isocinética
(DSI)
0 - 0,25 0,25 - 0,50 0.50 - 1 0 - 0,25 0,25 - 0,50 0.50 - 1
14 tests pacientes sanos
vs. modelo_ileso 11 2 1 11 2 1
5 tests rotura ligamentos
vs. modelo_rotura 3 2 - 4 1 -
3 tests osteocondritis
vs. modelo_osteocondritis 2 - 1 2 1 -
Tabla 5-2. Comparación de DSI con la distancia Euclídea
5.3. Método de Creación de Modelos Simbólicos
El Método de Creación de Modelos Simbólicos (MCMS) se basa en la Programación
Genética Guiada por Gramáticas (PGGG). El plan de experimentación descrito en el
apartado 4.1.3.3 será aplicado al dominio isocinético con el objetivo de ir discriminando
los parámetros del método para obtener la configuración óptima de parámetros para el
MCMS. Antes de describir en detalle las fases 1, 2 y 3 del plan de experimentación, se
describen tanto los parámetros que entran en juego en la experimentación como el conjunto
de ensayos previos realizados para determinar algunas de las decisiones del propio plan de
experimentación.
5.3.1. Parámetros de la experimentación
Para poder seleccionar los operadores, parámetros y criterios, descritos en el apartado
4.1.3.3, que entran en juego en el MCMS, se ha diseñado un interfaz que facilita la
experimentación llevada a cabo. Tal y como se puede apreciar en la [Figura 5-3] este
interfaz contiene una sección donde se encuentran todos los elementos que deben ser
seleccionados antes de ejecutar el método. Estos elementos son los siguientes:
1. Tipo de población inicial: Para evitar la convergencia del método hacia soluciones
locales, la población inicial de la que partirá el algoritmo estará constituida por
Experimentación y Evaluación
169
individuos generados de forma aleatoria, los cuales deben poder ser construidos
mediante la gramática de contexto libre definida para este dominio (ver [Tabla
4-9]). La decisión de crear la población inicial aleatoriamente fue respaldada por el
conjunto de ensayos previos (apartado 5.3.2) llevados a cabo antes de comenzar
con el plan de experimentación.
Figura 5-3. Interfaz diseñado para la experimentación de MCMS
2. Operadores genéticos: En la [Tabla 4-10] se muestran los operadores de selección,
cruce, remplazamiento y mutación que se pueden utilizar en el Marco de
Descubrimiento de Conocimiento diseñado. En relación con el operador de
mutación existen las siguientes opciones:
a. Sin Mutaciones: Esta opción desactivaría el operador de mutación.
b. GBM - Terminal (Mono): El operador de mutación GBM se aplica sobre un
único nodo terminal. En esta opción, al igual que en las dos siguientes, se
debe seleccionar el porcentaje de individuos de la población a los que será
aplicado este operador.
c. GBM - Terminal (Multi): El operador de mutación se aplica sobre un
número aleatorio de nodos terminales.
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
170
d. GBM - No Terminal: El operador de mutación se aplica sobre un único
nodo no terminal.
3. Control de Profundidad (descrito en el apartado 4.1.3.3): las opciones posibles
serían Sin Control, Límite Estricto y Límite Dinámico.
4. Fitness: Tal y como se ha descrito en el apartado 4.1.3.3 la función de fitness
implementada consiste en el cálculo de la media de la distancia simbólica de un
individuo a cada uno de los individuos que componen la población de referencia.
Como el objetivo es crear un modelo de referencia de una determinada población
seleccionada, la fitness en cada generación se calcula respecto a dicha población.
Cuando el algoritmo converja, el individuo con mayor fitness es el modelo de
referencia buscado; es el que dista menos de la población de referencia y, por tanto,
el mejor representante de la población seleccionada.
5. Método de Convergencia: las opciones posibles descritas en el apartado 4.1.3.3
son Porcentaje, Generaciones o Mixto.
5.3.2. Ensayos previos
En este apartado se describen los ensayos previos realizados (ver apartado 4.1.3.3), que
han permitido determinar una serie de parámetros iniciales. En primer lugar se han
seleccionado las poblaciones de referencia para las cuales se quieren obtener los
modelos. En colaboración con el Consejo Superior de Deportes se han seleccionado una
serie de ejercicios isocinéticos de diferentes deportes. Concretamente, se cuenta con
ejercicios de natación, triatlón y rugby. Una vez analizados los ejercicios disponibles,
tanto en cantidad como en calidad, se han seleccionado los siguientes conjuntos de
ejercicios:
Conjunto 1 (Natación): 10 ejercicios (8 de hombre y 2 de mujer)
Conjunto 2 (Triatlón): 26 ejercicios (16 de hombre y 10 de mujer)
Conjunto 3 (Rugby): 72 ejercicios (todos hombres)
Cada ejercicio consta de tres repeticiones, de modo que cada uno de los ejercicios aporta
tres individuos a la población de referencia. En la realización de los diferentes
experimentos se han empleado poblaciones de 15, 39 y 105 individuos (correspondientes
Experimentación y Evaluación
171
a 5, 13 y 35 ejercicios respectivamente). Los experimentos realizados sobre poblaciones
de 15 individuos se han podido llevar a cabo sobre individuos de los tres deportes. Sin
embargo, debido al número de ejercicios disponibles, los experimentos con 105
individuos sólo se podrán realizar sobre los individuos correspondientes al deporte de
rugby. En la [Tabla 5-3] se muestran las posibles combinaciones entre el número de
individuos de la población y los deportes seleccionados, que constituyen las poblaciones
de referencia para la experimentación.
Nº individuos
Deportes 15 39 105
Natación
Triatlón
Rugby
Tabla 5-3. Poblaciones de referencia para la experimentación
Una vez seleccionadas las poblaciones para la experimentación, se procedió a realizar un
conjunto de pruebas previas, que supusieron un total de 1080 ejecuciones del método de
creación de modelos simbólicos, las cuales fueron utilizadas para poder tomar una
decisión en las siguientes cuestiones:
Composición de la población inicial. La población inicial es el conjunto de
individuos de los que parte el algoritmo PGGG para ir creando las sucesivas
generaciones. Las opciones Mixta y Seleccionada para la generación de
individuos de la población inicial fueron descartadas con objeto de reducir el
riesgo de obtener soluciones subóptimas. En todas las pruebas previas realizadas
se observó que la opción Seleccionada era la peor, ya que se obtenían máximos
locales con mayor probabilidad y, además, apenas se apreciaban diferencias
significativas entre una generación y la siguiente. Las poblaciones mixtas
funcionaban un poco mejor. Sin embargo, en casi todos los casos, los mejores
resultados (en cuanto al mejor fitness alcanzado, menor número de generaciones,
etc.) siempre se obtenían cuando las poblaciones iniciales eran aleatorias. Por
tanto la experimentación se realizará con poblaciones iniciales totalmente
aleatorias.
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
172
Tamaño de la población inicial. En los ensayos previos se ha constatado que el
tamaño idóneo de la población inicial, que constituye la primera generación del
algoritmo de PGGG, se encuentra alrededor de los 150 individuos. En la [Figura
5-4] se muestra la media de los fitness máximos obtenidos con diferentes
tamaños de población inicial, siendo ésta aleatoria. Como se puede apreciar en la
figura, el fitness máximo se va incrementando según va aumentando el número
de individuos de la población inicial hasta alcanzar el mejor valor alrededor de
los 150 individuos. A partir de ese punto, el fitness máximo se mantiene para
poblaciones de 160, 170 y 180 y va disminuyendo ligeramente para tamaños
mayores. Aunque se podría haber elegido como tamaño de población inicial 160,
170 o 180, se ha optado por 150 porque el algoritmo es más rápido cuanto menor
es el tamaño de la población.
0 50 100 150 200 250 300
Tamaño de la población
fitn
ess
máxim
o
Figura 5-4. Fitness máximo respecto al número de individuos de la población inicial
Método de convergencia. Se utilizará el método Mixto donde los valores para
cada uno de los parámetros del método de convergencia son:
o Porcentaje de convergencia: se considera que el algoritmo ha convergido
cuando el porcentaje de individuos de una generación determinado
alcanza un umbral de fitness preestablecido. En esta investigación se ha
tomado como porcentaje de convergencia el 20%. No se toma un valor
más alto como porcentaje de convergencia ya que una vez que el
algoritmo converge sólo interesa el individuo que mejor fitness tiene
respecto a la población de referencia. Este individuo será el modelo de
referencia simbólico buscado. El porcentaje tampoco puede ser
Experimentación y Evaluación
173
excesivamente bajo ya que el algoritmo convergería en las primeras
iteraciones sin tener ocasión de buscar la solución óptima o soluciones
cercanas a la misma.
o Umbral de fitness: se ha determinado que es necesario que el umbral de
fitness, asociado al método de convergencia por porcentaje, sea diferente
para cada deporte. Esto es debido a las características particulares que
tienen los deportistas de cada deporte, que influye en la diversidad de los
ejercicios. Se ha establecido el umbral más estricto para el triatlón y el
menos estricto para la natación. Estos umbrales serán de 73, 80 y 85 para
los deportes de natación, rugby y triatlón, respectivamente.
o Número máximo de generaciones: mediante los ensayos previos también
se ha podido conocer el orden de magnitud del número de generaciones
necesarias para que el algoritmo converja. De este modo se ha establecido
un límite de 100 generaciones, tras las cuales el algoritmo finaliza aunque
no se haya alcanzado la convergencia. Este límite es lo suficientemente
alto como para poder asegurar que si el algoritmo no ha convergido antes
de llegar a él, ya no lo va a hacer; así se evita que el proceso se prolongue
sin fin.
Límite de profundidad asociado al operador de cruce GBC. Teniendo en
cuenta que en los 1080 ensayos previos no se ha obtenido ningún modelo de
referencia con una profundidad de 100 o superior (profundidad del árbol
sintáctico correspondiente al individuo), que todos los individuos de las
poblaciones de referencia tienen una profundidad menor que 100 y que los
modelos de referencia obtenidos tienen menor número de símbolos que los
individuos de la población de referencia y por tanto suelen tener menor
profundidad, se toma el valor de 100 para el límite de profundidad del operador
de cruce GBC.
El porcentaje de Mutación. El porcentaje de mutación asociado a todos los
tipos de GBM será de 100%. En los ensayos llevados a cabo se ha observado que
cuando se mutaban el 100% de los individuos de cada generación existe mayor
probabilidad de conseguir fitness superiores cuando el algoritmo convergía.
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
174
5.3.3. Plan de experimentación
En este apartado se describen en detalle las fases del plan de experimentación recogido
en el apartado 4.1.3.3. Cada uno de los casos se realizará cinco veces con el objetivo de
reducir en los resultados la influencia de la aleatoriedad inherente a los algoritmos
genéticos.
5.3.3.1. Fase 1 del experimento
El objetivo de esta fase es encontrar combinación de operador de selección y de cruce
que proporciona mejores resultados. En la Tabla 5-4 se muestra el contexto donde se
encuadra la experimentación de la fase 1.
Fase 1: Determinación de los operadores de selección y cruce
Objetivo Obtener el mejor operador de selección y de cruce
Hipótesis Ninguna (no se sabe cuál es el mejor a priori)
Parámetros fijos Convergencia porcentaje: 20%umbral fitness (natación): 73umbral fitness (triatlón): 85umbral fitness (rugby): 80nº generaciones: 100
Control profundidad Sin Control
Tipo de Mutación Ninguno
Parámetros variables Operador de Selección TorneoGeneracionalEscaladoRuleta
Operador de Cruce WhighamGBC
Tipo de población 1, 2, 3
Tabla 5-4. Fase 1 de experimentación del MCMS
Dentro de los parámetros fijos se encuentran el método de convergencia, el control de
profundidad y el tipo de mutación. En esta primera fase se operará sin control de
profundidad y sin mutación ya que se estima que es la configuración que menos
interfiere con la decisión de cuáles son los mejores operadores de cruce y selección.
Por tanto los operadores de selección y cruce junto con los tipos de población son los
parámetros variables de la experimentación.
Experimentación y Evaluación
175
Para poder discriminar los parámetros variables de esta fase, los casos de
experimentación son los que se presentan en la [Tabla 5-5]. Para cada uno de estos
casos, se deben recoger los datos definidos en la [Tabla 4-4]. Estos valores se
muestran en el ANEXO III en la [Tabla III-1], [Tabla III-2] y [Tabla III-3] para los
tamaños de población de referencia de 15, 39 y 105, respectivamente.
Con el objetivo de obtener la información que represente a cada caso en su totalidad,
se obtienen los valores de los criterios mostrados en la [Tabla 4-5]. Estos valores se
muestran en la [Tabla III-4], [Tabla III-5] y [Tabla III-6] del ANEXO III.
Caso Deporte Operador Selección Operador Cruce
1.1
Nat
ació
n
Torneo
GBC 1.2 Generacional
1.3 Ruleta
1.4 Truncamiento
1.5 Torneo
Whigham 1.6 Generacional
1.7 Ruleta
1.8 Truncamiento
1.9
Tri
atló
n
Torneo
GBC 1.10 Generacional
1.11 Ruleta
1.12 Truncamiento
1.13 Torneo
Whigham 1.14 Generacional
1.15 Ruleta
1.16 Truncamiento
1.17
Ru
gby
Torneo
GBC 1.18 Generacional
1.19 Ruleta
1.20 Truncamiento
1.21 Torneo
Whigham 1.22 Generacional
1.23 Ruleta
1.24 Truncamiento
Tabla 5-5. Casos de experimentación de la fase 1
En esta primera fase se deben seleccionar los mejores operadores de selección y de
cruce:
Operadores de Selección: Para buscar el mejor operador de selección se
asignan las puntuaciones a cada caso obteniéndose la [Tabla III-7]. Para poder
evaluar la puntuación obtenida se calculan los sumatorios de los puntos según
diferentes condiciones: puntuación global (suma total sin condiciones), por
tamaño de la población, por deporte, por el operador de cruce y por los
criterios G, MF, MFA y DTMF. Los sumatorios de estas puntuaciones se
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
176
muestran en la [Tabla 5-6], donde se señala en negrita el mejor valor para cada
condición.
Condición Sumatorio Torneo Generacional Ruleta Truncamiento
∑
Puntuación global 132 131,5 103,5 113
Número
individuos
n = 15 62 68 51 59
n = 39 45 42,5 36 36,5
n = 105 25 21 16,5 17,5
Deporte
Natación 18 26 12 24
Triatlón 50 41,5 31 37,5
Rugby 64 64 60,5 51,5
Op. Cruce GBC 68 64 46 62
Whigham 64 67,5 57,5 51
Criterio
G 32 33,5 24 30,5
MF 36 35 25 24
MFA 38 29 26,5 26,5
DTMF 26 34 28 32
Tabla 5-6. Fase 1 del experimento. Evaluación de los operadores de selección
De los cuatro operadores de selección, los operadores Torneo y Generacional
son los que destacan respecto a la puntuación global obtenida. El operador
Generacional parece ser mejor para poblaciones de referencia de 15 individuos
mientras que Torneo lo sería para poblaciones de 39 y 105 individuos.
Por deportes, Generacional obtiene los mejores valores para natación y Torneo
para triatlón. Sin embargo estos dos operadores de selección se encuentran
empatados en el caso del rugby.
En relación con los operadores de cruce, los pares Torneo-GBC y
Generacional-Whigham son los que obtienen mejores puntuaciones.
Respecto a los criterios evaluados, el operador Generacional es el que obtiene
los mejores resultados respecto de la media del número de generaciones (G) y
la desviación típica del mejor fitness (DTMF), y Torneo respecto de la media
del mejor fitness (MF) y el mejor fitness absoluto (MFA).
A la vista de los datos obtenidos, los operadores de selección Ruleta y
Truncamiento se descartan. Para los operadores Torneo y Generacional los
resultados obtenidos son muy parecidos, por lo que no son concluyentes para
descartar ninguno de ellos. Por lo tanto, como resultado de esta fase se eligen
los operadores de selección Torneo y Generacional.
Operadores de cruce: La puntuación de los operadores de cruce se muestra
en la [Tabla III-8]. Al igual que se ha hecho para el caso de la puntación de los
operadores de selección, en este caso también se calculan los sumatorios de
Experimentación y Evaluación
177
los puntos obtenidos según diferentes condiciones tal y como se refleja en la
[Tabla 5-7].
Condición Sumatorio GBC Whigham
∑
Puntuación global 155,5 132,5
Número
individuos
n = 15 81,0 63,0
n = 39 49,5 46,5
n = 105 25 23
Deporte
Natación 28,0 20,0
Triatlón 49,5 46,5
Rugby 78,0 66,0
Op. Cruce
Tornado 38,0 34,0
Generacional 41,0 31,0
Ruleta 34,5 37,5
Truncamiento 42,0 30,0
Criterio
G 39,5 32,5
MF 39,0 33,0
MFA 38,0 34,0
DTMF 39,0 33,0
Tabla 5-7. Fase 1 del experimento. Evaluación de los operadores de cruce
De los dos operadores de cruce, el GBC es el que obtiene la mejor puntuación
global siendo también el mejor para cualquier tamaño de población, para
cualquier deporte y para todos los criterios evaluados. Whigham sólo supera a
GBC en combinación con el operador de selección Ruleta, que además es uno
de los operadores de selección que se va a descartar, como se acaba de
explicar. Por tanto, se concluye que el mejor operador de cruce es el GBC.
Como resultado del análisis de esta fase 1 del experimento se concluye que los
mejores operadores genéticos para el MCMS son:
Operador de Selección: Torneo, Generacional
Operador de Cruce: GBC
Como mejor operador de selección se han obtenido dos operadores posibles. Por ello
estos dos operadores deberán ser añadidos como parámetros variables de la fase 2,
para poder decidir cuál de ellos se comporta mejor.
5.3.3.2. Fase 2 del experimento
El contexto donde se encuadra la experimentación de la fase 2 se muestra en la [Tabla
5-8]. El objetivo de esta fase consiste en determinar el tipo de mutación que mejor se
comporta, pero dado que se ha obtenido más de un operador de selección en la fase
anterior, esta fase también se utilizará para fijar cuál de estos operadores de selección
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
178
se comportan mejor. Por tanto, la fase 2 del experimento tiene un doble objetivo:
elegir el operador de selección más adecuado (de los dos provenientes de la fase 1) y
determinar el mejor tipo de mutación.
Fase 2: Determinación del tipo de mutación y del operador de selección
Objetivos Conocer el mejor tipo de mutaciónFijar un operador de selección
Hipótesis Ninguna (no se sabe cuál es el mejor a priori)
Parámetros fijos Convergencia porcentaje: 20%umbral fitness (natación): 73umbral fitness (triatlón): 85umbral fitness (rugby): 80nº generaciones: 100
Control profundidad Sin Control
Operador de cruce(obtenido de la Fase 1)
GBC
Parámetros variables Tipo de Mutación Sin MutaciónGBM - Terminal (Mono)GBM - Terminal (Multi)GBM - No Terminal
Operador de selección(obtenidos de la Fase 1)
Tornado, Generacional
Tipo de población 1, 2, 3
Tabla 5-8. Fase 2 de la experimentación del MCMS
Los parámetros fijos son el método de convergencia, el control de profundidad y el
operador de cruce (obtenido en la fase anterior).
En esta segunda fase se operará sin control de profundidad, siendo por tanto los
parámetros variables de la experimentación los tipos de mutación, los operadores de
selección resultantes de la fase anterior (Torneo y Generacional) y los tipos de
población.
Para poder discriminar los parámetros variables de esta fase, los casos de
experimentación son los que se presentan en la [Tabla 5-9].
Para cada uno de estos casos, se deben recoger los datos definidos en la [Tabla 4-4].
Estos valores se muestran en el ANEXO III en la [Tabla III-9], [Tabla III-10] y [Tabla
III-11] para los tamaños de población de referencia de 15, 39 y 105, respectivamente.
Experimentación y Evaluación
179
Con el objetivo de obtener la información que represente a cada caso en su totalidad,
se obtienen los valores de los criterios mostrados en la [Tabla 4-5]. Estos valores se
muestran en la [Tabla III-12], [Tabla III-13] y [Tabla III-14] del ANEXO III.
Caso Deporte Operador Selección Tipo de Mutación
2.1
Nat
ació
n Torneo
Sin Mutaciones
2.2 GBM: Terminal (Mono)
2.3 GBM: Terminal (Multi)
2.4 GBM: No Terminal
2.5
Generacional
Sin Mutaciones
2.6 GBM: Terminal (Mono)
2.7 GBM: Terminal (Multi)
2.8 GBM: No Terminal
2.9
Tri
atló
n Torneo
Sin Mutaciones
2.10 GBM: Terminal (Mono)
2.11 GBM: Terminal (Multi)
2.12 GBM: No Terminal
2.13
Generacional
Sin Mutaciones
2.14 GBM: Terminal (Mono)
2.15 GBM: Terminal (Multi)
2.16 GBM: No Terminal
2.17
Ru
gby
Torneo
Sin Mutaciones
2.18 GBM: Terminal (Mono)
2.19 GBM: Terminal (Multi)
2.20 GBM: No Terminal
2.21
Generacional
Sin Mutaciones
2.22 GBM: Terminal (Mono)
2.23 GBM: Terminal (Multi)
2.24 GBM: No Terminal
Tabla 5-9. Casos de experimentación de la fase 2
En esta segunda fase se debe fijar el operador de selección y decidir cuál es el mejor
tipo de mutación:
Operadores de Selección: La puntuación obtenida por cada uno de los
operadores de selección se muestra en la [Tabla III-15]. Para la evaluación de
la puntuación obtenida se calculan los sumarios de dichos puntos según
diferentes condiciones: puntuación global (suma total sin condiciones), por
número de individuos, por deporte, por el operador de cruce y por los
parámetros G, MF, MFA y DTMF. Los sumatorios de estas condiciones se
muestran en la [Tabla 5-10].
El operador Generacional es el que tiene mayor puntación global siendo mejor
también para poblaciones de referencia de 15 y 39 individuos aunque empata
con el operador Torneo para poblaciones de 105 individuos.
En relación a los deportes, el operador Generacional es mejor para triatlón y
rugby aunque para natación el operador Torneo es el que obtiene mayor
puntuación.
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
180
Condición Sumatorio Torneo Generacional
∑
Puntuación global 140 148
Número
individuos
n = 15 70,5 73,5
n = 39 45,5 50,5
n = 105 24 24
Deporte
Natación 26,5 21,5
Triatlón 44 52
Rugby 69,5 74,5
Op.
Mutación
Sin Mutaciones 37 35
GBM: Terminal (Mono) 38 34
GBM: Terminal (Multi) 32 40
GBM: No Terminal 33 39
Criterio
G 34,5 37,5
MF 34 38
MFA 34,5 37,5
DTMF 37 35
Tabla 5-10. Fase 2 del experimento. Evaluación de los operadores de selección
En combinación con los operadores de mutación, los que mejor puntuación
obtienen son los pares Torneo-Sin Mutaciones, Torneo-GBM Terminal
(Mono), Generacional-GBM Terminal (Multi) y Generacional-GBM No
Terminal.
En lo que respecta a la evaluación de los criterios utilizados, el operador
Generacional es el que mejor puntuación obtiene para todos ellos a excepción
de la desviación típica del mejor fitness, para el cual obtiene mayor puntuación
el operador Torneo.
Aunque en algunas condiciones el operador Torneo se comporta mejor, es
evidente que el operador Generacional es el que mayor puntación obtiene en
casi todas las condiciones evaluadas. Además el Generacional se comporta
mejor para los criterios MF y MFA, que valoran los mejores modelos de
referencia obtenidos en cada caso y por lo tanto son criterios muy importantes.
Tipo de Mutación: La puntuación de los tipos de mutación se muestra en la
[Tabla III-16]. Los sumatorios de los puntos obtenidos según diferentes
condiciones se reflejan en la [Tabla 5-11].
El operador de mutación GBM No Terminal es el que obtiene mejor
puntuación en todas las condiciones excepto en el criterio G, que mide el
número de generaciones en que converge el algoritmo. Parece lógico que al
tener que realizar mutaciones en la ejecución del algoritmo PGGG se necesite
un mayor número de generaciones para alcanzar la convergencia.
Experimentación y Evaluación
181
Aunque el operador de mutación GBM No Terminal obtiene la mejor
puntuación con los dos operadores de selección, se puede apreciar que es para
el caso del operador Generacional donde se obtiene la mayor puntación, lo
cual refuerza la decisión de elegir el operador Generacional.
Condición
Sumatorio Sin Mutación
GBM
Terminal (Mono)
GBM
Terminal (Multi)
GBM
No Terminal
∑
Puntuación global 120,5 109 94 156,5
Número
individuos
n = 15 60 55 50 75
n = 39 41,5 37 29 52,5
n = 105 19 17 15 29
Deporte
Natación 22 18 15 25
Triatlón 39,5 40 31 49,5
Rugby 59 51 48 82
Op.
Selección
Torneo 60,5 57,5 45,5 76,5
Generacional 60 51,5 48,5 80
Criterio
G 37 34 29,5 19,5
MF 29 23 20 48
MFA 30,5 23 23,5 43
DTMF 24 29 21 46
Tabla 5-11. Fase 2 del experimento. Evaluación de los tipos de mutación
Como resultado del análisis de la fase 1 y 2 del experimento los operadores elegidos
son:
Operador de Selección: Generacional
Operador de Cruce: GBC
Operador de Mutación: GBM No Terminal
Estos son los operadores que se fijan para la siguiente fase del experimento.
5.3.3.3. Fase 3 del experimento
El objetivo de esta fase es determinar qué mecanismo de control de profundidad
proporciona mejores resultados. La configuración de la fase 3 se muestra en la [Tabla
5-12].
Como parámetros fijos se tienen el método de convergencia y los operadores fijados
en las dos fases anteriores de la experimentación: operador de selección Generacional,
operador de cruce GBC y operador de mutación GBM No Terminal. Los parámetros
variables de esta fase serán los mecanismos de control de profundidad y el tipo de
población.
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
182
Fase 3: Determinación del tipo de control de profundidad
Objetivo Obtener el mejor tipo de control de profundidad
Hipótesis Ninguna (no se sabe cuál es el mejor a priori)
Parámetros fijos Convergencia porcentaje: 20%umbral fitness (natación): 73umbral fitness (triatlón): 85umbral fitness (rugby): 80nº generaciones: 100
Operador de selección(obtenido de las Fases 1 y 2)
Generacional
Operador de cruce(obtenido de la Fase 1)
GBC
Tipo de Mutación GBM – No Terminal
Parámetros variables Control profundidad Sin ControlLímite Estricto 5Límite Estricto 10Límite Estricto 15Límite Dinámico 5Límite Dinámico 10Límite Dinámico 15
Tipo de población 1, 2, 3
Tabla 5-12. Fase 3 de la experimentación del MCMS
Teniendo en cuenta los parámetros variables de esta fase los casos de experimentación
son los que se presentan en la [Tabla 5-13].
Caso Deporte Control de Profundidad Límite
3.1
Nat
ació
n
Sin Control
3.2
Límite Estricto
5
3.3 10
3.4 15
3.5
Límite Dinámico
5
3.6 10
3.7 15
3.8
Tri
atló
n
Sin Control
3.9
Límite Estricto
5
3.10 10
3.11 15
3.12
Límite Dinámico
5
3.13 10
3.14 15
3.15
Ru
gby
Sin Control 5
3.16
Límite Estricto
5
3.17 10
3.18 15
3.19
Límite Dinámico
5
3.20 10
3.21 15
Tabla 5-13. Casos de experimentación de la fase 3
Para cada uno de estos casos, se deben recoger los datos definidos en la [Tabla 4-4].
Estos valores se muestran en el ANEXO III en la [Tabla III-17], [Tabla III-18] y
Experimentación y Evaluación
183
[Tabla III-19] para los tamaños de población de referencia de 15, 39 y 105,
respectivamente.
Con el objetivo de obtener la información que represente a cada caso en su totalidad,
se obtienen los valores de los criterios mostrados en la [Tabla 4-5]. Estos valores se
muestran en la [Tabla III-20], [Tabla III-21] y [Tabla III-22] del ANEXO III.
La puntuación obtenida por cada uno de los mecanismos de control de profundidad se
muestra en la [Tabla III-23]. Los sumatorios de los puntos obtenidos según diferentes
condiciones se reflejan en la [Tabla 5-14].
Condición Sumatorio
Sin
Control
Límite Estricto Límite Dinámico
5 10 15 5 10 15
∑
Puntuación global 102 109,5 93,5 106,5 88 92 80,5
Número
individuos
n = 15 41 53 52,5 54 52 48,5 35
n = 39 42 36 28 35,5 25 32,5 25
n = 105 19 20,5 13 17 11 11 20,5
Deporte
Natación 13 19 23,5 16 13 16,5 11
Triatlón 36 33 31 38,5 32 27,5 26
Rugby 53 57,5 39 52 43 48 43,5
Criterio
G 24 24 24 24 24 24 24
MF 27 30 23 31 20 23 14
MFA 23 28,5 23,5 25,5 20 32 15,5
DTMF 28 27 23 26 24 13 27
Tabla 5-14. Fase 3 del experimento. Evaluación de los mecanismos de control de profundidad
A la vista de la tabla, el mejor control de profundidad es el Límite estricto con
profundidad 5 (LE5), que es el que obtiene la mejor puntuación global. Aunque LE5
no es un claro dominador en todas las condiciones evaluadas, se puede observar que
es el más regular ya que casi siempre están entre los dos mejores de cada condición.
Las dos siguientes mejores puntuaciones son las del Límite Estricto 15 (LE15) y del
método Sin Control (SC), pero estos dos son más irregulares. Los métodos basados
en Límite Dinámico son los que obtienen peor puntuación para la mayoría de las
condiciones.
Respecto al número de individuos de la población de referencia, LE5 es el mejor para
105 individuos y el segundo mejor para 15 y 39 individuos. En relación con los
deportes, LE5 es el que mayor puntación obtiene en rugby y ocupa la segunda y
tercera posición en natación y triatlón, respectivamente.
Para los diferentes criterios, todos los tipos de control de profundidad se encuentran
empatados respecto al número de generaciones. Respecto a los criterios MF, MFA y
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
184
DTMF no existe el mejor tipo de control para todos ellos. Sin embargo LE5 es el que
ocupa la segunda posición para todos estos criterios.
5.3.4. Análisis del proceso de experimentación
El proceso iterativo de experimentación definido en el Marco de Descubrimiento
propuesto y puesto en práctica para el dominio isocinético, ha concluido con la
determinación de cuál es la mejor combinación de operadores y método de control de
profundidad para aplicar el algoritmo PGGG proporcionando los mejores resultados
para la creación de modelos simbólicos en el dominio isocinético (método MCMS).
La mejor combinación de operadores obtenida en el conjunto de las 3 fases de la
experimentación es:
Operador de Selección: Generacional
Operador de Cruce: GBC
Operador de Mutación: GBM No Terminal
Tipo de Control de Profundidad: Límite Estricto 5
Se ha realizado también un análisis de cuál es la generación en que se alcanza la
convergencia en los distintos casos. Este análisis tiene como objetivo conocer cuál es el
número de generaciones aproximado en el que el algoritmo alcanza la convergencia,
para poder tomar decisiones relacionadas con los criterios de convergencia,
especialmente si se incluye un número límite de generaciones como ha sido el caso.
Para ello se han recogido y calculado en las tablas [Tabla III-17], [Tabla III-18] y [Tabla
III-19] una serie de datos sobre la generación en la que se alcanza el mejor fitness (MF)
para cada una de las cinco pruebas efectuadas de todos los casos (repeticiones realizadas
para reducir los riesgos derivados de la gran aleatoriedad de los métodos basados en
algoritmos genéticos). En la [Tabla 5-15] se condensa la información de las tablas
anteriores, presentando el número de generaciones donde se ha obtenido el mejor fitness
por cada prueba junto con la media y el mínimo valor para cada población de referencia.
Aumentando el nivel de generalidad se presenta también el promedio y el mínimo por
deportes y por número de individuos de la población de referencia. Por último se
presenta el dato medio y mínimo global.
Experimentación y Evaluación
185
Pruebas Media Mínimo
1 2 3 4 5
Pruebas
15
Natación 89 73 51 97 87 79,4 51
Triatlón 65 94 64 42 76 68,2 42
Rugby 60 93 79 56 67 71 56
39 Triatlón 96 60 80 99 64 79,8 60
Rugby 35 85 49 80 53 60,4 35
105 Rugby 16 100 85 83 68 70,4 16
Deporte
Natación 79,4 51
Triatlón 74 42
Rugby 67,2667 16
Número
individuos
15 72,8667 42
39 70,1 35
105 70,4 16
Total 71,5333 16
Tabla 5-15. Número de generación en que se alcanza el mejor fitness
Esta información sirve de referencia para limitar la ejecución del algoritmo de acuerdo a
un número máximo de generaciones, permitiendo utilizar Generaciones o Mixto como
método de convergencia, en lugar de Porcentaje. Es posible observar que dicho número
de generaciones se sitúa generalmente en torno a 70. Esto permitiría ajustar el número
de generaciones (reduciendo el valor de 100 que se ha empleado en el plan de
experimentación a otro situado en el intervalo [70,100]) con un método de convergencia
mixto, si se justifica por razones de eficiencia computacional.
Análisis Gráfico de la evolución de los valores de fitness
A continuación se muestran una serie de gráficas donde se puede observar la evolución
del mejor fitness, fitness medio y peor fitness a lo largo de las sucesivas generaciones en
diferentes casos. Se muestran las gráficas de evolución para las cinco pruebas de los
casos del plan de experimentación donde se han empleado los parámetros óptimos
obtenidos en la experimentación, que son:
Operador de Selección: Generacional
Operador de Cruce: GBC
Operador de Mutación: GBM No Terminal
Tipo de Control de Profundidad: Límite Estricto 5
El análisis de gráficas similares durante los ensayos previos realizados permitió realizar
numerosos ajustes en la función fitness y en otros parámetros, y proporcionó una
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
186
información vital sobre el funcionamiento del método MCMS a lo largo de todo el
proceso de experimentación.
Los casos de la fase 3 (ver [Tabla 5-13]) donde se han utilizados estos parámetros son:
- Caso 3.2 para poblaciones de 15 individuos de natación (ver [Tabla 5-16])
Prueba 1
Prueba 2
Prueba 3
Prueba 4
Prueba 5
Tabla 5-16. Representación gráfica de las cinco pruebas del caso 3.2 (Natación) – 15 individuos
Experimentación y Evaluación
187
- Caso 3.9 para poblaciones de 15 individuos de triatlón (ver [Tabla 5-17])
Prueba 1
Prueba 2
Prueba 3
Prueba 4
Prueba 5
Tabla 5-17. Representación gráfica de las cinco pruebas del caso 3.9 (Triatlón) – 15 individuos
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
188
- Caso 3.9 para poblaciones de 39 individuos de triatlón (ver [Tabla 5-18])
Prueba 1
Prueba 2
Prueba 3
Prueba 4
Prueba 5
Tabla 5-18. Representación gráfica de las cinco pruebas del caso 3.9 (Triatlón) – 39 individuos
Experimentación y Evaluación
189
- Caso 3.16 para poblaciones de 15 individuos de rugby (ver [Tabla 5-19])
Prueba 1
Prueba 2
Prueba 3
Prueba 4
Prueba 5
Tabla 5-19. Representación gráfica de las cinco pruebas del caso 3.16 (Rugby) – 15 individuos
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
190
- Caso 3.16 para poblaciones de 39 individuos de rugby (ver [Tabla 5-20])
Prueba 1
Prueba 2
Prueba 3
Prueba 4
Prueba 5
Tabla 5-20. Representación gráfica de las cinco pruebas del caso 3.16 (Rugby) – 39 individuos
Experimentación y Evaluación
191
- Caso 3.16 para poblaciones de 105 individuos de rugby (ver [Tabla 5-21])
Prueba 1
Prueba 2
Prueba 3
Prueba 4
Prueba 5
Tabla 5-21. Representación gráfica de las cinco pruebas del caso 3.16 (Rugby) – 105 individuos
En las gráficas de todas las pruebas se observa un comportamiento similar: en las
primeras generaciones se observa un claro crecimiento de los valores correspondientes
al mejor fitness, fitness medio y peor fitness, visibles en las gráficas por BF (Best
Fitness), AF (Average Fitness) y WF (Worst Fitness) respectivamente. Sin embargo el
crecimiento no es continuo sino que a veces baja y otras veces aumenta. Este
Modelo de Descubrimiento de Conocimiento en Series Temporales Numéricas aplicando Métodos Simbólicos
192
comportamiento se debe al uso de mutaciones en el algoritmo PGGG, en concreto la
mutación GBM No Terminal.
La introducción de mutaciones evita que el algoritmo se fije en un máximo local ya que
promueve la generación de individuos nuevos originando, a la larga, mejores fitness en
los individuos obtenidos en las últimas generaciones del proceso.
CAPÍTULO 6. CONCLUSIONES
Conclusiones
195
A la hora de elaborar las conclusiones y valoraciones finales de un trabajo resulta obligado
realizar una mirada retrospectiva al planteamiento inicial del mismo. El principal objetivo
de este trabajo, tal y como se planteó en el CAPÍTULO 3, era el diseño de un marco de
descubrimiento de conocimiento para series temporales numéricas aplicando métodos
simbólicos. El marco diseñado comprende: un método de transformación a símbolos, una
distancia simbólica y un método de creación de modelos simbólicos.
El Método de Transformación a Símbolos (METRASIM) transforma una serie numérica
en una secuencia simbólica que representa el contenido semántico de un dominio
específico. Mediante este proceso se extrae automáticamente, de una serie temporal
numérica, un conjunto de símbolos que se corresponden con los comportamientos de la
serie que son relevantes en el dominio y que, por tanto, serían aquellos que el experto
habría identificado. Con el fin de que el método diseñado obtuviera una alta aceptación por
parte del usuario final, se consideró importante que el método realizara la transformación
de la serie de la misma forma que lo haría un experto en el dominio de aplicación de dicha
serie. Por ello, se consideró que el método debería usar los mismos símbolos que usa el
experto y debería aplicar un proceso de razonamiento similar al suyo. Manejando un
lenguaje cercano al usuario se consigue que los resultados obtenidos sean más fácilmente
comprensibles. Aunque existen en el estado del arte métodos de transformación a símbolos
que funcionan de una manera similar, como SDL, SDA o SAX (ver apartado 2.4.2.2), estos
métodos sólo usan información independiente del dominio. Para poder disponer de un
método de transformación de series numéricas a secuencias simbólicas que incorpore
conocimiento experto, fue necesario diseñar METRASIM.
Este método (METRASIM) ha sido aplicado al proyecto I4, el cual hasta ese momento
proporcionaba un conjunto de herramientas numéricas para el análisis de curvas de fuerza
procedentes de pruebas isocinéticas realizadas a deportistas y pacientes en general. Aunque
los resultados obtenidos con dichas herramientas numéricas habían sido de gran ayuda para
los expertos en isocinesia, dichos expertos no tenían total confianza en el sistema debido a
la dificultad para interpretar los resultados y el procedimiento seguido. La perspectiva
simbólica con que se aborda el análisis de las secuencias permite mostrar los aspectos
relevantes de las secuencias isocinéticas en un lenguaje comprensible para los expertos en
isocinesia. METRASIM ha demostrado ser de gran utilidad para los expertos en isocinesia
ya que obtiene de la serie el conjunto de símbolos que usan ellos para el análisis, pero es
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
196
aún más útil para los médicos no especialistas ya que les proporciona el conocimiento
experto necesario para poder entender y analizar la serie numérica original. Además,
también ha resultado de gran utilidad en la generación de informes médicos, ya que el
lenguaje que usa el experto en estos informes utiliza los símbolos que proporciona
METRASIM. El experto afirmó que este proceso era de gran utilidad en su trabajo
cotidiano haciendo más fácil y eficaz la elaboración de dichos informes.
Una vez que se dispone de un método capaz de transformar las series temporales a
secuencias simbólicas, se hace necesario disponer de una medida de distancia que permita
comparar secuencias simbólicas, como base para cualquier tarea de data mining. Se ha
diseñado un método para calcular esa distancia, a la cual se ha llamado Distancia
Simbólica. En la aplicación al dominio isocinético, la Distancia Simbólica Isocinética ha
demostrado ser de gran utilidad para expertos y, fundamentalmente, para médicos
principiantes al permitir obtener, de forma automática, conclusiones sobre el grado de
similitud de dos secuencias simbólicas previamente seleccionadas. Esto tiene una gran
aplicación, por ejemplo, para comparar un ejercicio isocinético de un paciente con una
secuencia modelo de un determinado grupo de población, para analizar la evolución de un
paciente lesionado, en la ayuda al diagnóstico de lesiones, etc.
El Método de Creación de Modelos Simbólicos (MCMS) completa el Marco de
Descubrimiento de Conocimiento que se propone en este trabajo. La posibilidad de obtener
un modelo de referencia de un conjunto de secuencias simbólicas seleccionadas
previamente y pertenecientes a un determinado grupo de población, es una herramienta
fundamental para diversas tareas de data mining como caracterización, clasificación, etc.
El MCMS se ha diseñado mediante un algoritmo de Programación Genética Guiada por
Gramáticas. Se trata de una aplicación novedosa de la PGGG pues hasta la fecha no se
conocen trabajos anteriores que usen PGGG sobre series temporales. A la hora de
implementar el algoritmo PGGG, es necesario seleccionar qué operadores genéticos,
método de control de profundidad, etc. se van a usar, es decir, hay que determinar la mejor
configuración para el uso del algoritmo PGGG. Para ello se debe realizar un proceso de
experimentación que permita discriminar qué combinación de opciones funciona mejor. En
concreto habría que:
Seleccionar, de entre todos los operadores genéticos aplicables, aquellos que
producen los mejores resultados.
Conclusiones
197
Para aquellos operadores parametrizables, encontrar los valores más adecuados
para lograr un mejor funcionamiento global del método. Los experimentos
mostrados en este trabajo han sido diseñados para obtener un ajuste fino de las
opciones y parámetros probados en los experimentos.
En la evaluación realizada se ha pretendido, no sólo comprobar el correcto funcionamiento
de los métodos propuestos sino también demostrar su utilidad práctica, aplicándolo a un
dominio real, de gran complejidad e importancia. La viabilidad del método ha quedado
probada ya que los resultados obtenidos han sido muy satisfactorios, tanto desde un punto
de vista objetivo, como en la opinión de los usuarios especialistas. El sistema I4, que
incluye la aplicación del marco propuesto al dominio isocinético, está actualmente en uso
en el Consejo Superior de Deportes para el análisis de los tests isocinéticos realizados a los
deportistas y otros pacientes, facilitando considerablemente la labor de los especialistas.
La transformación al dominio simbólico abre numerosas posibilidades de aplicación en
este y otros dominios: caracterización funcional por deporte, por edad o por cualquier otro
atributo, clasificación de lesiones u otras disfunciones, asesoramiento deportivo para
jóvenes promesas deportivas, detección de fraudes, etc.
CAPÍTULO 7. LINEAS FUTURAS DE INVESTIGACIÓN
Líneas Futuras de Investigación
201
Durante el desarrollo de este trabajo de investigación se han identificado las siguientes
líneas de investigación en las que sería interesante profundizar:
Incluir un método de aprendizaje en el método de transformación a símbolos y
en la distancia simbólica con el objetivo de que los valores que toman los
parámetros de estos algoritmos puedan ser modificados automáticamente según el
experto vaya clasificando los resultados de los métodos. Especialmente interesante
podría ser la adaptación de los pesos relacionados con las operadores de edición de
la Distancia Simbólica. Esta inclusión ayudaría a perfeccionar los resultados
obtenidos de ambos métodos, al estar automáticamente aprendiendo de los inputs
(feedback) suministrados por el experto.
Asociar valores de certeza borrosos a los símbolos obtenidos por METRASIM
para permitir un grado de flexibilidad en la definición de los símbolos resultantes
de la traducción de una serie temporal. Esto permitiría, en el caso del dominio
isocinético, por ejemplo que las subidas no tengan que ser 100% suaves o agudas.
En este caso habría que adaptar tanto la distancia simbólica como el método de
creación de modelos simbólicos para que tuvieran en cuenta esta cuestión.
Diseñar un método de descubrimiento de patrones basado en secuencias
simbólicas. Este algoritmo permitirá identificar patrones simbólicos, es decir
secuencias simbólicas concretas susceptibles de representar un determinado grupo
de población o circunstancia especial (por ejemplo una lesión). Si fuera posible
encontrar secuencias simbólicas asociadas repetidamente a una determinada lesión
(y no a casos sanos) se podría usar este conocimiento para ayuda al diagnóstico,
detección precoz, detección de fraudes, etc.
Enriquecer el conjunto de características simples detectadas por el Módulo
Independiente del Dominio (MID). La idea es que el MID sea capaz de identificar
todos los ceros de las derivadas de orden n como puntos de interés susceptibles de
ser transformados en símbolos. Así, además de los picos y hundimientos (ceros de
la primera derivada) se identificarían los puntos de inflexión, etc.
Hacer el Marco de Descubrimiento de Conocimiento independiente del
dominio. Para ello se deberían revisar todos los métodos y analizar cómo actuar en
cada caso. Lo comentado en el punto anterior sería de gran ayuda para el
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
202
METRASIM al enriquecer el conjunto de símbolos derivado del MID. Se debería
estudiar también como asociar un grafo de costes independiente del dominio a este
conjunto de símbolos, pero sin duda, el desafío más interesante sería el asociado
con el Método de Creación de Modelos Simbólicos (MCMS) ya que se debería
diseñar una gramática de contexto libre capaz de generar las secuencias simbólicas
obtenidas por el MID.
Se podría considerar también el incluir otros operadores menos habituales en el
método de PGGG. Se podrían considerar otros operadores de reemplazo y los
operadores denominados catastróficos como el operador de empaquetado y el
operador del juicio final.
CAPÍTULO 8. BIBLIOGRAFÍA
Bibliografía
205
[Agrawal et al. 93a] Agrawal, R., Faloutsos, C. y Swami, A., ―Efficient similarity search in
sequence databases‖, Proceedings of the 4th
Int'l Conference on Foundations of Data
Organization and Algorithms. Chicago, IL, pp. 69-84, Octubre 1993.
[Agrawal et al. 93b] Agrawal, R., Imielinski, T. y Swami, A., ―Mining association rules
between sets of items in large databases‖, Proceedings ACM SIGMOD, Conf. on
Management of Data, pp. 207-216, Washington, D.C., Mayo 1993.
[Agrawal et al. 94] Agrawal, R. y Srikant, R., ―Fast Algorithms for Mining Association
Rules‖, Proceedings International Conference Very Large Database (VLDB’94), pp. 487-
499, Santiago, Chile, 1994.
[Agrawal et al. 95] Agrawal, R., Psaila, G., Wimmers, E.L. y Zaït, M., ―Querying shapes
of histories‖, Proceedings of 21st International Conference on Very Large Data Bases,
Morgan Kaufmann, pp. 502–514, 1995.
[Agrawal et al. 98] Agrawal, R., Gehrke, J., Gunopulos, D. y Raghavan, P., ―Automatic
Subspace Clustering of High Dimensional Data for Data Mining Applications‖,
Proceedings ACM SIGMOD International Conf. on Management of Data, Seattle, WA,
1998.
[Alonso et al. 01] Alonso, F., Lopez-Chavarrías, I., Caraça-Valente, J. P. y Montes, C.,
―Knowledge Discovery in Time Series Using Expert Knowledge‖, K. J., Cios, Medical
Data Mining and Knowledge Discovery, Heidelberg: Physica-Verlag, 2001.
[Alonso et al. 03] Alonso, F., Caraça-Valente, J. P., Martinez, L. y Montes, C.,
―Discovering Similar Patterns for Characterizing Time Series in a Medical Domain,
Knowledge and Information Systems‖, Best application paper award at ICDM
International Conference on Data Mining, vol. 5, pp. 183-200, 2003.
[Alonso et al. 06] Alonso, F., Martinez, L., Pérez, A., Santamaría, A. y Valente, J. P.,
―Symbol Extraction Method and Symbolic Distance for Analysing Medical Time Series‖,
International Symposium on Biological and Medical Data Analysis, ISBMDA 2006, LNCS,
vol. 4345, pp. 311-322, Tesalónica, Grecia, 2006.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
206
[André-Jönsson y Badal 97] André-Jönsson, H. y Badal. D., ―Using Signature Files for
Querying Time-Series Data‖, Proceedings of Principles of Data Mining and Knowledge
Discovery, 1st European Symposium Trondheim, Norway, pp. 211-220, Junio 1997.
[Ankerst et al. 99] Ankerst, M., Breunig, M.M., Kriegel, H.P. y Sander, J., ―OPTICS:
Ordering Points To Identify the Clustering Structure‖, ACM SIGMOD International
Conference on Management of data. ACM Press. pp. 49–60, 1999.
[Apostolico y Guerra 87] Apostolico, A. y Guerra, C., ―The Longest Common
Subsequence problem revisited‖, Algorithmica, 2:315-336, Computer Science, Springer
New York, 1987.
[Apostolico 97] Apostolico A., ―String editing and longest common subsequences‖,
Handbook of formal languages, linear modeling: background and application,
Springer-Verlag New York, Inc., New York, NY, USA, pp. 361—398, 1997.
[Atmar 76] Atmar, J. W., ―Speculation of the Evolution of Intelligence and its Possible
Realization in Machine Form‖, Tesis Doctoral, New Mexico State University, 1976.
[Attar 05] Attar, R. E., ―Lecture notes on Z-Transform‖, Lulu Press, Morrisville NC, 2005.
[Baker 87] Baker, J. E., ―Reducing Bias and Inefficiency in the Selection Algorithm‖,
Proceedings of the 1st International Conference on Genetic Algorithms, pp. 101-111, 1987.
[Baker y Giancarlo 98] Baker, B. S. y Giancarlo R., ―Longest Common Subsequence from
Fragments via Sparse Dynamic Programming‖, en G. Bilardi; G. F. Italiano; A.
Pietracaprina; G. Pucci, ed.,'Proceedings of the 6th
Annual European Symposium on
Algorithms', Springer-Verlag, Berlin, Venice, Italy, pp. 79—90, 1998.
[Barrios et al. 94] Barrios, D., Pérez, J.A., Ríos, J. y Segovia, J., ―Conditions for
convergence of Genetic Algorithms Through Walsh Series‖, Computers and Artificial
Intelligence, 5(13), pp. 441-452, 1994.
Bibliografía
207
[Bartolini et al. 02] Bartolini, I., Ciaccia, P. y Patella, M., ―String matching with metric
trees using an approximate distance‖, SPIRE, LNCS 2476, pp. 271–283, Lisboa, Portugal,
2002.
[Bhatt y Kankanhalli 10] Bhatt, C. y Kankanhalli, M., ―Multimedia data mining: state of
the art and challenges‖, Multimedia Tools and Applications, Journal, Springer
Netherlands, 1380-7501, pp 35-76, volume 51, 2010.
[Beal 03] Beal, M. J., ―Variational Algorithms for Approximate Bayesian Inference
PhD‖, Tesis, Gatsby Computational Neuroscience Unit, University College London, 2003.
[Bennett y Campbell 00] Bennett, K. P. y Campbell, C., ―Support Vector Machines: Hype
or Hallelujah?‖, SIGKDD Explorations, 2,2, 1-13, 2000.
[Bergroth et al. 98] Bergroth L., Hakonen H. y Raita T., ―New Approximation Algorithms
for Longest Common Subsequences‖, String Processing and Information Retrieval, 1998.
[Bettini et al. 98] Bettini, C., Wang, X. S. y Jajodia, S., ―Mining temporal relationships
with multiple granularities in time sequences‖, Data Engineering Bulletin 21, 1, 32-38.
1998.
[Bilmes 98] Bilmes, J. A., ―A gentle tutorial of the EM algorithm and its applications to
parameter estimation for gaussian mixture and hidden Markov models‖, Technical Report
TR-97-021, International Computer Science Institute, Berkeley, California, 1998.
[Biswas et al. 98] Biswas, G., Weinberg, J. B. y Fisher, D. H., ―Iterate: A conceptual
clustering algorithm for data mining‖, IEEE Transactions on Systems, Man, and
Cybernetics, Part C: Applications and Reviews 28: 00–111, 1998.
[Blanchard et al. 05] Blanchard, J., Guillet, F., Briand, H. y Gras, R., ―Assessing Rule
Interestingness with a Probabilistic Measure of Deviation from Equilibrium‖, Proceedings
of the 11th
international symposium on Applied Stochastic Models and Data Analysis
ASMDA, 2005.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
208
[Bonizzoni et al. 01] Bonizzoni P., Vedova G. V. y Mauri G., ―Experimenting an
Approximation Algorithm for the LCS‖, Discrete Mathemathics 110(1), 13-24, 2001.
[Boser et al. 92] Boser, B. E., Guyon, I. M. y Vapnik, V. N., ―A training algorithm for
optimal margin classifiers‖, D. Haussler, editor, 5th
Annual ACM Workshop on COLT, pp.
144-152, Pittsburgh, PA, ACM Press, 1992.
[Box 57] Box, G.E.P., ―Evolutionary Operation: A Method for Increasing Industrial
Productivity‖, Applications on Statistics (6), pp 81-101, 1957.
[Box y Draper 69] Box, G. E. P. y Draper, N. P., ―Evolutionary Operation: A Method for
Increasing Industrial Productivity‖, Willey, 1969.
[Bracewell 84] Bracewell, R. N., ―The fast Hartley transform‖, Proceedings IEEE 72 (8),
1010–1018, 1984.
[Bracewell 95] Bracewell, R. N., ―Computing with the Hartley Transform‖, Computers in
Physics 9 (4), 373–379, 1995.
[Bramlette 91] Bramlette, M. F., ―Initialization, Mutation, and Selection Methods in
Algorithms for Function Optimization‖, Proceedings of the 4th
International Conference
on Genetic Algorithms, pp. 100-107, 1991.
[Breiman et al. 84] Breiman, L., Friedman, J. H., Olshen, R. A. y Stone, C. J.,
―Classification and Regression Trees‖, Wadsworth, Belmont, 1984.
[Bremermann 62] Bremermann, M. F., ―Optimization through Evolution and
Recombination‖, Self Organizing Systems, 1962.
[Bremermann 65] Bremermann, M. F., Rogson, M., y Salaff, S., ―Search by Evolution
Biophysics and Cybernetic Systems‖, Proceedings of the 2nd
Cybernetic Sciences
Symposium, pp 157-167, 1965.
Bibliografía
209
[Brindle 91] Brindle, A., ―Genetic Algorithms for Function Optimization‖, Tesis,
University of Alberta, 1991.
[Broomhead y Lowe 88] Broomhead, D. S. y Lowe, D., ―Multivariate Functional
Interpolation and Adaptative Networks‖, Complex Systems, pp. 321-355, 1988.
[Caraça-Valente et al. 00] Caraça-Valente, J. P., Lopez-Chavarrías, I. y Montes, C.,
―Functions, rules and models: three complementary techniques for analyzing strength
data‖, Proceedings del ACM Symposium on Applied Computing, SAC2000, Como, Italia,
marzo 2000.
[Caraça-Valente y Lopez-Chavarrías 00] Caraça-Valente, J. P. y Lopez-Chavarrías, I.,
―Discovering Similar Patterns in Time Series‖, Proceedings of the Sixth ACM SIGKDD
Symposium on Knowledge Discovery and Data Mining, pags. 497-505, Boston, USA,
agosto 2000.
[Carpenter y Grossberg 03] Carpenter, G. A. y Grossberg, S., ―Adaptive Resonance
Theory‖, In M.A. Arbib (Ed.), The Handbook of Brain Theory and Neural Networks,
Second Edition (pp. 87-90). Cambridge, MA: MIT Press, 2003.
[Carpineto y Romano 93] Carpineto, C. y Romano, G., ―Galois: An order-theoretic
approach to conceptual clustering‖, Proceedings of 10th International Conference on
Machine Learning, Amherst: 33–40, 1993.
[Carpineto y Romano 04] Carpineto, C. y Romano, G., ―Concept Data Analysis: Theory
and Applications‖, Wiley, 2004.
[Casas-Garriga 03] Casas-Garriga G. ―Discovering unbounded episodes in sequential
data‖, Proceedings of 7th
Eur. Conf. on Principles and Practice of Knowledge Discovery in
Databases (PKDD’03), Cavtat-Dubvrovnik, Croacia, pp 83–94. 2003.
[Cestnik et al. 87] Cestnik, B, Kononenko, I. y Bratko, I., ―ASSISTANT 86 : A
Knowledge-Elicitation Tool for Sophisticated Users‖, Ivan Bratko, Nada Lavrac (Eds.):
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
210
Progress in Machine Learning, Proceedings of EWSL87: 2nd
European Working Session
on Learning, Bled, Yugoslavia, Mayo 1987.
[Chavent 98] Chavent, M., ―A monothetic clustering algorithm‖, Pattern Recognition
Letters 19, (1998), 989–996, 1998
[Chavent 00] Chavent, M., ―Criterion-based divisive clustering for symbolic data‖,
Analysis of Symbolic Data: Exploratory Methods for Extracting Statistical Information
from Complex Data, eds. H.-H. Bock y E. Diday, Springer-Verlag, Berlin, 299–311, 2000.
[Chen et al. 03] Chen, C.-H., Liu, B.-D. y Yang, J.-F., ―Recursive architectures for
realizing modified discrete cosine transform and its inverse‖, IEEE Trans. Circuits Syst. II:
Analog Dig. Sig. Proc. 50 (1), 38-45, 2003
[Chen et al. 11] Chen, X., Liu, W., Qiu, H. y Lai, J., ―APSCAN: A parameter free
algorithm for clustering‖, Pattern Recognition Letters, Volume 32, Issue 7, ISSN 0167-
8655, pp 973-986, 2011, Pages 973-986, 2011.
[Cheng y Spetch 98] Cheng, K. y Spetch, M., ―Mechanisms of landmark use in mammals
and birds‖, S. Healy, editor, Spatial Representation in Animals, Oxford University Press,
1998.
[Chiu et al. 03] Chiu, B., Keogh, E. y Lonardi, S., ―Probabilistic discovery of time series
motifs‖, Proceedings on the 9th
ACM SIGKDD international conference on Knowledge
discovery and data mining,, Washington, D.C, pp. 493-498, 2003.
[Chomsky 57] Chomsky, N. A., ―Syntactic Structures‖, Ed. Mouton, New York, 1957.
[Cizek y Fitzgerald 99] Cizek, G. J. y Fitzgerald, S. M., ―An introduction to logistic
regression‖, Measurement and Evaluation in Counseling and Development, 31, 223-245,
1999.
[Cohen et al. 92] Cohen, A., Daubechies, I. y Feauveau, J. C., ―Biorthogonal bases of
compactly supported wavelets‖, Commun. Pure Appl. Math., vol. 45, pp. 485–560, 1992.
Bibliografía
211
[Cohen et al. 03a] Cohen, W. W., Ravikumar, P. y Fienberg, S. E., ―A Comparison of
String Distance Metrics for Name-Matching Tasks‖, IJCAI and IIWEB, Acapulco, Mexico,
2003.
[Cohen et al. 03b] Cohen, W. W., Ravikumar, P. y Fienberg, S. E., ―A comparison of
string metrics for matching names and records‖, Proceedings of the IJCAI-2003 Workshop
on Information Integration on the Web‖, pp. 73-78, Agosto 2003.
[Cole y Wishart 70] Cole, A. J. y Wishart, D., ―An improved algorithm for the Jardine-
Sibson method of generating overlapping clusters‖, The Computer Journal 13(2):156-163,
1970.
[Cormen et al. 93] Cormen, T. H., Leiserson, C. E. y Rivest, E. L., ―Introduction to
Algorithms‖, The MIT Press, 1993.
[Cortes y Vapnik 95] Cortes, C. y Vapnik, V., ―Support-Vector Networks‖, Machine
Learning, 20, 1995.
[Couchet et al. 07] Couchet, J., Manrique, D., Ríos, J. y Rodríguez-Patón, A., ―Crossover
and mutation operators for grammar-guided genetic programming‖, Soft Computing - A
Fusion of Foundations, Methodologies and Applications, Volume 11, Issue 10, pp. 943 -
955, 2007.
[Crawford-Marks y Spector 02] Crawford-Marks R. y Spector, L., ―Size control via Size
Fair Genetic Operators in the PushGP Genetic Programming System‖, Proceedings of the
Genetic and Evolutionary Computation Conference, New York, USA, pp. 733-739, 2002.
[Crochemore et al. 01] Crochemore, M., Iliopoulos, C. S. y Pinzon Y. J., ―Speeding-up
Hirschberg and Hunt-Szymanski LCS Algorithms‖, String Processing and Information
Retrieval, pp. 59-67, 2001.
[Crow y Kimura 70] Crow, J. F. y Kimura, M., ―An Introduction to Population Genetics
Theory‖, New York. Harper and Row, 1970.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
212
[Dagan et al. 99] Dagan, I., Lee, L. y Pereira, F., ―Similarity-based models of word
cooccurrence probabilities‖, Machine Learning, 34(1), 1999.
[Damerau 64] Damerau, F. J., ―A technique for computer detection and correction of
spelling errors‖, Communications of the ACM, 7(3):171–176, 1964.
[Davis 87] Davis, L., ―Genetic algorithm and simulated annealing‖, Morgan Kaufmann
Pub, Septiembre 1987.
[Darwin 59] Darwin, C. R., ―On the Origin of Species by Means of Natural Selection or
the Preservation of Favoured Races in the Struggle for Life‖, Murray, 1859.
[Das et al. 97] Das, G., Fleisher, R., Gasieniek, L., Gunopulos, D. y Kärkaïnen, J.,
―Episode matching‖, Proceedings CPM’97, LNCS 1264, pp. 12-27, Springer-Verlag, 1997.
[Daubechies 88] Daubechies, I., ―Time-Frecuency Localization Operators: Ageometric
Phase Space Approach‖, IEEE Transactions on Information Theory, Vol. 34, No. 4, Julio,
1988
[Daubechies 92] Daubechies, I., ―Ten Lectures on Wavelets‖, 2nd
ed. Philadelphia: SIAM,
CBMS-NSF regional conference series in applied mathematics 61, 1992.
[Daubechies 93] Daubechies, I., ―Orthonormal bases of compactly supported wavelets II—
Variations on a theme‖, SIAM J. Math. Anal., vol. 24, pp. 499–519, Marzo, 1993.
[De Jong 75] De Jong, K. A., ―Analysis of Behaviour of a class of Genetic Adaptive
Systems‖, Tesis, University of Michigan, 1975.
[Dempster et al. 77] Dempster, A., Laird, N. y Rubin, D., ―Maximum likelihood from
incomplete data via the EM algorithm‖, Journal of the Royal Statistical Society, Series B,
39(1):1–38, 1977.
Bibliografía
213
[D´haeseleer 94] D´haeseleer, P., ―Context Preserving Crossover in Genetic
Programming‖, Proceedings of the 1994 IEEE World Congress on Computational
Intelligence, (1), Orlando, Florida, USA, pp. 379-407, 1994.
[Dorado de la Calle 99] Dorado de la Calle, J., ―Modelo de un Sistema para la Selección
Automática en Dominios Complejos, con una Estrategia Cooperativa, de Conjuntos de
Entrenamiento y Arquitecturas ideales de Redes de Neuronas Artificiales Utilizando
Algoritmos Genéticos‖, Tesis, Universidad de La Coruña, 1999.
[Drucker et al. 97] Drucker, H., Burges, C. J. C., Kaufman, L., Smola, A. y Vapnik, V.,
―Support Vector Regression Machines‖, Advances in Neural Information Processing
Systems 9, NIPS 1996, 155-161, MIT Press, 1997.
[Elfeky 00] Elfeky, M. G. ―Incremental mining of partial periodic patterns in time-series
databases‖, Information Assurance and Security, Purdue University, 2000.
[Elkan 03] Elkan, C., ―Using the triangle inequality to accelerate k-means‖, Proceedings of
the 20th
International Conference on Machine Learning (ICML), 2003.
[Elman 89] Elman, J., ―Representation and structure in connectionist models‖, Center of
Research in Language, Tech. Report no.8903, University of California, Agosto 1989.
[Eshelman y Schaffer 93] Eshelman, L. J. y Schaffer, J. D., ―Real-Coded Genetic
Algorithms and Interval-Schemata‖, Foundations of Genetic Algorithms (2), pp. 187-202,
1993.
[Ester et al. 96] Ester, M., Kriegel, H.P., Sander, J. y Xu, X., ―A density-based algorithm
for discovering clusters in large spatial databases with noise‖, Proceedings of the
International Conference on Knoowledge Discovery and Data Mining, pp. 226-231, 1996.
[Fayyad et al. 95] Fayyad, U., Piatetsky-Shapiro, G., y Smyth, P., ―From Data Mining to
Knowledge Discovery‖,. In Advances In Knowledge Discovery and Data Mining,
AAAI/MITPress, 1-31, 1995.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
214
[Fayyad et al. 96a] Fayyad, U., Piatetsky-Shapiro, G. y Smyth, P., ―The KDD Process for
Extracting Useful Knowledge from Volumes of Data‖, Communications Of The ACM
39(11): 27-28, 1996.
[Fayyad et al. 96b] Fayyad, U., Shapiro, G. y Smyth, P., ―From Data Mining to Knowledge
Discovery in databases‖, AI Magazine 17, 37-54, 1996.
[Fellegi y Sunter 69] Fellegi, I. P. y Sunter, A. B., ―A Theory for Record Linkage‖,
Journal of the American Statistical Association, 40, 1183-1210, 1969.
[Fisher 36] Fisher, R. A., ―The use of multiple measurements in taxonomic problems‖,
Annals of Eugenics, 7, 179–188, 1936.
[Fisher 87] Fisher, D. H., ―Knowledge acquisition via incremental conceptual clustering‖,
Machine Learning 2: 139–172, 1987.
[Fogel 62] Fogel, L. J., ―Autonomous Automata Industrial‖, Res. 4, 1962.
[Fogel et al. 66] Fogel, L. J., Owens, A. J. y Walsh, M. J., ―Artificial Intelligence through
Simulated Evolution‖, Wiley, 1966.
[Fowlkes et al. 83] Fowlkes, E. B. y Mallows, C. L., ―A Method for Comparing Two
Hierachical Clusterings‖, Journal of the American Statistical Association 78 (383): 553-
584, Septiembre 1983.
[Frahling y Sohler 06] Frahling, G. y Sohler, C., ―A fast k-means implementation using
coresets‖, Proceedings of the 22th
annual symposium on Computational geometry (SoCG),
2006.
[Fraser 57] Fraser, A. S., ―Simulation of Genetic Systems by Automatic Digital
Computers‖, Australian Journal Biological Sciences (10), pp 484-499, 1957.
Bibliografía
215
[Frawley et al. 91] Frawley W. J., Piatetsky-Shapiro G. y Matheus C. J., ―Knowledge
Discovery in Databases: An Overview‖, knowledge Discovery in Databases, eds. G.
Piatetsky-Shapiro and W. Frawley, 1-27, Cambridge, MA: MIT Press, 1991.
[Frey y Dueck 07] Frey, B.J. y Dueck D., ―Clustering by passing messages between data
points‖, Science 315, 972-976. 2, 3, 7, 2007.
[Friedberg 58] Friedberg, R. M., ―A learning Machine: Part I‖, IBM Journal (2), pp. 2-13,
1958.
[Friedberg et al. 59] Friedberg, R. M., Dunham, B. y North, J. H., ―A learning Machine:
Part II‖, IBM Journal (3), pp. 282-287, 1959.
[Friedman et al. 77] Friedman, J. H., Bentley, J. L. y Finkel, R. A., ―An algorithm for
finding best matches in logarithmic expected time‖, ACM Transactions on Mathematical
Software, 3(3): 209–226, Septiembre 1977.
[Ganter et al. 98] Ganter, B., Wille, R. y Franzke, C., ―Formal Concept Analysis:
Mathematical Foundations‖, Springer-Verlag, Berlin, 1998.
[Ganter et al. 05] Ganter, B., Stumme, G. y Wille, R., ―Formal Concept Analysis:
Foundations and Applications‖, Lecture Notes in Artificial Intelligence, no. 3626,
Springer-Verlag, 2005.
[Gavrila y Davis 95] Gavrila, D. M. y Davis, L. S., ―Towards 3-D Model-based Tracking
and Recognition of Human Movement‖, Martin Bichsel, editor, Int. Workshop on Face
and Gesture Recognition, pp. 272–277, Junio 1995.
[Goldberg y Richardson 87] Goldberg, D. y Richardson, J., ―Genetic algorithms with
sharing for multimodal function optimization: Genetic Algorithms and their application‖,
Proceedings of the Second International Conference on Genetic Algorithms, Morgan
Kaufmann Publishers, 1987.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
216
[Grefenstette 86] Grefenstette, J. J., ―Optimization of Control Parameters for Genetic
Algorithms‖, IEEE Transactions SMC, (16), pp. 122-128, 1986.
[Haar 10] Haar A, ―Zur Theorie der orthogonalen Funktionensysteme‖, Mathematische
Annalen, 69, pp. 331-371, 1910.
[Hadamard 23] Hadamard, J., ―Lectures on the Cauchy Problem in Linear Partial
Differential Equations‖, Yale University Press, 1923.
[Hamming 50] Hamming, R. W., ―Error Detecting and Error Correcting Codes‖, Bell
System Technical Journal 26(2):147-160, 1950.
[Han et al. 99] Han, J., Dong, G. y Yin, Y., ―Efficient mining of partial periodic patterns in
time series database‖, 15th
International Conference on Data Engineering. IEEE Computer
Society, Sydney, Australia, 106-115. 1999.
[Hanson y Bauer 89] Hanson, S. J. y Bauer, M., ―Conceptual clustering, categorization,
and polymorphy‖, Machine Learning 3: 343–372, 1989.
[Härdle 98] Härdle, W., Kerkyacaharian, G., Picard, D. y Tsybakov, A., ―Wavelets,
Approximation and Statistical Applications‖, Springer-Verlag New York, 1998.
[Heyer et al. 99] Heyer, L.J., Kruglyak, S. y Yooseph, S., ―Exploring Expression Data:
Identification and Analysis of Coexpressed Genes‖, Genome Research 9:1106-1115, 1999.
[Hinneburg y Keim 98] Hinneburg, A. y Keim, D.A., ―An Efficient Approach to
Clustering in Large Multimedia Databases with Noise‖, Proceedings of the 4th
International Conference on Knowledge Discovery and Data Mining, pp. 58-65, New York
City, USA, 1998
[Hinton y Sejnowski 83] Hinton, G. E. y Sejnowski, T. J., ―Optimal Perceptual Inference‖,
Proceedings of the IEEE conference on Computer Vision and Pattern Recognition,
Washington DC, pp. 448-453, 1983.
Bibliografía
217
[Hirschberg 75] Hirschberg D. S., ―A Linear Space Algorithm for Computing Maximal
Common Subsequences‖, Communications of the ACM 18, 341-343, 1975.
[Holland 69] Holland, J. H., ―Adaptative Plans Optimal for Playoff-Only Environments‖,
Proceedings of the 2nd
Hawai International Conference on System Sciences, pp. 917-920,
1969.
[Holland 75] Holland, J. H, ―Adaptation in Natural and Artificial Systems‖, University of
Michigan, Ann Arbor, 1975.
[Holland 81] Holland, J. H., ―Genetic Algorithms and Adaptation‖, Technical Report (34),
University of Michigan, Dept. of Computer and Communication, 1981.
[Homayoon et al. 90] Homayoon, S. M., Beigi, C. y James, Li, ―A New Set of Learning
Algorithms for Neural Networks‖, ISMM International Symposium, Computer
Applications in Design,Simulation and Analysis, New Orleans, LA, Marzo 1990.
[Hopfield 82] Hopfield, J., ―Neural Networks & physical systems with emergent colective
computational abilities‖, Proceedings of the National Academy of Sciences,79, pp. 2554-
2558, 1982.
[Hoppner 03] Hoppner, F. ―Knowledge Discovery from Sequential Data‖, Tesis Doctoral,
Alemania, 2003.
[Hosmer y Lemeshow 89] Hosmer, D. y Lemeshow, S., ―Applied Logistic Regression‖,
NY: Wiley & Sons. A much-cited treatment utilized in SPSS routines, 1989.
[Hua et al. 11] Hua, J., Jing, L., Shenghe, Y., Xiangyang, W. y Xin, H., ―A new hybrid
method based on partitioning-based DBSCAN and ant clustering‖, Expert Systems with
Applications, ISSN 0957-4174, DOI: 10.1016j.eswa.2011.01.135, 2011.
[Husmeier 00] Husmeier, D., ―Learning non-stationary conditional probability
distributions‖, Neural Networks, 13, 287- 290, 2000.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
218
[Iliopoulos y Rahman 06] Iliopoulos, C. S. y Rahman, M. S., ―Algorithms for Computing
Variants of the Longest Common Subsequence Problem‖, (Extended Abstract),
International Symposium on Algorithms and Computation ISAAC', pp. 399-408, 2006.
[Jaccard 12] Jaccard, P., ―The distribution of flora in th ealpine zone‖, New Phytologist,
vol.11, pp. 37–50, 1912.
[Jardine y Sibson 68] Jardine, N. y Sibson, R., ―The construction of hierarchic and non-
hierarchic classifications‖, The Computer Journal, 11:177, 1968.
[Jaro 89] Jaro, M. A., ―Advances in record-linkage methodology as applied to matching
the 1985 census of Tampa, Florida‖, Journal of the American Statistical Association
84:414–420, 1989.
[Jaro 95] Jaro, M. A., ―Probabilistic linkage of large public health data files‖, (disc: P687-
689), Statistics in Medicine 14:491–498, 1995.
[Jokinen et al. 96] Jokinen, P., Tarhio, J. y Ukkonen, E., ―A comparison of approximate
string matching algorithms‖, Software – Practice and Experience, 26(12):1439–1458,
1996.
[Jury 73] Jury, E. I., ―Theory and Application of the Z-Transform Method‖, Krieger Pub
Co, 1973.
[Kass 80] Kass, G., ―An exploratory technique for investigating large quantities of
categorical data‖, Applied Statistics, 29, 119–127, 1980.
[Kanth et al. 98] Kanth, K. V., Agrawal, D., y Singh, A., ―Dimensionality reduction for
similarity searching in dynamic databases‖, Proceedings ACM SIGMOD Conf., pp. 166-
176, 1998.
[Kaufman y Rousseeuw 90] Kaufman, L. y Rousseeuw, P.J., ―Finding Groups in Data: An
Introduction to Cluster Analysis‖, Wiley, New York, 1990.
Bibliografía
219
[Keith y Wai-Ho 97] Keith, C. C. C. y Wai-Ho, A., ―An Effective Algorithm For Mining
Interesting Quantitative Association Rules‖, ACM, pp. 88-90, 1997.
[Kendall 38] Kendall, M. G., ―A new measure of rank correlation‖, Biometrika, 30: 81–93,
1938.
[Keogh et al. 00] Keogh, E. J., Chakrabarti, K., Pazzani, M. J. y Mehrotra, S.,
―Dimensionality reduction for fast similarity search in large time series databases‖, Journal
of Knowledge and Information Systems, 2000.
[Keogh et al. 01] Keogh, E. J., Chakrabarti, K., Mehrotra, S. y Pazzani, M. J., ―Locally
adaptive dimensionality reduction for indexing large time series databases‖, SIGMOD
Conference, 2001.
[Klemettinen et al. 94] Klemettinen M., Mannila H., Ronkainen P., Toivonen H. y A
Verkamo, A. I., ―Finding interesting rules from large sets of discovered association rules‖,
Proceedings of the Third International Conference on Information and Knowledge
Management, pp. 401-407, 1994.
[Kohonen 95] Kohonen, T., ―Self-Organizing Maps‖, Series in Information Sciences, Vol.
30, Springer, Heidelberg. Second ed. 1997, 1995.
[Kohonen et al. 96] Kohonen, T., Hynninen, J., Kangas, J. y Laaksonen, J., ―SOM_PAK:
The self-organizing map program package‖, Report A31. Helsinki University of
Technology, Laboratory of Computer and Information Science, Espoo, Finland, 1996.
[Korn et al. 97] Korn, F., Jagadish, H. y Faloutsos. C., ―Efficiently supporting ad hoc
queries in large datasets of time sequences‖, Proceedings of SIGMOD ’97, Tucson, AZ, pp.
289-300, 1997.
[Kosko 88] Kosko, B., ―Bidirectional associative memories‖, IEEE Transactions on
System, Man and Cybernetics, 18, (1), pp. 49-60, 1988.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
220
[Koza 92] Koza, J. R., ―Genetic Programming: On the Programming of Computers by
Means of Natural Selection‖, MIT Press, Cambridge, MA, 1992.
[Kruskal y Liberman 83] Kruskal, J. B. y Liberman, M., ―The symmetric time-warping
problem: from continuous to discrete‖, David Sankoff y Joseph B. Kruskal, editors, Time
Warps, String Edits, and Macromolecules: The Theory and Practice of Sequence
Comparisons, Addison-Wesley, Reading, Massachusetts, 1983.
[Kukich 92] Kukich, K., ―Techniques for automatically correcting words in text‖, ACM
Computing Surveys, 24(4):377–439, 1992.
[Kureichick et al. 96] Kureichick, V., Melikhov, A. N., Miaghick, V. V., Savelev, O. V. y
Topchy, A. P., ―Some New Features in the Genetic Solution of the Travelling Salesman
Problem‖, Proceedings of the 2nd
International Conference of the Integration of Genetic
Algorithms and Neural Network Computing and Related Daptive Computing with Current
Engineering Practice, Plymouth, UK, pp. 231-247, 1996.
[Lafferty y Zhai 01] Lafferty, J. y Zhai, C., ―A study of smoothing methods for language
models applied to ad hoc information retrieval‖, ACM SIGIR Conference on Research and
Development in Information Retrieval (SIGIR), 2001.
[Langton 87] Langton, C. G., ―Artificial Life‖, Addison-Wesley, 1987.
[Langdon 99] Langdon, W. B., ―Size Fair and Homologous Tree Genetic Programming
Crossovers‖, Proceedings of the Genetic and Evolutionary Computation Conference,
GECCO-99, Morgan Kaufmann, pp. 1092-1097, 1999.
[Larrañaga 96] Larrañaga, P., ―Algoritmos Genéticos‖, Informe Técnico, Departamento de
Ciencias de la Computación e Inteligencia Artificial, Universidad del País Vasco, 1996.
[Larsen y Marx 86] Larsen, R. J. y Marx, M. L., ―An Introduction to Mathematical
Statistics and Its Applications‖, Prentice Hall, Englewood, Cliffs, N.J. 2nd
Edition, 1986.
Bibliografía
221
[Latecki et al. 05] Latecki, L. J., Megalooikonomou, V., Wang Q., Lakaemper, R.,
Ratanamahatana C. A., y Keogh, E. J., ―Partial elastic matching of time series‖,
Proceedings of the IEEE International Conference on Data Mining, pp. 701–704, IEEE
Computer Society, Noviembre 2005.
[Latecki et al. 07] Latecki, L. J., Wang, Q., Koknar-Tezel, S. y Megalooikonomou, V.,
―Optimal Subsequence Bijection‖, IEEE Int. Conf. on Data Mining (ICDM), Omaha,
Nebraska, USA, Octubre 2007.
[Laxman y Sastry 06] Laxman, S. y Sastry, P.S.‖A survey of temporal data mining‖.
Indian Institute of Science. Bangalore – India. Sadhana, Vol. 31, Part. 2. pp. 173-198.
2006.
[Laxman y Sastry 02] Laxman, S., Sastry, P.S. y Unnikrishnan, K.P.,―Generalized frequent
episodes in event sequences‖, Temporal Data Mining Workshop Notes, SIGKDD, (eds) K
P Unnikrishnan, R, Uthurusamy, Edmonton, Alberta, Canada, 2002.
[Lebowitz 87] Lebowitz, M., ―Experiments with incremental concept formation‖, Machine
Learning 2: 103–138, 1987.
[Levenberg 44] Levenberg, K. L., ―A method for the solution of certain problems in least
squares‖, Quart. Appl. Math., Vol. 2, pp. 164-168, 1944.
[Levenshtein 65] Levenshtein, V. I., ―Binary codes capable of correcting spurious
insertions and deletions of ones‖, Problems of Information Transmission, 1:8-17, 1965.
[Levenshtein 66] Levenshtein, V. I., ―Binary codes capable of correcting deletions,
insertions, and reversals‖, Doklady Akademii Nauk SSSR, 163(4):845-848, 1965 (Russian).
English translation in Soviet Physics Doklady, 10(8):707-710, 1966.
[Liu et al. 00] Liu, B., Hsu, W., Chen, S. y Yiming, M., ―Analyzing the Subjective
Interestingness of Association Rules‖, IEEE Intelligent Systems, 15(5):47-55, 2000.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
222
[Lin et al. 02] Lin, J., Keogh, E., Lonardi, S. y Patel, P., ―Finding Motifs in Time Series‖,
Proceedings of the 2nd
Workshop on Temporal Data Mining, at the 8th
ACM SIGKDD Int’l
Conference on Knowledge Discovery and Data Mining, Edmonton, Alberta, Canada, pp.
53-68, Julio 2002.
[Lin et al. 03] Lin, J., Keogh, E., Lonardi, S. y Chiu, B., ―A symbolic representation of
time series, with implications for streaming algorithms‖, Proceedings of 8th
ACM SIGMOD
workshop on Research issues in data mining and knowledge discovery, pp. 2-11, San
Diego, California, 2003.
[Lin y Lu 91] Lin H. y Lu M., ―An Optimal Algorithm for the Longest Common
Subsequence Problem‖, Proceedings of the Third IEEE Symposium on Parallel and
Distributed Processing, pp. 630-639, 1991.
[Loh y Shih 97] Loh, W.-Y. y Shih, Y.-S., ―Split selection methods for classification
trees‖, Statistica Sinica 7: 815–840, 1997.
[Loh y Vanichsetakul 88] Loh, W.-Y. y Vanichsetakul, N., ―Tree-structured classification
via generalized discriminant analysis‖, J. Amer. Statist. Assoc., vol. 83, no. 403, pp. 715–
725, 1988.
[Lopresti y Tomkins 97] Lopresti, D. y Tomkins, A., ―Block edit models for approximate
string matching‖, Theoretical Computer Science, 181(1):159-179, 1997
[MacKay 03] MacKay, D. J. C., ―Information Theory, Inference and Learning
Algorithms‖, Cambridge: Cambridge University Press, Septiembre 2003.
[MacQueen 67] MacQueen, J. B., "Some Methods for classification and Analysis of
Multivariate Observations", Proceedings of 5th
Berkeley Symposium on Mathematical
Statistics and Probability, Berkeley, University of California Press, 1:281-297, 1967.
[Mahalanobis 36] Mahalanobis, P., ―On the generalized distance in statistics‖, Proceedings
National Institute of Science, 12:49-55, 1936.
Bibliografía
223
[Mallat 89] Mallat, S., ―A theory for multiresolution signal decomposition: wavelet
representation‖, IEEE Pattern Anal. And Machine Intell., vol. 11, no. 7, pp. 674-693, 1989.
[Marks et al. 89] Marks II, R. J., Oh, S. y Atlas, L. E., ―Alternating projection neural
networks‖, IEEE Trans. Circuits & Syst., vol. 36, no.6 pp. 846-857, Junio 1989.
[Marpe et al. 03] Marpe, D., Blättermann, G. y Wiegand, T., ―An Overview of the Draft
H.16L Video Compression Standard‖, IEEE Transactions on Circuits and Systems for
Video Technology, 2003.
[Marquardt 63] Marquardt, D. W., ―An Algorithm of Least Squares Estimation of
Nonlinear Parameters‖, SIAM Journal Appl. Math., Vol. 11, pp. 431-441, 1963.
[Marvin y Seymor 88] Marvin, L. M. y Seymor, A. P., ―Perceptrons: expanded edition‖,
MIT Press, Cambridge, MA, USA, 1988.
[Mayr 88] Mayr, E., ―Toward a New Philosophy of Biology: Observations o fan
Evolutionist‖, Belknap, 1988.
[Meila 03] Meila, M., ―Comparing Clustering by the Variation of Information‖, Lecture
Notes in Computer Science, pp: 173-187, 2003.
[Menard 02] Menard, S., ―Applied logistic regression analysis‖, 2nd
Edition, Thousand
Oaks, CA: Sage Publications. Series: Quantitative Applications in the Social Sciences, No.
106. First ed., 1995, 2002.
[Michaelewicz y Janikow 91] Michaelewicz, Z. y Janikow, C. Z., ―Handling Constraints in
Genetic Algorithms‖, Proceedings of the 4th
International Conference on Genetic
Algorithms, pp 151-157, 1991.
[Michalski y Stepp 83] Michalski, R. S. y Stepp, R. E., ―Learning from observation:
Conceptual clustering‖, Michalski, R. S., Carbonell, J. G., Mitchell, T. M. (Eds.) Machine
Learning: An Artificial Intelligence Approach: 331–363, Palo Alto, CA: Tioga, 1983.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
224
[Minkowski 97] Minkowski, H., ―Allegemeine lehrsätze über konvexe polyeder‖, Nachr.
Ges. Wiss. Gottingen, 198-219 (=Ges. Abh., Vol.2, pp. 103-121, Leipzip-Berlin, 1911),
1897.
[Moerchen 06] Moerchen, F. ―Algorithms for Time Series Knowledge Mining‖, Research
Track Poster, KDD, Philadelphia, Pennsylvania, USA, 2006.
[Monge y Elkan 96] Monge, A. E. y Elkan, C. P., ―The field–matching problem: algorithm
and applications‖, Proceedings of the Second International Conference on Knowledge
Discovery and DataMining, 1996.
[Monge y Elkan 97] Monge, A. E. y Elkan, C. P., ―An efficient domain-independent
algorithm for detecting approximately duplicate database records‖, Proceedings of the
SIGMOD 1997 Workshop Research Issues on Data Mining and Knowledge Discovery, pp.
23-29, Tucson, Arizona, 1997.
[Moore 00] Moore, A. W., ―The Anchors Hierarchy: Using the Triangle Inequality to
Survive High-Dimensional Data‖, 12th
Conference on Uncertainty in Artificial
Intelligence, AAAI Press, 2000.
[Morgan y Messenger 73] Morgan, J. N. y Messenger, R. C., ―THAID, A Sequential
Analysis Program for the Analysis of Nominal Scale Dependent Variables‖, Survey
Research Centre, Institute for Social Research, University of Michigan, 1973.
[Morgan y Sonquist 63] Morgan, J. N. y Sonquist J. A., ―Problems in the Analysis of
Survey Data‖, Journal of the American Statistical Association, Vol. 58, No. 302,, pp. 415-
434, Junio 1993.
[Neal y Hinton 99] Neal, R. y Hinton, G., ―A view of the EM algorithm that justifies
incremental, sparse, and other variants‖, Michael I. Jordan (editor), Learning in Graphical
Models, pp. 355-368. Cambridge, MA: MIT Press, 1999.
Bibliografía
225
[Needleman y Wunsch 70] Needleman, S. B. y Wunsch, C. D., ―A general method
applicable to the search for similarities in the amino acid sequences of two proteins‖,
Journal. Molecular Biology, 48, 443-453, 1970.
[Nikolajevic y Fettweis 03] Nikolajevic, V. y Fettweis, G., ―Computation of forward and
inverse MDCT using Clenshaw's recurrence formula‖, IEEE Trans. Sig. Proc. 51 (5),
1439-1444, 2003.
[O'Connell 05] O'Connell, A. A., ―Logistic regression models for ordinal response
variables‖, Thousand Oaks, CA: Sage Publications.Quantittive Applications in the Social
Sciences, Volume 146, 2005.
[Omohundro 87] Omohundro, S. M., ―Efficient Algorithms with Neural Network
Behaviour‖, Journal of Complex Systems, 1(2): 273–347, 1987.
[Oppenheim y Schafer 99] Oppenheim, A. V. y Schafer, R. W., ―Discrete-Time Signal
Processing‖, 2nd Edition, Prentice Hall Signal Processing Series, 1999.
[Ozden et al. 98] Ozden, B., Ramaswamy, S. y Silberschatz, A., ―Cyclic association rules‖,
Proceedings of the 14th Int.Conf. on Data Engineering (ICDE’98), Orlando, Florida, pp
412–421, 1998.
[Pampel 00] Pampel, F. C., ―Logistic regression: A primer‖, Sage Quantitative
Applications in the Social Sciences Series #132, Thousand Oaks, CA: Sage Publications,
pp. 35-38 provide an example with commented SPSS output, 2000.
[Park y Kim 95] Park, H. y Kim, K., ―An adaptive method for smooth surface
approximation to scattered 3D points‖, Computer-Aided Design, 27(12):929-939,
Diciembre 1995.
[Pearson 38] Pearson, E. S., ―An Appreciation of some Aspects of his Life and Work‖,
Biometrika, Vol. 29, No. 3/4, pp. 161-248, doi:10.2307/2332005, Cambridge, Febrero
1938.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
226
[Pennebaker y Mitchell 93] Pennebaker y Mitchell, J. L., ―JPEG – Still Image Data
Compression Standard‖, Newyork: International Thomsan Publishing, 1993.
[Perng et al. 00] Perng, C.-S., Wang, H., Zhang, S.-R., y Parker, D. S., ―Landmarks: A new
model for similarity-based pattern querying in time series databases‖, Proceedings of the
16th
International Conference on Data Engineering, pp. 33-42, 2000.
[Pinchover y Rubinstein 05] Pinchover, Y. y Rubinstein, J., ―An Introduction to Partial
Differential Equations‖, Cambridge University Press, Cambridge, 2005.
[Preparata y Shamos 85] Preparata, F. P. y Shamos, M., ―Computational Geometry‖,
Springer-Verlag, 1985.
[Quinlan 83] Quinlan, J. R., ―Learning Efficient Classification Procedures And Their
Application To Chess End Games‖, en Michalski, R. S., Carbonell J. G. y Mitchell, T. M:
Machine Learning - An Artifical Intelligence Approach, 463-482. Tioga Publishing
Company, 1983.
[Quinlan 86] Quinlan, J. R., ―Induction of decision trees‖, Machine Learning, 1, 81-106,
1986.
[Quinlan 93] Quinlan, J. R., ―C4.5: Programs For Machine Learning‖, Morgan Kaufmann
Publishers, San Mateo, California, EE.UU, 1993.
[Rabiner 89] Rabiner, L. R., ―A Tutorial on Hidden Markov Models and Selected
Applications in Speech Recognition‖, Proceedings of the IEEE, 77, (2) 257-286, 1989.
[Rabiner y Juang 93] Rabiner L. y Juang B.-H., ―Fundamentals of Speech Recongnition‖,
Prentice Hall, 1993.
[Radha et al. 01] Radha, H., van der Schaar, M. y Chen, Y., ―The MPEG-4 Fined-Grained
Scalable Video Coding Method for Multimedia Streaming over IP‖, IEEE Transactions on
Multimedia, Marzo 2001.
Bibliografía
227
[Radovanovic et al. 10] Radovanovic, M.; Nanopoulos, A. y Ivanovic, M., "Hubs in space:
Popular nearest neighbors in high-dimensional data", Journal of Machine Learning
Research 11: 2487–2531, 2010.
[Rafiei y Mendelzon 97] Rafiei, D. y Mendelzon, A., ―Similarity-based queries for time
series data‖, SIGMOD Record (ACM Special Interest Group on Management of Data),
1997.
[Rafiei y Mendelzon 98] Rafiei, D. y Mendelzon, A., ―Efficient retrieval of similar time
sequences using DFT‖, Proceedings of the 5th
International Conference on Foundations of
Data Organizations and Algorithms (FODO’ 98), Kobe, Japan, Noviembre 1998.
[Rai y Yip 90] Rai, K. R, y Yip, P., ―Discrete Cosine Transform: algorithms, advantages,
applications‖, Academic Press, 1990.
[Raidl 05] Raidl, G., ―Evolutionary computation: An overview and recent trends‖,. OGAI
Journal 2, 2–7, 2005.
[Rand 71] Rand, W. M., ―Objective criteria for the evaluation of clustering methods‖,
Journal of the American Statistical Association, 66, pp. 846–850, 1971.
[Rath y Manmatha 03] Rath, T. M. y Manmatha, R., ―Word image matching using
dynamic time warping‖, Proceedings of the Conference on Computer Vision and Pattern
Recognition, volume 2, pp. 521–527, Madison, WI, USA, 2003.
[Ray 91] Ray, T., ―An Approach to the Synthesis of Artificial Life II‖, Addison-Wesley,
1991.
[Rechenberg 65] Rechenberg, I., ―Cybernetic Solution Path of an Experimental Problem
Royal Aircraft‖, Establishment Library Translation, 1965.
[Rechenberg 94] Rechenberg, I., ―Evolution Strategies ‗94‖, Frommann-Holzboorg, 1994.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
228
[Rocha y Neves 99] Rocha, M. y Neves, J., ―Preventing Premature Convergence to Local
Optima in Genetic Algorithms via Random Offspring Generation‖, Proceedings of the 12th
International Conference on Industrial and Engineering Applications of Artificial
Intelligence and Expert Systems, El Cairo, pp 127-136, 1999.
[Rosenblatt 58] Rosenblatt, F., ―The Perceptron: A Probabilistic Model for Information
Storage and Organization in the Brain‖, Cornell Aeronautical Laboratory, Psychological
Review, v65, No. 6, pp. 386-408, 1958.
[Rumelhart y Zisper 86] Rumelhart, D. y Zisper, D., ―Feature Discovery by Competitive
Learning‖, Chapter 5 Parallel Distributed Processing Vol 1: Foundations. Cambridge MA
MIT Press, 1986.
[Salton et al. 75] Salton, G., Wong, A. y Yang, C. S., ―A vector space model for automatic
indexing‖, Communications of the ACM 18 issue 11 613– 620, 1975.
[Sakoe y Chiba 71] Sakoe, H., y Chiba, S., ―A Dynamic Programming Approach to
Continuos Speech Recognition‖, Proceedings of International Congress on Acoustics,
Budapest, Hungary, Paper 20C-13, 1971.
[Sander et al. 98] Sander, J.; Ester, M., Kriegel, H.P. y Xu, X., ―Density-Based Clustering
in Spatial Databases: The Algorithm GDBSCAN and Its Applications‖, Springer-Verlag,
doi:10.1023/A:1009745219419, Berlin, pp. 169–194, 1998.
[Schaffer et al. 89] Schaffer, J. D., Caruana, R., Eshelman, L. y Das, R., ―A Study of
Control Parameters Affecting Online Performance of Genetic Algorithms‖, Proceedings of
the 3rd
International Conference on Genetic Algorithms, pp. 51-60, 1989.
[Schmill et al. 99] Schmill, M., Oates, T. y Cohen, P., ―Learned models for continuous
planning‖, Proceedings of Uncertainty 99: The 7th
International Workshop on Artificial
Intelligence and Statistics, pp. 278–282, Fort Lauderdale, Florida, USA, Enero 1999.
[Schwefel y Männer 91] Schwefel, H. P. y Männer, R., ―Parallel Problem Solving from
Nature‖, Proceedings of the 1st Workshop PPSN I. Springer, Berlin, pp. 307 – 313, 1991.
Bibliografía
229
[Schwefel 95] Schwefel, H. P., ―Evolution and Optimum Seeking‖, Wiley, New York,,
1995.
[Sezan et al. 90] Sezan, M. I., Stark, H. y Yeh, S. J., ―Projection method formulations of
hopfield-type associative memory neural networks‖, Applied Optics, vol. 29, no. 17, pp.
2516-2622, Junio 1990.
[Sheikholeslami et al. 98] Sheikholeslami, G., Chatterjee y S., Zhang, A., ―WaveCluster: A
Multi-Resolution Clustering Approach for Very Large Spatial Databases‖, Proceedings of
the 24th
Very Large Databases Conference, New York, NY, 1998.
[Singh et al. 06] Singh V. S., Wang H. y Walker R. A., ―Solving The Longest Common
Subsequence (LCS) Problem Using The Associative Asc Processor With Reconfigurable
2d Mesh‖, International Conference on Parallel and Distributed Computing and Systems,
PDCS, 2006.
[Smith y Waterman 81] Smith, T. F. y Waterman, M. S., ―Identification of common
molecular subsequences‖, Journal of Molecular Biology, 147:195-197, 1981.
[Spearman 87] Spearman, C., ―The Proof and Measurement of Association between Two
Things‖, The American Journal of Psychology, Vol. 100, No. 3/4, Special Centennial, pp.
441-471, doi:10.2307/1422689, Otoño-Invierno 1987.
[Spendley et al. 62] Spendley, W., Hext, G.R. y Himsworth, F.R., ―Sequential Application
of Simplex Designs in Optimization and Evolutionary Operation‖, Technometrics (4), pp.
441-461, 1962.
[Sweldens 96] Sweldens, W., ―The lifting scheme: A custom-design construction of
biorthogonal wavelets‖, Appl. Comput. Harmon. Anal., vol. 3, pp. 186–200, 1996.
[Szu y Hartley 87] Szu, H. y Hartley, R., ―Fast simulated annealing‖, Physics Letters, 122,
pp. 157-162, 1987.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
230
[Szu 88] Szu, H., ―Fast TSP algorithm based on binary neuron output and analog neuron
input using the zero-diagonal interconnect matrix and necessary and sufficient constraints
of the permutation matrix‖, Proceedings of the IEEE First International Conference on
Neural Networks, 2, pp. 259-266, 1988.
[Talavera y Béjar 01] Talavera, L. y Béjar, J., ―Generality-based conceptual clustering with
probabilistic concepts‖, IEEE Transactions on Pattern Analysis and Machine Intelligence
23: 196–206, 2001.
[Takefuji y Szu 89] Takefuji, Y. y Szu, H., ―Design of parallel distributed Cauchy
machines‖, Proceedings IEEE International Joint Conference on Neural Networks, 1, pp.
529-532, 1989.
[Tejada et al. 01] Tejada, S., Knoblock, C. A. y Minton, S., ―Learning object identification
rules for information integration‖, Information Systems, 607-633, 2001.
[Tian y Wells 95] Tian J. y Wells, R. O., ―Vanishing moments and wavelet
approximation‖, Tech. Rep. CML TR95-01, Computat. Math. Lab., Rice Univ., Houston,
TX, Enero 1995.
[Tichy 84] Tichy, T. F., ―The string-to-string correction problem with block moves‖, ACM
Transactions on Computer Systems, 2(4):309-321, 1984.
[Ukkonen 92] Ukkonen, E., ―Approximate string matching with q-grams and maximal
matches‖, Theoretical Computer Science, 1:191-211, 1992.
[Utgoff et al. 97] Utgoff, P. E., Berkman, N. C. y Clouse, J. A., ―Decision tree induction
based on efficient tree restructuring‖, Machine Learning, vol. 29, pp. 5-44, 1997.
[Vanucci 98] Vanucci, M., ―Nonparmetric estimation using wavelets‖, Discussion paper
95-26, Duke University, 1998.
[Vapnik y Lerner 63] Vapnik, V. y Lerner, A., ―Pattern recognition using generalized
portrait method‖, Automation and Remote Control, 24, 1963.
Bibliografía
231
[Varga y Carpenter 92] Varga, R.S. y Carpenter, A. J., ―Some numerical results on best
uniform rational approximation of xα on [0,1]‖, Numer. Algorithms 2, 171-185, 1992.
[Von Neumman 56] Von Neumman, J., ―Probabilistic Logics and the Synthesis of Reliable
Organisms from Unreliable Components‖, Automata Studies (C.E. Shannon and J.
McCarthy,eds), Princeton University Press, 1956.
[Vuori et al. 00] Vuori, V., Aksela, M., Laaksonen, J. y Oja, E., ―Adaptive character
recognizer for a hand-held device: Implementation and evaluation setup‖, Proceedings of
the 7th
International Workshop on Frontiers in Handwriting Recognition (IWFHR7), 2000.
[Whigham 95] Whigham, P. A., ―Grammatically-Based Genetic Programming‖,
Proceedings of the Workshop on Genetic Programming: From Theory to Real-World
Applications, California, USA, pp. 33-41, 1995.
[Wang et al. 97] Wang, W., Yang, J. y Muntz, R., ―STING: A Statistical Information Grid
Approach to Spatial Data Mining‖, Proceedings of the 23rd
Very Large Databases
Conference, Athens, Greece, 1997.
[Whigham 96] Whigham, P. A., ―Grammatical Bias for Evolutionary Learning‖, Tesis,
School of Computer Science, Australian Defence Force (ADFA), University College,
University of New South Wales, Australia, 1996.
[Widrow 62] Widrow, B., ―Generalization and information Storage in Networks of Adaline
Neurons‖, M.C. Yovits, G.T. Jacobi, & G.D. Goldstein (Eds.), Self-Organizing Systems,
Washington D.C.: Spartan Books, 1962.
[Winkler 90] Winkler, W. E., ―String comparator metrics and enhanced decision rules in
the Fellegi-Sunter model of record linkage‖, ASA:Proceedings of the Survey Research
Methods Section, American Statistical Association, pp. 354-359, 1990.
[Winkler 99] Winkler, W. E., ―The state of record linkage and current research problems‖,
Technical report, Statistics of Income Division, Internal Revenue Service Publication
R99/04, 1999.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
232
[Wolff 94] Wolff, K. E., ―A first course in Formal Concept Analysis‖, F. Faulbaum
StatSoft '93: 429–438, Gustav Fischer Verlag, 1994.
[Wolpert y Macready 96] Wolpert, D. H. y Macready, W. G., ―No Free Lunch Theorems
for Search‖, Technical Report SFI-TR-95-02-010, Santa Fe Institute, 1996.
[Wu et al. 96] Wu, D., Agrawal, D., El Abbadi, Singh, A. y Smith, T. R., ―Efficient
retrieval for browsing large image databases‖, Proceedings of the 5th
International
Conference on Knowledge Information, pp. 11-18, Rockville, MD, 1996.
[Yang et al. 00] Yang, J., Wang, W., y Yu, P. S. ―Mining asynchronous periodic patterns in
time series data‖. Knowledge Discovery and Data Mining. 275-279. 2000.
[Yeung y Ruzzo 01] Yeung, K. Y. y Ruzzo, W. L., ―Details of the Adjusted Rand index
and Clustering algorithms‖, Bioinformatics, 2001.
[Yi et al. 98] Yi, B., Jagadish, K. y Faloutsos, C., ―Efficient retrieval of similar time
sequences under time warping‖, Proceedings International Conference on Data
Engineering, pp. 23–27, 1998.
[Yi y Faloutsos 00] Yi B.-K. y Faloutsos, C., ―Fast time suquence indexing for arbitrary Lp
norm‖, The VLDB Journal, pp. 385-394, 2000.
[Zhao y Bhowmick 03] Zhao, Q. y Bhowmick, S. ―Sequential Pattern Mining‖, Technical
Report, Nanyang Technological University. Singapore. 2003.
ANEXO I. UMBRALES
Anexo I – Umbrales
235
En este anexo se listan los umbrales que han sido utilizados en la módulo dependiente del
dominio (MDD) isocinético del método de extracción de símbolos (MES) (ver apartado
4.2.2.2). Estos umbrales han sido obtenidos de empíricamente gracias a la estrecha
colaboración del experto en isocinesia.
Umbral para determinación de pico o hundimiento
La expresión que determina los símbolos pico y hundimiento es:
umbralduración
amplitud
donde el umbral toma el valor 40.
Umbral para determinación de subida o bajada
La expresión que determina los símbolos subida y bajada es:
))_()_((
))_()_((
amplumbralamplitudandpendumbralPendiente
or
durumbralduracionandpendumbralPendiente
donde umbral_pend, umbra_dur y umbral_ampl toman los valores 1.1, 0.04 y 30
respectivamente.
Umbral para determinación de la sección de la curvatura
Se estimó que la curvatura de cualquier zona, sea flexión o extensión, estaba alrededor de
un 20% de la parte superior de cada zona
Umbral para la determinación de los tipos de los símbolos pico y hundimiento
La expresión que determina el tipo de los picos y hundimientos es:
grandecasootroen
pequeñoumbralamplitudamplitudSi
__
_
donde la amplitud_umbral toma el valor 20.
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
236
Umbral para la determinación de los tipos de los símbolos subida y bajada
La expresión que determina el tipo de los símbolos subida y bajada es:
agudacasootroen
suaveumbralamplitudamplitudSi
__
_
donde amplitud_umbral toma el valor 45.
Umbrales para la determinación de los tipos del símbolo curvatura
La expresión que determina los tipos de curvaturas es:
R1: ((n_picos_irreg umbral_n_picos) or (n_hunds_irreg>=umbral_n_hunds))17 irregular
R2: ((n_picos_agud18=1) or (Ampl_curv/Dur_curv19 umbral_curv_aguda)) aguda
R3: (( umbral_desv) or (CV umbral_CV)) meseta
R4: ¬ (( umbral_desv) or (CV umbral_CV)) aguda
Se considera que una curvatura es de tipo irregular si tiene más de umbral_n_picos picos o
umbral_n_hunds hundimientos con una relación de amplitud/duración mayor que una
constante denominada umbral_pico/hund_curv_irregular. La curvatura será de tipo aguda
si existe un solo pico con una relación amplitud/duración mayor que una constante
denominada umbral_pico_curv_aguda o si toda la zona de curvatura tiene una relación
amplitud/duración mayor que umbral_curv_aguda.
Después de un intensivo testeo con las secuencias que el experto tenía almacenadas en su
base de datos se obtuvieron los siguientes valores para los umbrales utilizados:
umbral_n_picos = 2
umbral_n_hunds = 3
umbral_pico/hund_curv_irregular = 24
umbral_curv_aguda = 32
umbral_pico_curv_aguda = 44
umbral_desv = 0.066
umbral_CV = 5.7
17 Se cuentan el número de picos (n_picos_irreg) y hundimientos (n_hunds_irreg) que cumplan la relación
amplitud/duración umbral_pico/hund_curv_irregular. 18 Se cuentan los picos (n_picos_agud) que cumplan la relación amplitud/duración umbral_pico_curv_aguda. 19 Ampl_curv y Dur_curv son la amplitud y la duración de la sección de la curvatura respectivamente.
ANEXO II. AUTÓMATA FINITO
Anexo II – Autómata Finito
239
,.' MM ERFM .
,.SCBE ,. AA AYXS
,. AXS A AS .,. AAYS
,. DXX DA ,. PXX PA
,. TXX TA ,.DX A ,.PX A
,.TX A ,.AsharpA
,.AgentleA ,. AXX AD
,. PXX PD ,. TXX TD ,.AX D
,.PX D ,.TX D ,. AXX AP
,. DXX DP ,. TXX TP ,.AX P
,.DX P ,.TX P ,. AXX AT
,. DXX DT ,. PXX PT ,.AX T
,.DX T ,.PX T ,.DsharpD
,.DgentleD ,.PbigP
,.TbigT ,.PsmallP ,.TsmallT
.' MM M
2I
ERFEM .
3I
S
,.CBSE
,.CsharpC
,.CflatC
CirregularC .
4I
,. AYAS
AX
5I
..,AS ,. DA DYY
,. PA PYY ,. TA TYY ,.DYA
,.PYA ,.TYA ,.DsharpD
,.DgentleD ,.PbigP ,.PsmallP
,.TbigT ,.TsmallT .,AX D
.,AX P .AX T
A
,. AA AYXS ,.AXS A ,.DXX AD
,.AXX AP ,.AXX AT ,.AsharpA
,.AgentleA
6I
DX
,.DXX DA
7I
,.DXX DP ,.DXX DT
,.DsharpD DgentleD .PX
,.PXX PA
8I
,.PXX PD ,.PXX PT
,.PbigP PsmallP .
,.TXX TA
9I
,.TXX TD ,.TXX TP
TX
,.TbigT ,.TsmallT
.,DX A .,DX P .DX T
D
.,TX A .,TX D .TX P
.,PX A .,PX D .PX T
P
T
10I
11I
12I
.TbigT
Tbi
g
.TsmallT
19I
20I
Tsm
all
.PbigP
17I
.PsmallP
18I
.AsharpA
.AgentleA
Ash
arp
Agen
tle
13I
14I
.DsharpD
.DgentleD 16I
15I
6I
Pbi
g
Psm
all
Dge
ntleDsh
arp
Pbig
Psm
all
Dsh
arp
Dg
entl
e
1I
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
240
,.FERM ,.SCBF
,. AA AYXS ,. AXS A
,.AS ,. AAYS ,. DXX DA
,. PXX PA ,. TXX TA
,.DX A ,.PX A ,.TX A
,.AsharpA ,.AgentleA
,. AXX AD ,. PXX PD ,. TXX TD
,.AX D ,.PX D ,.TX D
,. AXX AP ,. DXX DP ,. TXX TP
,.AX P ,.DX P ,.TX P
,. AXX AT ,. DXX DT ,. PXX PT
,.AX T ,.DX T ,.PX T
,.DsharpD ,.DgentleD
,.PbigP
,.TbigT
,.PsmallP
TsmallT .
RRFEM .
3I
S
,.CBSF
,.CsharpC
,.CflatC
CirregularC .
35I
AX5I
ADX PX
TX
D P T
TbigTsmall
Asharp
Agentle
Pbig
Psmall
DsharpDgentle
21I
F.ERFM
34I
6I 7I 8I
10I11I
12I9I
13I 14I 15I 16I
18I19I
20I17I
13I 39I 14I
.,AXX AD .,AXX AP .. AXX AT 57I
A
Asharp Agentle
13I
38I14I
Asharp
Agentle
17I
18I
Pbig
Psmall
19I 20I
Tbig Tsmall
56I
43I
44I
45I
.DDYB DY
A
P
T
Anexo II – Autómata Finito
241
,.BSCE
,. DXB D
,. DXX DA ,. PXX PA ,. TXX TA
,.DX A ,.PX A ,.TX A
,.AsharpA ,.AgentleA
,. AXX AD ,. PXX PD
,. TXX TD ,.AX D ,.PX D
,.TX D
,. AXX AP ,. DXX DP ,. TXX TP
,.AX P ,.DX P ,.TX P
,. AXX AT ,. DXX DT ,. PXX PT
,.AX T ,.DX T ,.PX T
,.DsharpD ,.DgentleD
,.PbigP
,.TbigT
,.PsmallP
TsmallT .
B
36I
,.CBSE
,.CsharpC
,.CflatC
CirregularC .
22I
C
4I
.SCBE
.CsharpC
.CflatC
CirregularC .
CsharpCirre
gula
r
Cflat
23I
24I
25I
,. DD DYXB
,. DDYB ,.DB
DX
37I
,.DXB D,. DD DYXB
,.DsharpD ,.DgentleD
,. DXX DA ,. DXX DP
DXX DT .
D38I
.,DB ,. DYDB
,.AsharpA ,.AgentleA
.,DX A
.,DX P .,DX T ,. AD AYY
,. PD PYY ,. TD TYY ,.AYD ,.PYD
,.TYD
,.PbigP ,.TbigT ,.PsmallP
TsmallT .
AX39I
,.AsharpA
AgentleA .
,.AXX AD ,.AXX AP
,.AXX AT
PT
9I11I 12I8IPX
TX
14I 15I 16I13IAsharp
AgentleDsharp
Dgentle
TbigTsmall
Pbig
Psmall
18I19I
20I17I
A
40I.,AX D
.,AX P
.AX T
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
242
,.DYA
,.PYA ,.TYA
.,AXX AD .,AXX AP
,. AXX AT
,.DsharpD
,.DgentleD ,.PbigP
,.TbigT ,.PsmallP
TsmallT .
A
26I
41I
PT
28I 29I 30I
D
15I 16IDsharp
Dgentle
TbigTsmall
PbigPsmall
18I19I
20I17I
,. AA YAXS .,AXS A
,. DA DYY
,. PA PYY ,. TA TYY
5I
14I
13IAsharp
Agentle
.AA AYXS AY
,.AYD
,.PYD ,.TYD
.,DXX DA .,DXX DP
,. DXX DT
,.AsharpA
,.AgentleA ,.PbigP
,.TbigT ,.PsmallP
TsmallT .
D
55I
68I
PT
43I44I 45I
A
13I14I
Asharp
Agentle
TbigTsmall
PbigPsmall
18I19I
20I17I
,. DD YDXB .,DXB D
,. AD AYY
,. PD PYY ,. TD TYY
37I
16I
15IDsharp
Dgentle
.DD DYXB DY
Anexo II – Autómata Finito
243
,.AYP ,.DYP ,.TYP
,.AsharpA ,.AgentleA
,.DsharpD
,.TbigT
,.DgentleD
,.TsmallT
29I
42I
13I14I
Asharp Agentle
TbigTsmall
PbigPsmall
18I19I
20I17I
,. PA YPY
,. DP DYY ,. TP TYY
.DA DYY
DY
15I
38I16I
Dsharp
Dgentle
17I
18I
Pbig
Psmall
19I 20I
Tbig Tsmall27I
.AAYS AY
D
P
T
,. AP AYY
.PYA
,.AYT ,.DYT ,.PYT
,.AsharpA ,.AgentleA
30I
,. TA YTY
,. PT PYY ,. DT DYY
,. AT AYY
.TYA
,.DsharpD ,.DgentleD
,.DYA ,.PYA ,.TYA
,.DsharpD
,.TbigT
,.DgentleD
,.TsmallT
43I
.AYD
,. DA DYY
,. PA PYY
,. AD YAY
,.AYP ,.DYP ,.TYP
,.AsharpA ,.AgentleA
,.TbigT ,.TsmallT 44I
,. PD YPY
,. DP DYY ,. TP TYY
,. AP AYY
.PYD
,.AYT ,.DYT ,.PYT
,.AsharpA ,.AgentleA
45I
,. TD YTY
,. PT PYY ,. DT DYY
,. AT AYY
.TYD
,.DsharpD ,.DgentleD
,. TA TYY
,.PbigP ,.PsmallP
DA
,.DsharpD ,.DgentleD
,.PbigP ,.PsmallP
,.PbigP ,.PsmallP
15I
16I
Dsharp
Dgentle
TsmallTbigPsmallPbig
T
P
58I
.AD AYY
AY
,.AYD ,.PYD ,.TYD
,.AsharpA ,.AgentleA
,.PbigP
,.TbigT
,.PsmallP
,.TsmallT
28I
,. DA YDY
,. PD PYY ,. TD TYY
,. AD AYY
.DYA
29I
30I
P
T
TsmallTbigAsharp Agentle
Dsh
arp
Dgen
tle
59I
.PD PYY
PY
47I 48I 49I
DA T
Dsharp
Dgentle
51I
13I
52I
14I
17I 18I
53I
A D
P
Ash
arp
Ag
entle
Pb
ig
Psm
all
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
244
15I 7I 16I
.,DXX DA .,DXX DP .. DXX DT
31ID
Dsharp Dgentle
17I 8I18I
.,PXX PA .,PXX PD .. PXX PT
32IP
Pbig Psmall19I 9I
20I
,TXX TA .,TXX TD .. TXX TP
33IT
Tbig Tsmall
,.AYD ,.PYD ,.TYD
,.AsharpA ,.AgentleA
,.TbigT ,.TsmallT
48I
61I
,. DP YDY
,. PD PYY ,. TD TYY
.AP AYY
AY
13I
29I14I
Asharp
Agentle
15I
16I
Dsharp
Dgentle
19I 20I
Tbig Tsmall46I
.PA PYY PY
D
A
T
,. AD AYY
.DYP
,.AYT ,.DYT ,.PYT
,.AsharpA ,.AgentleA
49I,. Tp YTY
,. PT PYY ,. DT DYY
,. AT AYY
.TYp
,.DsharpD ,.DgentleD ,.DYA ,.PYA ,.TYA
,.PbigP
,.TbigT
,.PsmallP
,.TsmallT
47I
,. AP YAY ,. DA DYY
.AYP
,.DsharpD ,.DgentleD
,.PbigP ,.PsmallP
,.TbigT ,.TsmallT
Dsharp
28I
16I
29I
19I
17I 18I
30I
D P
T
Dgen
tle T
big
Pbig
Psm
all
20I
Tsm
all
62I
.DP DYY
DY
43I
45I
44I
13I
17I14I
A P
T
Ash
arp
Pbig
Ag
entleTsmall
Psmall
Tbig
Dgentle
Asharp
Agentle
51I
52I
53I
15I
19I20I
A P
D
Dsh
arp
Tb
ig
Tsm
all
63I
.TP TYY
TY
,. PA PYY ,. TA TYY
Anexo II – Autómata Finito
245
,.AYD ,.PYD ,.TYD
,.AsharpA ,.AgentleA
,.TbigT ,.TsmallT
52I
64I
,. DT YDY
,. PD PYY ,. TD TYY
.AT AYY
AY
13I
30I14I
Asharp
Agentle
15I
16I
Dsharp
Dgentle
17I18I
Pbig Psmall50I
.TA TYY TY
D
A
T
,. AD AYY
.DYT
,.AYP ,.DYP ,.TYP
,.AsharpA ,.AgentleA
53I,. PT YPY
,. TP TYY ,. DP DYY
,. AP AYY
.PYT
,.DsharpD ,.DgentleD ,.DYA ,.PYA ,.TYA
,.PbigP
,.TbigT
,.PsmallP
,.TsmallT
51I
,. AT YAY
,. PA PYY ,. TA TYY
,. DA DYY
.AYT
,.DsharpD ,.DgentleD
,.PbigP ,.PsmallP
,.TbigT ,.TsmallT
Dsharp
28I
16I
29I
19I
17I 18I
30I
D P
T
Dgen
tle T
big
Pb
ig
Psm
all
20I
Tsm
all
65I
.DT DYY
DY
43I
45I
44I
13I
17I14I
A P
T
Ash
arp
Pb
ig
Agen
tleTsmall
Psmall
Tbig
Dgentle
Asharp
Agentle
47I
48I
49I
15I
19I20I
A T
D
Dsh
arp
Tbig
Tsm
all
66I
.PT PYY
PY
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
246
,.AYD ,.PYD ,.TYD
,.AsharpA ,.AgentleA
,.TbigT ,.TsmallT
52I
64I
,. DT YDY
,. PD PYY ,. TD TYY
.AT AYY
AY
13I
30I14I
Asharp
Agentle
15I
16I
Dsharp
Dgentle
17I18I
Pbig Psmall50I
.TA TYY TY
D
A
T
,. AD AYY
.DYT
,.AYP ,.DYP ,.TYP
,.AsharpA ,.AgentleA
53I,. PT YPY
,. TP TYY ,. DP DYY
,. AP AYY
.PYT
,.DsharpD ,.DgentleD ,.DYA ,.PYA ,.TYA
,.PbigP
,.TbigT
,.PsmallP
,.TsmallT
51I
,. AT YAY
,. PA PYY ,. TA TYY
,. DA DYY
.AYT
,.DsharpD ,.DgentleD
,.PbigP ,.PsmallP
,.TbigT ,.TsmallT
Dsharp
28I
16I
29I
19I
17I 18I
30I
D P
T
Dgen
tle T
big
Pb
ig
Psm
all
20I
Tsm
all
65I
.DT DYY
DY
43I
45I
44I
13I
17I14I
A P
T
Ash
arp
Pb
igA
gen
tleTsmall
Psmall
Tbig
Dgentle
Asharp
Agentle
47I
48I
49I
15I
19I20I
A T
D
Dsh
arp
Tbig
Tsm
all
66I
.PT PYY
PY
ANEXO III. RESULTADOS DE LA EXPERIMENTACIÓN
Anexo III – Resultados de la Experimentación
249
III.A. Resultados de la Fase 1 del experimento
1.2
4
1.2
3
1.2
2
1.2
1
1.2
0
1.1
9
1.1
8
1.1
7
1.1
6
1.1
5
1.1
4
1.1
3
1.1
2
1.1
1
1.1
0
1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
Caso
c
ss
1.2
4
1.2
3
1.2
2
1.2
1
1.2
0
1.1
9
1.1
8
1.1
7
1.1
6
1.1
5
1.1
4
1.1
3
1.1
2
1.1
1
1.1
0
1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
Caso
c
100
19
100
100
100
16
14
32
100
100
100
35
100
100
100
100
12
100
15
21
100
100
12
17
dss
100
22
100
25
18
17
100
35
100
23
100
37
16
100
100
100
18
100
12
100
100
100
100
100
22
19
31
39
22
15
14
31
16
26
31
33
13
20
30
37
9
16
15
15
17
16
12
11
31
21
22
25
17
16
26
35
14
21
20
31
13
17
26
41
15
14
9
11
12
19
9
7
78,6
974
79,9
963
78,6
942
77,4
333
74,5
737
80,0
526
79,9
849
79,8
1
82,1
547
82,1
137
84,5
437
84,9
112
80,7
044
84,6
085
83,2
77
83,5
525
71,6
496
70,5
522
73,0
097
72,7
253
72,6
319
72,6
722
72,5
122
72,1
371
74,8
526
79,8
091
79,5
215
78,6
798
78,8
886
79,7
701
79,0
531
79,6
722
82,1
547
84,6
084
84,4
438
85,0
208
84,7
16
80,4
467
83,1
685
84,8
156
73,0
342
72,9
581
72,6
115
68,9
305
72,4
51
72,4
827
72,4
51
70,5
385
78,6
974
82,0
486
78,6
942
77,4
333
74,5
737
86,2
997
82,4
446
80,8
641
82,1
547
82,1
137
84,5
437
85,2
783
80,7
044
84,6
085
83,2
77
83,5
525
74,9
64
70,5
522
73,9
595
73,4
505
72,6
319
72,6
722
75,9
097
76,8
535
74,8
526
81,4
814
79,5
215
83,9
403
82,2
828
84,1
591
79,0
531
80,7
283
82,1
547
90,3
187
84,4
438
85,9
227
87,6
368
80,4
467
83,1
685
84,8
156
73,4
195
72,9
581
74,5
422
68,9
305
72,4
51
72,4
827
72,4
51
70,5
385
78,6
974
78,9
861
78,6
942
77,4
333
74,5
737
78,1
317
79,3
314
79,4
499
82,1
547
82,1
137
84,5
437
84,6
996
80,7
044
84,6
085
83,2
77
83,5
525
69,8
709
70,5
522
72,4
065
72,1
243
72,6
319
72,6
722
71,4
674
69,7
529
74,8
526
79,2
446
79,5
215
75,9
444
77,9
219
77,7
383
79,0
531
79,1
734
82,1
547
82,7
094
84,4
438
84,5
077
83,5
064
80,4
467
83,1
685
84,8
156
72,9
412
72,9
581
72,1
119
68,9
305
72,4
51
72,4
827
72,4
51
70,5
385
19
10
0
19
24
15
20
32
28
10
0
10
0
10
0
10
0
10
0
10
0
10
0
31
10
0
10
0
10
0
27
14
10
0
12
20
14
21
18
10
0
15
21
32
28
10
0
10
0
10
0
10
0
21
10
0
15
10
0
10
0
10
10
0
10
0
27
10
0
12
10
0
17
23
19
24
15
19
31
25
10
12
19
18
23
14
11
28
13
11
11
26
12
16
7
20
14
20
18
25
15
20
30
27
26
18
20
23
21
12
15
35
10
10
8
15
21
6
11
19
79
,83
39
78
,89
55
78
,77
48
78
,44
48
79
,51
24
79
,46
35
79
,08
94
79
,43
13
83
,23
55
80
,70
44
82
,15
47
82
,76
59
83
,74
08
84
,89
62
81
,05
79
84
,51
26
72
,17
38
70
,23
98
72
,95
81
73
,38
71
72
,33
56
72
,95
81
73
,13
79
72
,33
9
77
,23
83
79
,57
52
80
,00
68
77
,39
63
79
,88
03
79
,25
42
79
,78
06
79
,16
3
80
,78
1
83
,13
88
84
,75
22
83
,24
7
84
,58
51
82
,57
62
84
,57
23
84
,28
84
70
,34
38
71
,92
68
69
,88
11
72
,09
41
72
,83
89
68
,93
05
72
,73
14
70
,41
41
81
,38
18
78
,89
55
82
,25
29
81
,32
73
83
,65
72
81
,05
7
82
,13
63
82
,56
99
83
,23
55
80
,70
44
82
,15
47
82
,76
59
83
,74
08
84
,89
62
81
,05
79
85
,21
39
72
,17
38
70
,23
98
72
,95
81
76
,27
2
74
,69
83
72
,95
81
75
,72
9
74
,65
34
84
,93
84
81
,20
45
81
,95
6
77
,39
63
80
,86
41
80
,81
24
80
,72
83
81
,68
82
80
,78
1
83
,13
88
84
,75
22
83
,24
7
85
,74
49
82
,57
62
85
,90
36
84
,28
84
70
,34
38
75
,22
36
69
,88
11
72
,09
41
73
,13
66
68
,93
05
74
,01
9
70
,41
41
79
,01
52
78
,89
55
77
,31
1
77
,41
77
,79
67
78
,73
73
78
,23
29
77
,98
35
83
,23
55
80
,70
44
82
,15
47
82
,76
59
83
,74
08
84
,89
62
81
,05
79
83
,99
22
72
,17
38
70
,23
98
72
,95
81
72
,73
3
71
,47
17
72
,95
81
72
,45
1
71
,38
55
73
,99
93
79
,25
3
79
,67
5
77
,39
63
79
,64
94
78
,21
58
79
,39
06
78
,23
32
80
,78
1
83
,13
88
84
,75
22
83
,24
7
83
,98
26
82
,57
62
84
,17
95
84
,28
84
70
,34
38
70
,10
64
69
,88
11
72
,09
41
72
,76
45
68
,93
05
72
,06
45
70
,41
41
100
22
23
29
23
100
20
47
100
100
22
38
100
100
100
100
100
100
11
100
10
100
21
15
25
21
23
28
22
31
19
40
11
12
17
32
14
18
29
23
8
15
8
19
8
6
21
11
76,8
886
79,7
337
80,1
374
79,7
631
79,7
452
76,8
886
79,8
201
79,7
372
81,5
81
84,3
565
84,8
996
84,7
031
84,2
884
81,6
593
80,9
366
82,2
302
72,9
581
70,5
385
72,8
791
72,9
581
71,9
67
71,5
088
72,7
997
71,8
104
76,8
886
82,2
999
83,3
554
82,4
854
81,3
053
76,8
886
83,9
77
80,7
283
81,5
81
84,3
565
85,3
634
85,4
622
84,2
884
81,6
593
80,9
366
82,2
302
72,9
581
70,5
385
74,6
759
72,9
581
75,5
951
71,5
088
73,2
957
75,1
784
76,8
886
78,5
469
79,6
962
79,1
225
79,1
217
76,8
886
79,4
456
79,1
354
81
,581
84,3
565
84,7
361
84,4
109
84,2
884
81,6
593
80,9
366
82,2
302
72,9
581
70,5
385
72,0
879
72,9
581
69,6
804
71,5
088
72,5
444
70,4
141
Tabla III-1. Fase 1 – Resultados de las cinco pruebas por caso (población de referencia: 15 individuos)
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
250
1.2
4
1.2
3
1.2
2
1.2
1
1.2
0
1.1
9
1.1
8
1.1
7
1.1
6
1.1
5
1.1
4
1.1
3
1.1
2
1.1
1
1.1
0
1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
Caso
c
s
1.2
4
1.2
3
1.2
2
1.2
1
1.2
0
1.1
9
1.1
8
1.1
7
1.1
6
1.1
5
1.1
4
1.1
3
1.1
2
1.1
1
1.1
0
1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
Caso
c
100
100
100
100
100
100
100
100
31
100
100
39
100
100
100
50
No se d
ispone d
e 39 in
div
idu
os d
el dep
orte d
e n
ata
ció
n
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
42
No
se disp
on
e de 3
9 in
div
idu
os d
el dep
orte d
e n
ata
ció
n
1
14
15
14
21
16
15
32
25
21
22
34
26
21
17
48
11
13
28
27
18
6
19
17
19
17
13
33
10
13
10
37
66,2
218
68,6
095
70,6
769
68,2
085
75,1
349
72,7
154
71,5
191
73,6
197
84,8
849
78,5
933
83,7
359
84,7
648
81,0
793
81,0
793
80,0
616
84,9
909
71,0
462
71,5
191
74,2
588
67,7
72
74,2
588
67,4
566
69,0
316
70,9
61
79,3
138
79,6
274
81,6
128
84,1
702
79,1
89
81,6
128
81,4
308
84,9
125
66,2
218
68,6
095
70,6
769
68,2
085
75,1
349
72,7
154
71,5
191
73,6
197
85,2
379
78,5
933
83,7
359
85,3
282
81,0
793
81,0
793
80,0
616
85,5
659
71,0
462
71,5
191
74,2
588
67,7
72
74,2
588
67,4
566
69,0
316
70,9
61
79,3
138
79,6
274
81,6
128
84,1
702
79,1
89
81,6
128
81,4
308
85,5
659
66,2
218
68,6
095
70,6
769
68,2
085
75,1
349
72,7
154
71,5
191
73,6
197
84,5
084
78,5
933
83,7
359
84,5
637
81,0
793
81,0
793
80,0
616
84,9
174
71,0
462
71,5
191
74,2
588
67,7
72
74,2
588
67,4
566
69,0
316
70,9
61
79,3
138
79,6
274
81,6
128
84,1
702
79,1
89
81,6
128
81,4
308
84,7
61
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
31
10
0
6
12
18
19
19
20
15
28
20
21
20
20
14
22
22
30
7
13
7
20
3
22
18
23
10
17
30
29
18
27
25
20
66
,80
45
75
,06
66
71
,51
91
69
,51
69
73
,08
46
73
,61
97
71
,51
91
71
,34
41
79
,75
27
78
,28
33
78
,44
81
81
,07
93
78
,75
79
81
,21
31
82
,04
57
83
,66
05
70
,67
69
70
,76
51
71
,51
91
68
,64
9
68
,22
71
,51
91
71
,24
69
69
,51
69
78
,07
92
79
,22
81
,77
12
84
,00
28
81
,26
57
80
,48
41
84
,90
45
78
,20
4
66
,80
45
75
,06
66
71
,51
91
69
,51
69
73
,08
46
73
,61
97
71
,51
91
71
,34
41
79
,75
27
78
,28
33
78
,44
81
81
,07
93
78
,75
79
81
,21
31
82
,04
57
83
,66
05
70
,67
69
70
,76
51
71
,51
91
68
,64
9
68
,22
71
,51
91
71
,24
69
69
,51
69
78
,07
92
79
,22
81
,77
12
84
,00
28
81
,26
57
80
,48
41
85
,06
87
78
,20
4
66
,80
45
75
,06
66
71
,51
91
69
,51
69
73
,08
46
73
,61
97
71
,51
91
71
,34
41
79
,75
27
78
,28
33
78
,44
81
81
,07
93
78
,75
79
81
,21
31
82
,04
57
83
,66
05
70
,67
69
70
,76
51
71
,51
91
68
,64
9
68
,22
71
,51
91
71
,24
69
69
,51
69
78
,07
92
79
,22
81
,77
12
84
,00
28
81
,26
57
80
,48
41
84
,83
64
78
,20
4
100
100
100
100
100
100
100
100
100
100
100
100
100
100
30
100
9
18
23
17
11
20
16
22
17
29
26
38
23
16
26
35
68
,3301
71
,5191
73
,8282
73
,6676
71
,5191
71
,5191
71
,6218
73
,9777
78
,2833
80
,9617
79
,8361
81
,907
81
,7034
84
,1702
84
,9431
81
,0363
68,3
301
71,5
191
73,8
282
73,6
676
71,5
191
71,5
191
71,6
218
73,9
777
78,2
833
80,9
617
79,8
361
81,9
07
81,7
034
84,1
702
85,2
379
81,0
363
68,3
301
71,5
191
73,8
282
73,6
676
71,5
191
71,5
191
71,6
218
73,9
777
78,2
833
80,9
617
79,8
361
81,9
07
81,7
034
84,1
702
84,7
625
81,0
363
Tabla III-2. Fase 1 – Resultados de las cinco pruebas por caso (población de referencia: 39 individuos)
Anexo III – Resultados de la Experimentación
251
1.2
4
1.2
3
1.2
2
1.2
1
1.2
0
1.1
9
1.1
8
1.1
7
1.1
6
1.1
5
1.1
4
1.1
3
1.1
2
1.1
1
1.1
0
1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
Caso
c
s
1.2
4
1.2
3
1.2
2
1.2
1
1.2
0
1.1
9
1.1
8
1.1
7
1.1
6
1.1
5
1.1
4
1.1
3
1.1
2
1.1
1
1.1
0
1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
Caso
c
100
100
100
100
100
100
100
100
No se d
ispone d
e 105
indiv
iduos n
i del d
epo
rte de n
ata
ció
n n
i del d
epo
rte de tr
iatló
n
No se d
ispone d
e 105
indiv
idu
os n
o d
el dep
orte n
ata
ció
n
100
100
100
100
100
100
100
100
No se d
ispon
e de 1
05 in
div
idu
os n
i del d
epo
rte de n
ata
ció
n n
i del d
epo
rte de tr
iatló
n
No
se disp
on
e de 1
05 in
div
idu
os n
o d
el dep
orte n
ata
ció
n
22
20
14
45
25
35
23
30
19
23
20
13
17
12
19
44
75,8
569
76,7
144
75,3
271
78,7
717
75,0
9
72,0
051
73,1
089
76,3
968
71,6
181
77,1
07
74,2
293
77,6
937
76,3
968
73,0
54
73,6
898
77,9
313
75,8
569
76,7
144
75,3
271
78,7
717
75,0
9
72,0
051
73,1
089
76,3
968
71,6
181
77,1
07
74,2
293
77,6
937
76,3
968
73,0
54
73,6
898
77,9
313
75,8
569
76,7
144
75,3
271
78,7
717
75,0
9
72,0
051
73,1
089
76,3
968
71,6
181
77,1
07
74,2
293
77,6
937
76,3
968
73,0
54
73,6
898
77,9
313
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
19
17
21
30
16
15
18
41
11
9
16
25
11
23
21
30
76
,02
44
77
,69
37
78
,30
85
76
,71
44
73
,17
18
74
,83
92
76
,71
44
74
,49
44
73
,05
4
73
,17
36
73
,37
92
72
,30
21
72
,76
29
75
,86
99
77
,73
49
75
,86
99
76
,02
44
77
,69
37
78
,30
85
76
,71
44
73
,17
18
74
,83
92
76
,71
44
74
,49
44
73
,05
4
73
,17
36
73
,37
92
72
,30
21
72
,76
29
75
,86
99
77
,73
49
75
,86
99
76
,02
44
77
,69
37
78
,30
85
76
,71
44
73
,17
18
74
,83
92
76
,71
44
74
,49
44
73
,05
4
73
,17
36
73
,37
92
72
,30
21
72
,76
29
75
,86
99
77
,73
49
75
,86
99
100
100
100
100
100
100
100
100
14
13
13
26
14
12
19
10
71
,9001
73
,054
73
,4213
73
,7639
74
,9402
76
,3968
76
,0244
73
,1089
71,9
001
73,0
54
73,4
213
73,7
639
74,9
402
76,3
968
76,0
244
73,1
089
71,9
001
73,0
54
73,4
213
73,7
639
74,9
402
76,3
968
76,0
244
73,1
089
Tabla III-3. Fase 1 – Resultados de las cinco pruebas por caso (población de referencia: 105 individuos)
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
252
Caso c
1.1 50,4000 71,4478 73,5276 70,5010 2,9018 76,8535
1.2 31,4000 72,7264 74,2809 72,1957 1,5114 75,9097
1.3 100,0000 71,7105 71,7105 71,7105 1,6467 72,9581
1.4 50,2000 72,4449 73,7026 71,7999 1,3790 75,5951
1.5 69,6000 72,0190 72,7410 71,7680 2,6437 76,2720
1.6 47,6000 72,2679 73,2034 71,8891 1,9768 74,6759
1.7 82,0000 71,2431 71,9024 70,8790 2,1559 75,2236
1.8 66,0000 72,0319 72,7718 71,6576 1,6965 74,9640
1.9 86,2000 83,8799 84,0201 83,7758 1,1782 85,2139
1.10 83,0000 82,6025 82,8687 82,5239 2,0297 85,9036
1.11 100,0000 82,8374 82,8374 82,8374 1,9070 84,8962
1.12 67,4000 83,6069 84,4231 83,2445 2,5684 87,6368
1.13 62,0000 84,1296 84,5352 83,9262 1,4254 85,9227
1.14 84,4000 84,1588 84,2516 84,1261 1,2254 85,3634
1.15 84,6000 82,9844 84,1264 82,6046 3,7126 90,3187
1.16 100,0000 81,9814 81,9814 81,9814 0,8992 83,2355
1.17 34,0000 79,5627 81,3158 78,7951 0,8071 82,5699
1.18 39,6000 79,5456 81,6679 79,0907 1,8624 83,9770
1.19 34,8000 79,0858 81,8434 77,9423 3,5865 86,2997
1.20 34,2000 78,5200 80,5366 77,8127 3,5015 83,6572
1.21 55,6000 78,3435 80,5165 77,4613 2,9790 83,9403
1.22 52,0000 79,4269 81,1560 78,9796 1,9629 83,3554
1.23 36,8000 79,6020 81,1860 78,9852 1,3527 82,2999
1.24 66,6000 77,5022 79,3518 76,6906 3,9392 84,9384
Tabla III-4. Fase 1 – Resultados obtenidos por cada caso (poblaciones de referencia: 15 individuos)
Caso c D
el caso 1
.1 al 1
.8
No se dispone de 39 individuos del deporte de natación
1.9 78,4000 82,5608 82,8065 82,5158 3,1731 85,5659
1.10 72,2000 82,6771 82,7689 82,6274 2,2928 85,2379
1.11 100,0000 81,7119 81,7119 81,7119 1,4326 84,1702
1.12 100,0000 80,3991 80,3991 80,3991 1,3297 81,7034
1.13 87,8000 83,1848 83,2975 83,1446 1,7490 85,3282
1.14 100,0000 81,0808 81,0808 81,0808 2,0180 83,7359
1.15 100,0000 79,3371 79,3371 79,3371 1,0489 80,9617
1.16 86,2000 80,0628 80,1334 79,9875 2,9375 85,2379
1.17 100,0000 71,8839 71,8839 71,8839 1,8803 73,9777
1.18 100,0000 70,9877 70,9877 70,9877 1,1023 71,6218
1.19 100,0000 71,3660 71,3660 71,3660 2,3575 73,6197
1.20 100,0000 72,4435 72,4435 72,4435 2,7222 75,1349
1.21 100,0000 69,5628 69,5628 69,5628 2,3837 73,6676
1.22 100,0000 72,3604 72,3604 72,3604 1,5818 74,2588
1.23 100,0000 71,4959 71,4959 71,4959 2,3247 75,0666
1.24 100,0000 68,6159 68,6159 68,6159 2,1937 71,0462
Tabla III-5. Fase 1 – Resultados obtenidos por cada caso (poblaciones de referencia: 39 individuos)
Anexo III – Resultados de la Experimentación
253
Caso c
Del caso
1.1
al 1.8
No se dispone de 105 individuos del deporte de natación
Del caso
1.9
al 1.1
6
No se dispone de 105 individuos ni del deporte de natación ni del deporte de
triatlón
1.17 100 75,5603 75,5603 75,5603 1,8414 77,9313
1.18 100 75,4545 75,4545 75,4545 1,9830 77,7349
1.19 100 74,4330 74,4330 74,4330 1,8630 76,3968
1.20 100 74,4723 74,4723 74,4723 1,4931 76,3968
1.21 100 75,8492 75,8492 75,8492 2,7213 78,7717
1.22 100 74,9331 74,9331 74,9331 2,0460 78,3085
1.23 100 75,5485 75,5485 75,5485 2,2502 77,6937
1.24 100 73,6907 73,6907 73,6907 2,1240 76,0244
Tabla III-6. Fase 1 – Resultados obtenidos por cada caso (poblaciones de referencia: 105 individuos)
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
254
Torneo Generacional Ruleta Truncamiento
15
Nat
ació
n G
BC
G 2 4 1 3
MF 2 4 1 3
MFA 4 3 1 2
DTMF 1 3 2 4
Wh
igh
am G 2 4 1 3
MF 2 4 1 3
MFA 4 1 3 2
DTMF 1 3 2 4
Tri
atló
n G
BC
G 2 3 1 4
MF 3 2 1 4
MFA 2 3 1 4
DTMF 4 2 3 1
Wh
igh
am G 4 3 2 1
MF 4 3 2 1
MFA 3 2 4 1
DTMF 2 3 1 4
Rugb
y
GB
C
G 4 1 2 3
MF 2 3 4 1
MFA 1 3 4 2
DTMF 4 3 1 2
Wh
igh
am G 2 3 4 1
MF 2 3 4 1
MFA 3 2 1 4
DTMF 2 3 4 1
39
Tri
atló
n G
BC
G 3 4 1,5 1,5
MF 4 3 2 1
MFA 4 3 2 1
DTMF 1 2 3 4
Wh
igh
am G 3 1,5 1,5 4
MF 4 3 1 2
MFA 4 2 1 3
DTMF 3 2 4 1
Rugb
y
GB
C
G 2,5 2,5 2,5 2,5
MF 3 1 2 4
MFA 3 1 2 4
DTMF 3 4 2 1
Wh
igh
am G 2,5 2,5 2,5 2,5
MF 2 4 3 1
MFA 2 3 4 1
DTMF 1 4 2 3
105
Rugb
y
GB
C
G 2,5 2,5 2,5 2,5
MF 4 3 1 2
MFA 4 3 1,5 1,5
DTMF 3 1 2 4
Wh
igh
am G 2,5 2,5 2,5 2,5
MF 4 2 3 1
MFA 4 3 2 1
DTMF 1 4 2 3
Tabla III-7. Fase 1 – Puntuación (de 1 a 4) de los operadores de selección
Anexo III – Resultados de la Experimentación
255
GBC Whigham GBC Whigham
15
Nat
ació
n
To
rneo
G 2 1
30
Tri
atló
n
To
rneo
G 2 1
MF 2 1 MF 1 2
MFA 2 1 MFA 2 1
DTMF 1 2 DTMF 1 2 G
ener
acio
nal
G 2 1
Gen
erac
ion
al
G 2 1
MF 2 1 MF 2 1
MFA 2 1 MFA 2 1
DTMF 2 1 DTMF 1 2
Rule
ta
G 1 2
Rule
ta
G 1,5 1,5
MF 1 2 MF 2 1
MFA 1 2 MFA 2 1
DTMF 2 1 DTMF 1 2
Tru
nca
mie
nto
G 2 1
Tru
nca
mie
nto
G 1 2
MF 2 1 MF 2 1
MFA 2 1 MFA 1 2
DTMF 2 1 DTMF 2 1
Tri
atló
n
To
rneo
G 1 2
Rugb
y
To
rneo
G 1,5 1,5
MF 1 2 MF 2 1
MFA 1 2 MFA 2 1
DTMF 2 1 DTMF 2 1
Gen
erac
ion
al
G 2 1 G
ener
acio
nal
G 1,5 1,5
MF 1 2 MF 1 2
MFA 2 1 MFA 1 2
DTMF 1 2 DTMF 2 1
Rule
ta
G 1 2
Rule
ta
G 1,5 1,5
MF 1 2 MF 1 2
MFA 2 1 MFA 1 2
DTMF 2 1 DTMF 1 2
Tru
nca
mie
nto
G 2 1
Tru
nca
mie
nto
G 1,5 1,5
MF 2 1 MF 2 1
MFA 2 1 MFA 2 1
DTMF 1 2 DTMF 1 2
Rugb
y
To
rneo
G 2 1
105
Rugb
y
To
rneo
G 1,5 1,5
MF 2 1 MF 1 2
MFA 1 2 MFA 1 2
DTMF 2 1 DTMF 2 1
Gen
erac
ion
al
G 2 1
Gen
erac
ion
al
G 1,5 1,5
MF 2 1 MF 2 1
MFA 2 1 MFA 1 2
DTMF 2 1 DTMF 2 1
Rule
ta
G 2 1
Rule
ta
G 1,5 1,5
MF 2 1 MF 1 2
MFA 2 1 MFA 1 2
DTMF 1 2 DTMF 2 1
Tru
nca
mie
nto
G 2 1
Tru
nca
mie
nto
G 1,5 1,5
MF 2 1 MF 2 1
MFA 1 2 MFA 2 1
DTMF 2 1 DTMF 2 1
Tabla III-8. Fase 1 – Puntuación (de 1 a 2) de los operadores de cruce
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
256
III.B. Resultados de la Fase 2 del experimento
2.2
4
2.2
3
2.2
2
2.2
1
2.2
0
2.1
9
2.1
8
2.1
7
2.1
6
2.1
5
2.1
4
2.1
3
2.1
2
2.1
1
2.1
0
2.9
2.8
2.7
2.6
2.5
2.4
2.3
2.2
2.1
Caso
c
s
2.2
4
2.2
3
2.2
2
2.2
1
2.2
0
2.1
9
2.1
8
2.1
7
2.1
6
2.1
5
2.1
4
2.1
3
2.1
2
2.1
1
2.1
0
2.9
2.8
2.7
2.6
2.5
2.4
2.3
2.2
2.1
Caso
c
100
100
34
14
100
30
100
32
100
28
24
100
100
100
100
100
100
100
100
12
100
100
31
17
100
28
100
100
100
100
100
35
100
100
23
100
100
51
32
100
100
100
100
100
100
18
18
100
58
77
34
14
81
20
52
31
77
26
22
30
29
16
33
37
72
26
39
12
28
28
29
11
60
28
56
26
100
58
28
35
100
100
20
26
99
48
28
41
28
66
39
9
78
18
17
7
72,3
846
76,4
34
79,5
35
79,9
849
71,6
775
79,1
641
74,8
869
79,8
1
76,8
572
84,4
386
84,1
122
83,2
77
76,5
662
81,3
456
81,1
235
83,5
525
68,0
513
71,9
199
72,8
646
72,5
122
67,9
302
71,5
315
72,8
257
72,1
371
71,7
656
79,5
66
79,4
229
79,0
531
70,6
489
76,0
652
76,7
37
79,6
722
76,7
056
83,4
131
84,6
819
83,1
685
76,3
803
84,5
637
84,4
002
84,8
156
68,2
608
69,1
97
70,6
127
72,4
51
68,8
856
72,2
763
72,6
863
70,5
385
86,0
821
77,5
686
81,9
157
82,4
446
85,6
678
84,1
689
75,0
838
80,8
641
89,6
182
86,5
557
88,2
04
83,2
77
88,2
819
82,1
547
81,5
478
83,5
525
76,0
369
72,4
51
73,1
423
75,9
097
76,3
009
72,0
789
74,0
741
76,8
535
85,2
78
82,1
041
79,9
354
79,0
531
84,1
212
76,8
886
76,8
886
80,7
283
89,7
912
84,7
242
86,3
036
83,1
685
89,1
157
86,3
197
85,9
036
84,8
156
76,0
735
70,0
768
70,8
509
72,4
51
76,6
061
75,5
951
74,9
025
70,5
385
67,9
17
75,9
307
78,7
03
2
79,3
314
67,5
899
77,4
766
74,1
58
79,4
499
72,5
137
83,4
982
82,0
755
83,2
77
72,3
902
80,5
843
80,6
998
83,5
525
65,0
606
71,5
88
72,5
029
71,4
674
65,1
497
71,1
725
72,2
946
69,7
529
67,5
848
78,6
045
78,4
523
79,0
531
67,1
191
75,5
947
76,4
485
79,1
734
72,4
566
82,8
345
83,8
081
83,1
685
72,4
501
83,7
191
83,6
761
84,8
156
65,4
165
68,9
305
69,9
476
72,4
51
65,8
951
70,7
618
71,7
845
70,5
385
10
0
43
29
32
10
0
97
30
28
10
0
10
0
24
10
0
10
0
10
0
10
0
31
10
0
20
10
0
12
10
0
10
0
30
20
10
0
10
0
24
32
10
0
18
23
28
10
0
82
10
0
15
10
0
10
0
24
10
0
10
0
24
10
0
12
10
0
10
0
10
0
10
0
92
39
24
31
78
84
21
25
33
54
20
11
84
71
18
28
88
12
24
7
87
10
29
20
85
42
24
30
78
17
22
27
34
52
19
15
21
50
24
35
56
24
26
11
57
50
20
19
71
,96
58
79
,26
33
79
,16
71
79
,08
94
71
,22
04
79
,56
4
79
,62
69
79
,43
13
76
,77
65
83
,33
41
84
,62
9
81
,05
79
77
,69
45
81
,22
67
80
,96
98
84
,51
26
68
,80
51
71
,94
9
72
,52
26
73
,13
79
68
,09
17
72
,41
15
72
,73
68
72
,33
9
72
,04
2
79
,63
52
78
,20
88
79
,78
06
72
,08
19
78
,28
66
79
,10
95
79
,16
3
76
,99
82
84
,70
11
83
,68
67
84
,57
23
77
,08
13
80
,21
78
84
,63
84
,28
84
68
,23
58
72
,53
93
71
,24
98
72
,73
14
68
,07
6
72
,51
39
72
,75
43
70
,41
41
85
,69
86
82
,18
81
81
,50
15
82
,13
63
84
,25
94
81
,65
62
80
,86
41
82
,56
99
88
,00
68
84
,75
22
88
,09
34
81
,05
79
88
,21
06
82
,98
2
81
,14
33
85
,21
39
76
,39
84
75
,48
52
72
,72
72
75
,72
9
76
,74
58
72
,95
81
74
,43
59
74
,65
34
84
,77
91
80
,86
41
83
,71
03
80
,72
83
84
,11
26
85
,16
06
83
,45
5
81
,68
82
88
,24
65
85
,93
88
83
,74
08
85
,90
36
88
,67
42
81
,11
33
85
,92
14
84
,28
84
76
,01
96
75
,09
39
71
,50
88
74
,01
9
76
,57
99
73
,33
23
72
,95
81
70
,41
41
67
,66
55
78
,15
51
77
,97
97
78
,23
29
67
,43
58
78
,92
85
78
,94
53
77
,98
35
72
,78
62
82
,71
01
83
,59
45
81
,05
79
72
,93
81
80
,65
31
80
,26
69
83
,99
22
66
,02
93
70
,63
23
72
,27
2
72
,45
1
65
,48
22
71
,90
64
72
,21
98
71
,38
55
68
,08
26
79
,02
16
75
,55
85
79
,39
06
67
,81
21
73
,33
68
77
,59
89
78
,23
32
72
,32
7
84
,13
79
83
,21
93
84
,17
95
73
,03
67
79
,58
11
84
,03
45
84
,28
84
65
,32
88
71
,60
48
70
,36
43
72
,06
45
65
,51
07
72
,04
99
72
,50
29
70
,41
41
10
0
32
35
20
10
0
30
10
0
47
10
0
10
0
10
0
10
0
10
0
61
10
0
10
0
10
0
49
26
21
10
0
10
0
45
15
91
28
33
19
57
29
63
40
98
77
28
29
72
56
18
23
69
49
23
21
66
10
36
11
70
,2673
79
,5949
79
,7272
79
,8201
72
,0833
79
,1397
77
,6855
79
,7372
75,9
58
83
,2591
82,8
22
80
,9366
77
,2397
84
,4958
82
,1058
82
,2302
68
,3899
72
,6697
72,7
35
72
,7997
68
,4557
72
,4399
72
,8065
71
,8104
81
,9753
81
,5524
81
,2736
83,9
77
85
,8162
82
,3112
77
,9449
80
,7283
89
,4314
84
,7522
83
,0687
80
,9366
88,7
8
86
,1808
82
,5008
82
,2302
76
,3434
74
,8793
73
,5673
73
,2957
76,6
68
72
,9581
73
,5673
75
,1784
66,5
704
78,8
845
78,9
998
79,4
456
67,7
943
77,6
481
77,0
52
79,1
354
72,0
055
82,8
193
82,2
644
80,9
366
72,8
684
83,7
532
81,1
34
82,2
302
65,2
803
71,9
713
72,2
307
72,5
444
65,8
179
72,0
645
72,5
029
70,4
141
Tabla III-9. Fase 2 – Resultados de las cinco pruebas por caso (población de referencia: 15 individuos)
Anexo III – Resultados de la Experimentación
257
2.2
4
2.2
3
2.2
2
2.2
1
2.2
0
2.1
9
2.1
8
2.1
7
2.1
6
2.1
5
2.1
4
2.1
3
2.1
2
2.1
1
2.1
0
2.9
2.8
2.7
2.6
2.5
2.4
2.3
2.2
2.1
Caso
c
s
2.2
4
2.2
3
2.2
2
2.2
1
2.2
0
2.1
9
2.1
8
2.1
7
2.1
6
2.1
5
2.1
4
2.1
3
2.1
2
2.1
1
2.1
0
2.9
2.8
2.7
2.6
2.5
2.4
2.3
2.2
2.1
Caso
c
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
50
No se d
ispone d
e 39 in
div
idu
os d
el dep
orte d
e n
ata
ció
n
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
42
No
se disp
on
e de 3
9 in
div
idu
os d
el dep
orte d
e n
ata
ció
n
66
28
26
15
90
21
21
32
44
48
22
17
84
23
30
48
94
17
47
19
79
15
24
17
54
17
29
10
94
43
33
37
66,4
371
73,8
443
71,9
403
71,5
191
66,7
732
70,9
595
71,4
267
73,6
197
74,0
325
80,9
405
78,5
268
80,0
616
75,1
254
77,8
374
82,3
562
84,9
909
65,9
626
71,1
174
71,4
746
69,0
316
66,2
126
71,1
334
71,4
309
70,9
61
75,4
59
78,1
131
81,0
453
81,4
308
74,7
217
78,1
805
81,7
59
84,9
125
74,7
855
74,2
588
72,2
486
71,5
191
74,0
344
71,5
191
71,5
191
73,6
197
84,2
856
82,0
295
78,7
997
80,0
616
84,3
042
78,7
579
82,6
907
85,5
659
74,0
838
71,5
191
71,6
218
69,0
316
74,8
708
71,5
191
71,5
191
70,9
61
84,5
775
78,7
579
81,6
869
81,4
308
84,1
702
79,3
097
82,0
457
85,5
659
63,2
596
72,9
871
71,3
232
71,5
191
64,0
394
70,6
799
71,2
589
73,6
197
70,5
824
80,2
717
77,7
639
80,0
616
71,3
768
77,3
439
81,7
574
84,9
174
63,1
454
70,8
306
71,3
35
69,0
316
63,5
434
70,8
346
70,8
346
70,9
61
72,3
388
77,8
269
80,5
796
81,4
308
71,1
861
77,7
323
81,2
599
84,7
61
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
46
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
31
10
0
10
0
10
0
10
0
39
83
14
15
49
15
19
28
89
45
25
22
90
59
37
30
53
16
19
18
90
36
22
23
51
41
47
25
87
97
39
20
66
,39
21
69
,18
68
71
,41
08
71
,51
91
66
,44
91
68
,26
79
70
,03
94
71
,34
41
74
,38
31
83
,17
35
80
,88
93
82
,04
57
74
,79
41
83
,15
91
84
,63
77
83
,66
05
66
,73
54
71
,08
25
68
,26
24
71
,24
69
66
,23
61
71
,27
4
71
,44
16
69
,51
69
74
,18
33
79
,91
33
81
,59
73
84
,90
45
73
,83
18
78
,43
32
81
,64
84
78
,20
4
75
,06
66
69
,82
96
71
,51
91
71
,51
91
73
,85
94
68
,64
9
70
,19
32
71
,34
41
84
,10
02
84
,51
25
81
,07
93
82
,04
57
83
,45
84
,51
25
85
,56
59
83
,66
05
74
,84
2
71
,62
18
68
,33
01
71
,24
69
73
,80
27
72
,34
93
71
,51
91
69
,51
69
84
,75
84
81
,07
93
82
,15
35
85
,06
87
84
,02
89
80
,29
22
81
,90
7
78
,20
4
63
,75
49
68
,93
47
70
,98
86
71
,51
91
63
,57
13
67
,99
19
69
,38
2
71
,34
41
70
,42
76
82
,55
46
80
,32
2
82
,04
57
71
,47
04
82
,59
45
84
,11
32
83
,66
05
63
,84
75
70
,83
06
68
,04
9
71
,24
69
63
,78
21
70
,84
16
70
,97
78
69
,51
69
70
,46
38
79
,34
18
80
,59
56
84
,83
64
70
,00
19
77
,94
66
81
,16
23
78
,20
4
100
100
100
100
100
100
100
100
100
100
100
30
100
100
100
100
96
95
36
16
73
15
39
22
16
36
38
26
55
25
41
35
66
,8354
73
,3636
74
,1597
71
,6218
66
,3732
69
,236
72
,6036
73
,9777
75
,0711
78
,0004
84
,181
84
,9431
73
,7855
78
,5201
80
,6506
81
,0363
74,8
554
74,5
414
74,2
588
71,6
218
74,7
855
69,5
169
72,7
461
73,9
777
84,4
33
79,2
981
84,5
125
85,2
379
83,7
267
79,3
321
81,0
986
81,0
363
64,2
292
72,9
616
73,7
92
71,6
218
63,5
212
69,0
267
72,4
595
73,9
777
71,3
812
77,5
354
83,2
14
84,7
625
70,5
839
78,0
649
79,3
701
81,0
363
Tabla III-10. Fase 2 – Resultados de las cinco pruebas por caso (población de referencia: 39 individuos)
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
258
2.2
4
2.2
3
2.2
2
2.2
1
2.2
0
2.1
9
2.1
8
2.1
7
2.1
6
2.1
5
2.1
4
2.1
3
2.1
2
2.1
1
2.1
0
2.9
2.8
2.7
2.6
2.5
2.4
2.3
2.2
2.1
Caso
c
s
2.2
4
2.2
3
2.2
2
2.2
1
2.2
0
2.1
9
2.1
8
2.1
7
2.1
6
2.1
5
2.1
4
2.1
3
2.1
2
2.1
1
2.1
0
2.9
2.8
2.7
2.6
2.5
2.4
2.3
2.2
2.1
Caso
c
100
100
100
100
100
100
100
100
No se d
ispone d
e 105
indiv
iduos n
i del d
epo
rte de n
ata
ció
n n
i del d
epo
rte de tr
iatló
n
No se d
ispone d
e 105
indiv
idu
os n
o d
el dep
orte n
ata
ció
n
100
100
100
100
100
100
100
100
No se d
ispon
e de 1
05 in
div
idu
os n
i del d
epo
rte de n
ata
ció
n n
i del d
epo
rte de tr
iatló
n
No
se disp
on
e de 1
05 in
div
idu
os n
o d
el dep
orte n
ata
ció
n
83
56
20
23
89
84
26
30
99
29
31
19
72
33
27
44
69,1
757
72,4
534
72,9
886
73,1
089
68,8
818
75,1
929
75,7
561
76,3
968
68,9
456
75,8
511
75,7
301
73,6
898
68,3
979
75,8
856
73,6
566
77,9
313
77,6
687
73,0
54
73,0
54
73,1
089
77,7
641
75,9
853
75,8
569
76,3
968
77,6
175
76,3
968
75,8
569
73,6
898
78,1
291
76,3
968
73,7
639
77,9
313
66,1
585
72,1
193
72,6
605
73,1
089
65,7
945
74,8
266
75,3
271
76,3
968
65,8
365
75,3
117
74,9
336
73,6
898
65,1
933
75,5
847
73,4
787
77,9
313
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
68
79
31
18
55
31
31
41
95
25
18
21
70
31
31
30
69
,61
52
73
,47
36
76
,23
66
76
,71
44
68
,52
93
70
,68
28
76
,08
77
74
,49
44
69
,13
15
75
,36
07
73
,02
47
77
,73
49
69
,04
58
73
,17
59
76
,56
56
75
,86
99
78
,11
12
74
,22
93
76
,39
68
76
,71
44
77
,06
03
71
,18
76
76
,22
1
74
,49
44
78
,27
57
76
,10
21
73
,05
4
77
,73
49
77
,69
46
73
,71
53
76
,71
44
75
,86
99
66
,04
85
73
,13
99
75
,51
23
76
,71
44
65
,29
98
70
,36
44
75
,82
63
74
,49
44
65
,62
81
74
,98
08
72
,95
64
77
,73
49
65
,61
67
72
,81
81
76
,09
03
75
,86
99
100
100
100
100
100
100
100
100
71
91
26
19
34
24
24
10
69
,308
76
,0432
76
,3048
76
,0244
69
,1549
72
,5512
75
,7628
73
,1089
78,0
106
76,7
144
76,3
968
76,0
244
78,2
213
73,1
839
75,8
569
73,1
089
65,9
016
75,7
376
75,7
853
76,0
244
65,5
148
72,1
772
74,9
402
73,1
089
Tabla III-11. Fase 2 – Resultados de las cinco pruebas por caso (población de referencia: 105 individuos)
Anexo III – Resultados de la Experimentación
259
Caso c
2.1 50,4000 71,4478 73,5276 70,5010 2,9018 76,8535
2.2 44,8000 72,7619 73,9876 72,2609 0,7553 74,9025
2.3 83,6000 72,2346 73,3845 71,5910 1,3189 75,5951
2.4 100,0000 68,2878 76,5801 65,5711 0,1687 76,7458
2.5 31,4000 72,7264 74,2809 72,1957 1,5114 75,9097
2.6 85,2000 71,9969 72,3593 71,4635 1,1409 73,5673
2.7 58,6000 71,6550 73,5972 70,9454 2,2998 75,4852
2.8 100,0000 68,3486 76,1744 65,4231 0,1815 76,3984
2.9 86,2000 83,8799 84,0201 83,7758 1,1782 85,2139
2.10 71,2000 82,6459 83,4034 81,9623 2,3429 85,9214
2.11 82,4000 82,3699 83,7501 81,6582 2,3769 86,3197
2.12 100,0000 76,9924 88,6125 72,7367 0,3728 89,1157
2.13 83,0000 82,6025 82,8687 82,5239 2,0297 85,9036
2.14 54,2000 83,9864 85,8821 82,9924 2,3958 88,2040
2.15 82,0000 83,8292 85,3446 83,2000 0,8524 86,5557
2.16 100,0000 76,6591 89,0188 72,4178 0,8287 89,7912
2.17 34,0000 79,5627 81,3158 78,7951 0,8071 82,5699
2.18 70,6000 77,6092 78,8473 76,8405 3,3209 83,4550
2.19 55,0000 78,4439 82,0371 76,5969 3,2027 85,1606
2.20 100,0000 71,5424 84,7954 67,5502 0,8676 85,8162
2.21 39,6000 79,5456 81,6679 79,0907 1,8624 83,9770
2.22 44,4000 79,2122 81,6673 77,9387 1,3618 83,7103
2.23 60,6000 78,8987 80,8555 78,1193 1,9121 82,1881
2.24 100,0000 71,6851 84,7626 67,5641 1,6319 86,0821
Tabla III-12. Fase 2 – Resultados obtenidos por cada caso (poblaciones de referencia: 15 individuos)
Caso c
Del caso
2.1
al 2.8
No se dispone de 39 individuos del deporte de natación
2.9 78,4000 82,5608 82,8065 82,5158 3,1731 85,5659
2.10 89,2000 82,2104 82,6616 81,5326 1,7196 85,5659
2.11 100,0000 79,2261 80,4409 78,7364 2,3421 84,5125
2.12 100,0000 74,4517 83,9360 70,9238 0,3461 84,3042
2.13 72,2000 82,6771 82,7689 82,6274 2,2928 85,2379
2.14 100,0000 81,2479 81,6464 80,4950 2,0554 84,5125
2.15 100,0000 80,0282 81,1355 79,5061 2,3041 84,5125
2.16 100,0000 74,6258 84,4309 71,0388 0,2546 84,7584
2.17 100,0000 71,8839 71,8839 71,8839 1,8803 73,9777
2.18 100,0000 71,3884 71,4993 70,9826 0,9030 72,7461
2.19 100,0000 70,1742 70,7107 69,8749 1,5547 72,3493
2.20 100,0000 66,4088 74,2706 63,6915 0,5170 74,8708
2.21 100,0000 70,9877 70,9877 70,9877 1,1023 71,6218
2.22 100,0000 71,4496 71,5957 71,0976 2,1324 74,2588
2.23 100,0000 71,7189 72,3541 71,3089 2,0012 74,5414
2.24 100,0000 66,4725 74,7267 63,6473 0,3749 75,0666
Tabla III-13. Fase 2 – Resultados obtenidos por cada caso (poblaciones de referencia: 39 individuos)
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
260
Caso c
Del caso
2.1
al 2.8
No se dispone de 105 individuos del deporte de natación
Del caso
2.9
al 2.1
6
No se dispone de 105 individuos ni del deporte de natación ni del deporte de
triatlón
2.17 100 75,5603 75,5603 75,5603 1,8414 77,9313
2.18 100 75,5658 75,6826 75,1325 1,1288 76,7144
2.19 100 73,4977 74,0938 73,1542 2,1389 76,3968
2.20 100 68,8019 77,7739 65,4838 0,4588 78,2213
2.21 100 75,4545 75,4545 75,4545 1,9830 77,7349
2.22 100 74,8570 74,9517 74,3696 1,7463 76,3968
2.23 100 74,6364 75,2993 74,2579 1,5841 76,7144
2.24 100 69,2352 77,9367 65,9146 0,2848 78,2757
Tabla III-14. Fase 2 – Resultados obtenidos por cada caso (poblaciones de referencia: 105 individuos)
Anexo III – Resultados de la Experimentación
261
Torneo Generacional Torneo Generacional
15
Nat
ació
n
Sin
Mu
taci
ón
G 1 2
30
Tri
atló
n
Sin
Mu
taci
ón
G 1 2
MF 1 2 MF 2 1
MFA 2 1 MFA 2 1
DTMF 1 2 DTMF 1 2
GB
M
Ter
min
al
(Mono
)
G 2 1
GB
M
Ter
min
al
(Mono
)
G 2 1
MF 2 1 MF 2 1
MFA 2 1 MFA 2 1
DTMF 2 1 DTMF 2 1
GB
M
Ter
min
al
(Mult
i) G 1 2
GB
M
Ter
min
al
(Mult
i) G 1,5 1,5
MF 1 2 MF 1 2
MFA 2 1 MFA 1,5 1,5
DTMF 2 1 DTMF 1 2
GB
M
No
Ter
min
al
G 1,5 1,5
GB
M
No
Ter
min
al
G 1,5 1,5
MF 2 1 MF 1 2
MFA 2 1 MFA 1 2
DTMF 2 1 DTMF 1 2
Tri
atló
n
Sin
Mu
taci
ón
G 1 2 R
ugb
y
Sin
Mu
taci
ón
G 1,5 1,5
MF 2 1 MF 2 1
MFA 1 2 MFA 2 1
DTMF 2 1 DTMF 1 2
GB
M
Ter
min
al
(Mono
)
G 1 2
GB
M
Ter
min
al
(Mono
) G 1,5 1,5
MF 1 2 MF 1 2
MFA 1 2 MFA 1 2
DTMF 2 1 DTMF 2 1
GB
M
Ter
min
al
(Mult
i) G 1 2
GB
M
Ter
min
al
(Mult
i) G 1,5 1,5
MF 1 2 MF 1 2
MFA 1 2 MFA 1 2
DTMF 1 2 DTMF 2 1
GB
M
No
Ter
min
al
G 1,5 1,5
GB
M
No
Ter
min
al
G 1,5 1,5
MF 1 2 MF 1 2
MFA 1 2 MFA 1 2
DTMF 2 1 DTMF 1 2
Rugb
y
Sin
Mu
taci
ón
G 2 1
105
Rugb
y
Sin
Mu
taci
ón
G 1,5 1,5
MF 1 2 MF 2 1
MFA 1 2 MFA 2 1
DTMF 2 1 DTMF 2 1
GB
M
Ter
min
al
(Mono
)
G 1 2
GB
M
Ter
min
al
(Mono
)
G 1,5 1,5
MF 1 2 MF 2 1
MFA 1 2 MFA 2 1
DTMF 1 2 DTMF 2 1
GB
M
Ter
min
al
(Mult
i)
G 2 1
GB
M
Ter
min
al
(Mult
i)
G 1,5 1,5
MF 2 1 MF 1 2
MFA 2 1 MFA 1 2
DTMF 1 2 DTMF 1 2
GB
M
No
Ter
min
al
G 1,5 1,5
GB
M
No
Ter
min
al
G 1,5 1,5
MF 2 1 MF 1 2
MFA 1 2 MFA 1 2
DTMF 2 1 DTMF 1 2
Tabla III-15. Fase 2 – Puntuación (de 1 a 2) de los operadores de selección
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
262
Sin Mutación
GBM
Terminal (Mono)
GBM
Terminal (Multi)
GBM
No Terminal
15
Nat
ació
n To
rneo
G 3 4 2 1
MF 2 3 1 4
MFA 4 1 2 3
DTMF 1 3 2 4
Gen
erac
ion
al
G 4 2 3 1
MF 3 1 2 4
MFA 3 1 2 4
DTMF 2 3 1 4
Tri
atló
n To
rneo
G 2 4 3 1
MF 3 1 2 4
MFA 1 2 3 4
DTMF 3 2 1 4
Gen
erac
ion
al
G 2 4 3 1
MF 1 3 2 4
MFA 1 3 2 4
DTMF 2 1 3 4
Rugb
y T
orn
eo G 4 2 3 1
MF 2 1 3 4
MFA 1 2 3 4
DTMF 4 1 2 3
Gen
erac
ion
al
G 4 3 2 1
MF 3 2 1 4
MFA 3 2 1 4
DTMF 2 4 1 3
39
Tri
atló
n To
rneo
G 4 3 1,5 1,5
MF 3 2 1 4
MFA 3,5 3,5 2 1
DTMF 1 3 2 4
Gen
erac
ion
al
G 4 2 2 2
MF 3 2 1 4
MFA 4 1,5 1,5 3
DTMF 2 3 1 4
Rugb
y T
orn
eo G 2,5 2,5 2,5 2,5
MF 3 2 1 4
MFA 3 2 1 4
DTMF 1 3 2 4
Gen
erac
ion
al
G 2,5 2,5 2,5 2,5
MF 1 2 3 4
MFA 1 2 3 4
DTMF 3 1 2 4
105
Rugb
y T
orn
eo
G 2,5 2,5 2,5 2,5
MF 2 3 1 4
MFA 3 2 1 4
DTMF 2 3 1 4
Gen
erac
ion
al
G 2,5 2,5 2,5 2,5
MF 3 1 2 4
MFA 3 1 2 4
DTMF 1 2 3 4
Tabla III-16. Fase 2 – Puntuación (de 1 a 4) de los tipos de mutación
Anexo III – Resultados de la Experimentación
263
III.C. Resultados de la Fase 3 del experimento
3.2
1
3.2
0
3.1
9
3.1
8
3.1
7
3.1
6
3.1
5
3.1
4
3.1
3
3.1
2
3.1
1
3.1
0
3.9
3.8
3.7
3.6
3.5
3.4
3.3
3.2
3.1
Caso
c
s
3.2
1
3.2
0
3.1
9
3.1
8
3.1
7
3.1
6
3.1
5
3.1
4
3.1
3
3.1
2
3.1
1
3.1
0
3.9
3.8
3.7
3.6
3.5
3.4
3.3
3.2
3.1
Caso
c
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
53
100
96
71
71
56
58
57
100
54
61
97
42
77
70
41
81
27
79
97
72
64
60
97
88
72
60
60
28
77
82
80
79
65
100
75
49
92
76
100
89
28
68,6
57
70,4
818
71,9
918
70,8
14
68,7
236
69,7
377
70,6
618
76,2
363
76,5
287
76,2
731
75,4
064
76,2
607
75,8
974
75,6
105
67,3
914
67,2
923
67,7
208
67,3
782
67,3
779
68,2
006
67,0
267
69,7
191
68,9
239
71,2
722
70,9
114
71,0
307
70,3
166
70,3
617
75,1
668
76,9
743
76,1
348
76,3
926
76,3
304
75,5
951
74,5
845
67,3
158
67,0
878
67,5
773
68,2
783
67,9
809
67,6
766
66,6
169
82,6
459
85,3
095
85,8
479
86,6
201
83,8
556
85,3
682
86,0
821
88,2
104
88,9
005
89,2
454
88,8
838
88,9
703
88,6
72
89,6
182
76,8
535
76,6
829
75,6
526
76,6
975
77,2
728
77,0
194
76,0
369
83,5
378
84,6
064
85,4
708
86,3
853
85,2
46
84,4
836
85,2
78
88,8
087
88,1
942
89,8
076
88,4
592
88,6
42
88,2
104
89,7
912
75,9
439
76,2
72
77,1
95
76,4
765
77,5
846
77,3
831
76,0
735
64,3
545
64,8
153
67,2
498
65,6
959
65,2
874
65,4
801
66,7
958
71,7
496
71,3
057
71,2
784
70,4
046
71,3
72
71,9
182
71,4
824
63,9
216
63,5
212
64,7
184
64,3
76
64,3
233
65,4
578
63,2
294
65,7
8
64,3
907
65,8
165
66,1
659
67,0
45
65,8
767
65,6
593
70,0
4
72,5
767
70,7
002
72,4
939
70,1
261
71,0
999
70,4
192
64,2
204
63,6
388
64,4
975
65,3
343
64,6
617
64,4
855
62,2
839
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
96
94
59
34
80
67
92
68
59
17
93
51
76
33
57
99
66
62
51
87
88
75
96
10
0
67
69
93
85
77
65
72
75
73
94
34
97
90
26
10
0
77
73
56
71
,72
79
69
,55
42
70
,10
87
68
,37
1
72
,11
84
71
,77
34
71
,60
89
75
,28
84
75
,32
17
71
,35
98
76
,43
76
75
,60
83
75
,79
78
75
,16
34
67
,23
6
67
,72
69
67
,81
95
67
,04
2
68
,32
82
68
,57
93
68
,59
18
70
,10
39
69
,71
14
70
,63
43
71
,50
35
70
,11
67
71
,42
36
70
,55
9
75
,43
36
76
,04
59
76
,75
87
74
,66
29
77
,34
54
75
,28
13
75
,45
18
67
,26
48
68
,19
1
67
,06
61
67
,47
16
67
,98
82
67
,56
74
67
,71
7
85
,04
43
85
,46
51
83
,44
17
82
,95
01
85
,19
8
86
,16
57
85
,69
86
89
,24
54
87
,63
87
89
,44
02
89
,23
09
87
,87
34
88
,35
28
88
,00
68
76
,75
61
77
,55
24
76
,22
96
76
,81
3
77
,50
79
77
,55
24
76
,39
84
85
,55
4
83
,21
93
85
,68
8
85
,66
83
,37
11
84
,56
46
84
,77
91
88
,64
2
89
,30
73
88
,24
1
89
,94
33
88
,91
65
87
,48
29
88
,24
65
76
,13
07
77
,88
64
76
,63
74
76
,20
26
77
,55
24
77
,02
54
76
,01
96
66
,70
33
65
,49
65
,52
21
63
,82
95
67
,73
37
67
,19
69
67
,07
02
70
,27
28
71
,43
45
67
,45
9
71
,22
94
71
,37
77
71
,51
18
69
,63
73
64
,26
55
64
,66
21
64
,33
55
63
,23
57
65
,64
76
65
,26
65
65
,70
84
65
,79
26
64
,97
21
66
,05
97
67
,25
11
66
,10
94
66
,55
54
66
,03
76
70
,81
92
71
,70
94
72
,22
73
68
,90
42
72
,61
16
70
,59
86
70
,68
02
63
,91
9
65
,45
01
63
,95
85
64
,40
73
64
,83
66
64
,50
18
64
,70
52
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
91
79
92
75
99
79
93
51
60
81
23
87
64
98
69
72
40
67
60
51
69
71
,1188
71
,3934
71
,7757
71
,4333
71
,4265
71
,4853
69
,4867
74
,7407
75
,8084
76
,6264
73
,1581
76
,2409
76
,0819
75
,2812
67
,3478
67
,6295
67
,3217
67,5
33
67
,3314
67
,7025
67
,1061
85
,5801
86
,7364
85
,5801
86
,0668
85
,3994
84
,8561
81
,9753
87
,9536
89
,2773
88
,9101
88
,3528
90
,3049
87
,6208
89
,4314
76
,5799
77
,0926
76
,6783
76
,4861
77
,8864
77
,0254
76
,3434
67,1
944
66,8
927
67,3
204
67,5
78
66,8
886
66,6
586
65,6
387
70,8
584
70
,62
72,0
304
68,3
342
71,6
394
72,1
114
71,2
606
64,4
694
64,6
027
63,7
407
64,6
816
63,9
604
64,0
331
63,7
727
Tabla III-17. Fase 3 – Resultados de las cinco pruebas por caso (población de referencia: 15 individuos)
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
264
3.2
1
3.2
0
3.1
9
3.1
8
3.1
7
3.1
6
3.1
5
3.1
4
3.1
3
3.1
2
3.1
1
3.1
0
3.9
3.8
3.7
3.6
3.5
3.4
3.3
3.2
3.1
Caso
c
s
3.2
1
3.2
0
3.1
9
3.1
8
3.1
7
3.1
6
3.1
5
3.1
4
3.1
3
3.1
2
3.1
1
3.1
0
3.9
3.8
3.7
3.6
3.5
3.4
3.3
3.2
3.1
Caso
c
100
100
100
100
100
100
100
100
100
100
100
100
100
100
No se d
ispone d
e 3
9 in
div
idu
os d
el dep
orte d
e n
ata
ció
n
100
100
100
100
100
100
100
100
100
100
100
100
100
100
No
se disp
on
e de 3
9 in
div
idu
os d
el dep
orte d
e n
ata
ció
n
41
90
73
85
41
80
66
84
42
36
88
73
99
44
21
75
57
82
60
35
72
66
89
99
37
43
96
54
65,4
784
66,0
599
65,5
313
65,4
535
65,3
951
65,7
408
65,5
785
73,2
892
72,5
516
71,3
125
74,1
035
73,1
499
75,7
877
73,2
231
65,1
702
65,9
007
65,9
769
66,0
978
66,0
228
66,1
017
65,7
566
72,3
585
73,4
319
72,9
371
72,6
55
73,3
793
74,4
754
74,1
514
74,0
731
75,0
666
73,9
777
73,9
555
74,0
344
74,3
176
74,7
855
84,4
383
85,5
659
83,6
349
84,6
151
84,1
702
84,1
702
84,2
856
74,3
225
74,0
344
74,8
933
74,6
206
74,0
084
74,5
462
74,0
838
83,6
733
84,1
702
83,2
458
84,4
018
84,2
224
84,1
702
84,5
775
62,7
689
62,7
078
62,9
258
62,5
739
62,7
268
62,6
369
62,6
659
69,6
073
69,2
13
67,4
714
70,8
479
69,0
754
71,9
272
69,3
685
62,6
927
63,0
788
62,9
537
63,2
365
63,0
706
63,0
577
63,1
454
68,3
574
69,3
704
69,6
263
68,7
512
69,3
47
70,2
922
70,5
829
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
65
18
93
85
14
53
39
80
68
93
99
49
64
89
43
93
94
78
73
85
53
49
79
77
76
40
60
51
64
,87
44
63
,75
6
65
,87
75
66
,10
54
63
,87
14
66
,07
78
65
,40
13
72
,97
35
71
,89
15
73
,29
98
75
,59
16
74
,57
4
72
,91
4
72
,77
59
64
,95
25
66
,39
85
66
,35
49
66
,21
05
65
,44
96
65
,75
86
65
,38
92
72
,83
28
74
,10
15
73
,36
87
73
,93
03
73
,22
31
73
,21
44
72
,52
83
74
,08
38
74
,63
58
74
,13
15
74
,25
88
74
,07
31
75
,06
66
75
,06
66
83
,50
1
82
,83
84
,51
25
85
,56
59
83
,82
03
84
,91
74
84
,10
02
74
,68
46
74
,33
95
74
,26
34
74
,26
34
74
,80
14
74
,92
61
74
,84
2
83
,95
84
83
,52
86
84
,61
51
84
,00
28
84
,51
25
84
,83
64
84
,75
84
62
,23
99
60
,96
33
62
,46
77
63
,30
34
60
,86
51
62
,47
19
62
,56
19
69
,34
66
68
,31
69
,21
04
71
,42
69
70
,97
7
69
,36
57
69
,37
57
62
,28
18
63
,73
14
62
,98
23
63
,52
32
62
,07
97
62
,89
07
62
,82
81
69
,33
45
70
,47
84
68
,83
19
70
,11
13
69
,64
31
69
,60
21
68
,94
11
100
100
100
100
100
100
100
100
100
100
100
100
100
100
43
78
54
81
34
49
96
39
87
59
80
98
87
16
65,2
511
65,6
304
65,4
422
66,3
832
65,4
033
65,0
837
65,2
311
74,0
612
73,9
306
73,3
52
74,2
881
73,1
181
73,2
246
70,2
435
73,9
555
74,8
708
73,8
594
74,7
574
74,7
574
74,0
731
74,8
554
84,5
873
84,5
125
84,0
209
84,4
404
84,3
523
84,5
052
84,4
33
62,5
407
62,5
165
62,5
593
63,7
95
63,0
115
62,0
042
62,7
802
69,3
553
69,6
244
69,7
005
68,8
91
69,5
461
69,9
652
66,3
731
Tabla III-18. Fase 3 – Resultados de las cinco pruebas por caso (población de referencia: 39 individuos)
Anexo III – Resultados de la Experimentación
265
3.2
1
3.2
0
3.1
9
3.1
8
3.1
7
3.1
6
3.1
5
3.1
4
3.1
3
3.1
2
3.1
1
3.1
0
3.9
3.8
3.7
3.6
3.5
3.4
3.3
3.2
3.1
Caso
c
s
3.2
1
3.2
0
3.1
9
3.1
8
3.1
7
3.1
6
3.1
5
3.1
4
3.1
3
3.1
2
3.1
1
3.1
0
3.9
3.8
3.7
3.6
3.5
3.4
3.3
3.2
3.1
Caso
c
100
100
100
100
100
100
100
No se d
ispone d
e 105
indiv
iduos n
i del d
epo
rte de n
ata
ció
n n
i del d
epo
rte de tr
iatló
n
No se d
ispone d
e 105
indiv
idu
os n
o d
el dep
orte n
ata
ció
n
100
100
100
100
100
100
100
No se d
ispo
ne d
e 10
5 in
div
idu
os n
i del d
epo
rte de n
ata
ció
n n
i del d
epo
rte de tr
iatló
n
No
se disp
on
e de 1
05 in
div
idu
os n
o d
el dep
orte n
ata
ció
n
83
27
70
99
50
97
83
100
78
85
97
97
16
99
68,5
811
66,9
283
67,9
464
68,3
738
67,9
756
68,2
868
67,9
834
67,4
211
68,4
499
67,7
51
67,3
663
68,7
205
65,3
613
68,9
456
77,9
91
77,0
182
77,8
659
77,6
937
76,3
94
78,6
622
77,6
687
78,1
419
76,8
969
77,1
793
77,5
182
78,3
291
78,0
312
77,6
175
64,5
862
62,7
32
64,6
638
64,3
683
64,0
789
64,4
651
63,6
616
63,6
718
65,0
727
63,8
04
64,3
053
64,4
744
61,2
394
65,8
365
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
43
44
69
37
41
93
68
83
71
40
60
78
10
0
95
67
,75
34
66
,83
59
68
,11
42
68
,34
06
67
,72
1
67
,97
63
68
,31
2
68
,52
32
67
,57
18
66
,23
72
68
,25
36
69
,40
48
68
,44
67
68
,45
86
77
,78
16
78
,14
7
77
,69
37
78
,06
68
77
,80
73
78
,47
38
78
,11
12
78
,66
22
77
,65
09
77
,08
95
77
,46
85
77
,73
48
78
,17
22
78
,27
57
64
,32
73
62
,59
14
64
,77
55
64
,70
27
64
,57
04
64
,48
16
64
,92
08
64
,78
97
63
,85
55
62
,71
76
64
,19
96
64
,90
44
65
,26
09
64
,87
01
100
100
100
100
100
100
100
82
76
53
65
92
85
71
67,8
084
68,5
278
68,3
014
68,9
092
67,9
699
68,5
955
68,6
127
77,5
086
78,1
291
77,8
253
78,0
124
78,4
866
77,4
645
78,0
106
63,8
495
64,4
897
64,4
804
65,3
315
64,7
737
65,1
153
64,6
384
Tabla III-19. Fase 3 – Resultados de las cinco pruebas por caso (población de referencia: 105 individuos)
Modelo de Descubrimiento de Conocimiento para Series Temporales Numéricas aplicando Métodos Simbólicos
266
Caso c
3.1 100 67,4117 76,1744 63,9399 0,1815 76,3984
3.2 100 67,9453 77,2011 64,7489 0,2506 77,5524
3.3 100 67,8013 77,5608 64,6859 0,2193 77,8864
3.4 100 67,5406 76,5351 64,4070 0,2345 76,8130
3.5 100 67,5011 76,4786 64,2501 0,5750 77,1950
3.6 100 67,5855 77,0973 64,3750 0,6486 77,8864
3.7 100 67,3112 76,4528 64,1592 0,3973 76,8535
3.8 100 75,2183 89,0188 70,6959 0,8287 89,7912
3.9 100 75,7307 88,0678 71,4480 0,5021 88,6720
3.10 100 76,3571 88,9414 71,4254 0,8790 90,3049
3.11 100 75,2115 88,9740 70,2733 0,6451 89,9433
3.12 100 75,4306 89,1289 70,7391 0,5932 89,8076
3.13 100 76,1358 88,6636 71,5293 0,7276 89,3073
3.14 100 75,3732 88,5720 70,7480 0,5068 89,2454
3.15 100 70,5356 84,7626 66,2403 1,6319 86,0821
3.16 100 70,9473 85,0876 66,3535 0,6952 86,1657
3.17 100 70,6832 84,6140 66,6128 0,9324 85,3994
3.18 100 70,6066 85,5365 66,1041 1,4900 86,6201
3.19 100 71,1565 85,2057 66,3937 0,9959 85,8479
3.20 100 70,0129 85,0673 65,3122 1,2875 86,7364
3.21 100 70,2653 84,4724 65,9650 1,3166 85,5801
Tabla III-20. Fase 3 – Resultados obtenidos por cada caso (poblaciones de referencia: 15 individuos)
Caso c D
el caso 3
.1 al 3
.7
No se dispone de 39 individuos del deporte de natación
3.8 100 72,5844 84,4309 68,9283 0,2546 84,7584
3.9 100 73,9232 84,5199 70,2305 0,3546 84,9174
3.10 100 73,4889 84,2155 69,7177 0,2575 84,5125
3.11 100 74,1137 84,6052 70,0057 0,5819 85,5659
3.12 100 72,8540 84,0058 68,9681 0,5795 84,6151
3.13 100 73,1814 84,1214 69,3992 1,0321 85,5659
3.14 100 73,1030 84,0317 69,2002 0,4716 84,5873
3.15 100 65,4713 74,7267 62,7963 0,3749 75,0666
3.16 100 65,7525 74,5859 62,6123 0,4133 75,0666
3.17 100 65,2284 74,3349 62,3507 0,4067 74,8014
3.18 100 66,0501 74,3711 63,2864 0,3195 74,7574
3.19 100 65,8366 74,2251 62,7778 0,4036 74,8933
3.20 100 65,5491 74,5894 62,5996 0,4122 75,0666
3.21 100 65,1453 74,2239 62,5048 0,2900 74,6846
Tabla III-21. Fase 3 – Resultados obtenidos por cada caso (poblaciones de referencia: 39 individuos)
Anexo III – Resultados de la Experimentación
267
Caso c
Del caso
3.1
al 3.7
No se dispone de 105 individuos del deporte de natación
Del caso
3.8
al 3.1
4
No se dispone de 105 individuos ni del deporte de natación ni del deporte de
triatlón
3.15 100 68,4625 77,9367 64,7855 0,2848 78,2757
3.16 100 67,7333 78,1608 64,1125 0,4613 78,6622
3.17 100 68,3584 77,7504 64,5604 0,8246 78,4866
3.18 100 68,2487 77,7519 64,5815 0,2763 78,0668
3.19 100 67,6700 77,5307 64,0883 0,3687 77,8659
3.20 100 67,6627 77,5684 63,7483 0,5936 78,1470
3.21 100 68,0174 78,0171 64,2449 0,4320 78,6622
Tabla III-22. Fase 3 – Resultados obtenidos por cada caso (poblaciones de referencia: 105 individuos)
Sin Control Límite Estricto Límite Dinámico
5 10 15 5 10 15
15
Nat
ació
n G 4 4 4 4 4 4 4
MF 1 6 7 4 3 5 2
MFA 1 5 6,5 3 4 6,5 2
DTMF 7 4 6 5 2 1 3
Tri
atló
n
G 4 4 4 4 4 4 4
MF 6 1 4 5 7 3 2
MFA 4 1 7 6 5 3 2
DTMF 2 7 1 4 5 3 6
Rugb
y
G 4 4 4 4 4 4 4
MF 3 5 2 7 6 4 1
MFA 4 5 1 6 3 7 2
DTMF 1 7 6 2 5 4 3
39
Tri
atló
n
G 4 4 4 4 4 4 4
MF 5 6 4 7 1 3 2
MFA 4 5 1 6,5 3 6,5 2
DTMF 7 5 6 2 3 1 4
Rugb
y
G 4 4 4 4 4 4 4
MF 7 5 3 4 2 6 1
MFA 6 6 3 2 4 6 1
DTMF 5 1 3 6 4 2 7
105
Rugb
y
G 4 4 4 4 4 4 4
MF 5 7 3 4 1 2 6
MFA 4 6,5 5 2 1 3 6,5
DTMF 7 3 1 6 5 2 4
Tabla III-23. Fase 3 – Puntuación (de 1 a 4) de los tipos de control de profundidad