Una metaheurística para la extracción de reglas de asociación

Anuncio
Escuela Técnica Superior de Ingeniería Informática
Máster Oficial en Ingeniería y Tecnología del Software
TRABAJO FIN DE MÁSTER
Una metaheurística para la extracción de reglas de
asociación. Aplicación a terremotos.
Autor:
D. Álvaro Pita Martín
Tutores:
Dr. José C. Riquelme Santos
Dr. Francisco Martínez Álvarez
Convocatoria de Junio
Curso 2011/2012
2
Título: Una metaheurística para la extracción de reglas de asociación. Aplicación a terremotos.
Autor: Álvaro Pita Martín
Tutor
Cotutor
Profesores de la asignatura
Tribunal:
Nombre:……………………………………………….. Firma:
Nombre:……………………………………………….. Firma:
Nombre:……………………………………………….. Firma:
3
4
Agradecimientos.
Debo agradecer de manera especial a mi tutor, D. José C. Riquelme, por haber confiado en mi
persona, y haber aceptado mi petición para realizar este proyecto. Su labor como docente, sus
consejos y su capacidad para guiarme a lo largo de esta investigación, han sido un aporte
excepcional, tanto en el desarrollo de esta memoria, como en mi propio desarrollo personal y
profesional.
A Francisco Martínez Álvarez, por su permanente disponibilidad, por el esfuerzo invertido, por
animarme en el transcurso de este trabajo en los malos momentos y por lo más importante:
brindarme la oportunidad de realizar este proyecto. Sin ti, este trabajo no habría sido posible,
gracias amigo mío.
A Alicia Troncoso Lora, por su disposición y ayuda, por su absoluta profesionalidad y por la
dedicación empleada en este trabajo. Gracias por tus desinteresados consejos. Sin tus aportes,
este proyecto tampoco habría sido posible.
Por ultimo, mis más sinceros agradecimientos a mis más allegados, mi familia, por su
incondicional apoyo, por estar siempre, en los buenos y en los malos momentos, por su cariño,
y por demostrarme que siempre puedo contar con ellos, y a María, que ya forma parte de mi
familia, por aguantarme a diario, por su paciencia, por su comprensión y por el amor que me
brinda.
A todos vosotros, gracias.
5
6
Resumen.
Este trabajo final de Máster se incluye dentro de la disciplina de la Extracción Automática de
Conocimiento (KDD, Knowledge Discovery in Databases) y más concretamente se centra en la
etapa de Minería de Datos (MD). La MD es una de las áreas que más éxito y aplicación ha
tenido a la hora de analizar información con el objetivo de extraer nuevo conocimiento. El
objetivo de este trabajo es encontrar patrones y relaciones dentro de los datos permitiendo la
creación de modelos en los que la representación del conocimiento esté basada en reglas de
asociación. Concretamente, la extracción de reglas de asociación consiste en descubrir
relaciones interesantes, y previamente inesperadas, entre los diferentes atributos de un
conjunto de datos. Las reglas obtenidas pueden servir de ayuda para poder tomar posteriores
decisiones en cualquier área en la que se esté trabajando. Además por la sencillez que
presentan junto con el importante valor del conocimiento que se consigue extraer de los
datos, hacen que el estudio de esta técnica sea continuo objeto de investigación.
No existen muchos algoritmos en la literatura para encontrar este tipo de reglas, pero la
mayoría de los trabajos se basan en modificaciones del algoritmo A Priori y en técnicas basadas
en computación evolutiva y además la mayoría han sido aplicados a bases de datos con
atributos discretos, mientras que en el mundo real existen numerosas bases de datos donde la
información es numérica como por ejemplo las series temporales de eventos relacionados con
desastres naturales como los terremotos.
7
8
Tabla de contenido
Agradecimientos. .......................................................................................................................... 5
Resumen........................................................................................................................................ 7
Lista de figuras. ........................................................................................................................... 11
Lista de tablas. ............................................................................................................................. 13
1
2
Introducción. ....................................................................................................................... 15
1.1
Objetivos. .................................................................................................................... 15
1.2
Estructura de la memoria. ........................................................................................... 15
Contexto de investigación. .................................................................................................. 17
2.1
Minería de datos. ........................................................................................................ 17
2.1.1
¿Qué es la minería de datos? .............................................................................. 17
2.1.2
Relación con otras disciplinas ............................................................................. 19
2.1.3
Etapas del proceso KDD. ..................................................................................... 19
2.1.4
Tareas de la minería de datos. ............................................................................ 25
2.1.5
Aplicaciones......................................................................................................... 26
2.2
Reglas de asociación.................................................................................................... 27
2.2.1
Introducción. ....................................................................................................... 27
2.2.2
Medidas de calidad de las reglas de asociación. ................................................. 29
2.2.3
Reglas de asociación cuantitativas ...................................................................... 30
2.2.4
Algoritmo a priori. ............................................................................................... 32
2.2.5
Otros algoritmos de extracción de reglas de asociación. .................................... 33
2.2.6
Herramientas de uso de Reglas de Asociación.................................................... 33
3
Estado del arte. ................................................................................................................... 35
4
Metodología. ....................................................................................................................... 39
5
6
4.1
Descripción del algoritmo. .......................................................................................... 39
4.2
Formalización del algoritmo. ....................................................................................... 42
4.3
Obtención de reglas de asociación raras. ................................................................... 43
4.4
Obtención de reglas de asociación compensadas. ..................................................... 44
Resultados. .......................................................................................................................... 47
5.1
Descripción de la base de datos. ................................................................................. 47
5.2
Tablas de resultados.................................................................................................... 47
5.2.1
Estrategia 1. Reglas de asociación raras.............................................................. 48
5.2.2
Estrategia 2. Reglas de asociación compensadas................................................ 49
Conclusiones........................................................................................................................ 53
9
7
10
Bibliografía. ......................................................................................................................... 55
Lista de figuras.
Figura 1. Etapas del proceso KDD. .............................................................................................. 20
Figura 3. Estrategia1.txt. Ejemplo de resultados obtenidos. ...................................................... 43
Figura 4. Estrategia2.txt. Ejemplo de resultados obtenidos. ...................................................... 44
11
12
Lista de tablas.
Tabla 1. Base de datos de ejemplo.............................................................................................. 29
Tabla 2. Datos de ejemplo........................................................................................................... 31
Tabla 3. Conjunto de datos de ejemplo. ..................................................................................... 39
Tabla 4. Conjunto de datos ordenados de menor a mayor. ....................................................... 40
Tabla 5. Reglas obtenidas de forma aleatoria. Provisional. ........................................................ 41
Tabla 6. Reglas obtenidas de forma aleatoria. Definitiva. .......................................................... 41
Tabla 7. Reglas de asociación raras con consecuente
..................................... 48
Tabla 8. Reglas de asociación compensadas con consecuente
..................... 49
Tabla 9. Reglas de asociación compensadas con consecuente
..................... 50
Tabla 10. Reglas de asociación compensadas con consecuente
..................... 51
13
14
1 Introducción.
Se presenta en este capítulo la motivación para realizar este trabajo de investigación. En
concreto, este capítulo se dividirá en dos secciones. Una primera en la que se fijan los
objetivos que se quieren cumplir y una segunda en la que se describe la estructura del resto de
la memoria.
1.1 Objetivos.
Este trabajo se centrará en los siguientes aspectos:

Desarrollar una metaheurística para la extracción de reglas de asociación. Una de las
principales características de esta técnica será su capacidad para trabajar con atributos
continuos, a diferencia de la mayoría de algoritmos existentes en la literatura.

Esta metaheurística de optimización estará basada en la función k-ésimo mayor y késimo menor para obtener reglas de asociación en conjunto de datos con atributos
numéricos. La metaheurística consiste en calcular los parámetros k de tal forma que
las medidas que midan que la calidad de las reglas sean óptimas.

Análisis de cuáles son las medidas a partir de las cuales se obtienen las reglas con
mayor calidad y que, por tanto, mejor modelan a los datos estudiados.

Para validar la calidad de la metaheurística, se aplicará a una base datos de
terremotos. En concreto, se pretende predecir el comportamiento de series
temporales de terremotos con las reglas de asociación obtenidas mediante un proceso
automático.
1.2 Estructura de la memoria.
La presente memoria se divide en los siguientes apartados:

En el capitulo 2, Contexto de investigación, se describe el ámbito en el que se
desarrolla el trabajo. Se estudia en primer lugar el área de la minería de datos,
centrada en el proceso completo de extracción de conocimiento a partir de bases de
datos. El capitulo se centra en aportar una visión general sobre la minería de datos a
modo de introducción, relacionándola con otras disciplinas y estudiando las diferentes
etapas que se acontecen en proceso de extracción de conocimiento a partir de bases
de datos. Por ultimo, se desarrolla un breve estudio sobre las tareas y aplicaciones de
la minería de datos.
En el capitulo 2 además, se estudian las reglas de asociación, de forma que se describe
de manera más amplia la parte de la minería de datos que se desarrolla
posteriormente en la metodología y que supone foco de estudio de esta memoria. En
este capitulo se estudian además las medidas de calidad utilizadas en la metodología,
que permiten medir la calidad de las reglas de asociación. Por ultimo, se realiza un
breve estudio sobre algunos algoritmos de extracción de reglas de asociación, como
pueden ser el algoritmo A Priori, Eclat o FP Growth

El capitulo 3, Metodología, se centra en el algoritmo desarrollado para este trabajo. Se
desarrolla una explicación detallada del funcionamiento de este algoritmo, detallando
cada una de las estrategias seguidas en la generación de reglas de asociación. Por un
15
lado, se detalla el proceso de generación de reglas de asociación raras. En segundo
lugar, se detalla el proceso de generación de reglas de asociación compensadas. Por
ultimo, se describe la formulación matemática para dicho algoritmo.
16

En el capitulo 4, Resultados, se realizan una serie de experimentos con el fin de
comprobar el algoritmo desarrollado. En este capitulo se describen los datos utilizados
para la generación de los experimentos, así como los resultados obtenidos tanto en la
generación de reglas de asociación raras como en la generación de reglas de
asociación compensadas.

En el capitulo 5, Conclusiones, se concluye la memoria del trabajo realizado, aportando
unas pequeñas conclusiones sobre el trabajo llevado a cabo. Se presentan además
algunas líneas de trabajos futuros.
2 Contexto de investigación.
En este capítulo se proporciona el contexto en el que se ha desarrollado la investigación. Para
ello, se hará una breve introducción a la minería de datos y al papel crucial que juega en el
proceso conocido como Knowledge Discovery in Databases (KDD).
A continuación, se presentarán las técnicas basadas en reglas de asociación, objetivo
fundamental de este trabajo. En concreto, se formalizará el problema y se describirán las
principales medidas que se utilizan para evaluar la calidad de dichas reglas. Se hará especial
hincapié en aquellas técnicas que se centren en el manejo de atributos cuantitativos.
2.1 Minería de datos.
En esta sección será estudiada el área de la Minería de datos centrada en el concepto de
Minería de Datos dentro del proceso completo de extracción de conocimiento a partir de
bases de datos. Obviamente, es imposible tratar y abarcar toda el área en profundidad puesto
que es demasiado extensa, por lo que se dará una visión general como introducción acerca de
las distintas fases, técnicas, etc. y posteriormente nos centraremos en las partes que están
relacionadas con el trabajo.
2.1.1
¿Qué es la minería de datos?
En los últimos años, ha existido un gran crecimiento en nuestras capacidades de generar y
colectar datos, debido básicamente al gran poder de procesamiento de las máquinas y a su
bajo costo de almacenamiento.
El aumento del volumen y variedad de información que se encuentra informatizada en bases
de datos digitales ha crecido de manera espectacular en la última década, siendo gran parte de
esta información histórica, es decir, en la mayoría de los casos transacciones o situaciones que
se han producido. Esta información a parte tener función de “memoria de la organización”, es
útil para predecir la información futura. Además las empresas suelen generar grandes
cantidades de información sobre sus procesos productivos, desempeño operacional, mercados
y clientes. Esto implica que la mayoría de los sistemas, produzcan una cantidad inmensa de
datos, dentro delos cuales existe una gran cantidad de información oculta, de gran importancia
estratégica, a la que no se puede acceder por las técnicas clásicas de recuperación de la
información, ya que en muchas situaciones el método tradicional de convertir los datos en
conocimiento consiste en un análisis e interpretación realizada de forma manual.
Por tanto, se llegó a un punto en el que las dimensiones de las bases de datos grandes y sus
velocidades de crecimiento, hacían muy difícil para un humano el análisis y la extracción de
alguna información importante, desbordando la capacidad de los mismos, y como
consecuencia surgen diferentes técnicas de manejo automático de la información: OLPT (OnLine Transactional Processing),OLAP (On-Line Analytical Processing)y herramientas
estadísticas.
En principio, se pensó que estas técnicas serían la solución ante el crecimiento dela
información, sin embargo, presentan una serie de limitaciones e inconvenientes, ya que con
SQL por ejemplo, sólo podemos realizar un primer análisis aproximadamente del 80%de la
17
información, quedando un 20% restante donde la mayoría de las veces se contiene la
información más importante. Este 20% restante requiere utilizar técnicas más avanzadas.
Esta serie de problemas y limitaciones de las aproximaciones clásicas, son la causa de la
necesidad de una nueva generación de herramientas y técnicas para soportar la extracción de
conocimiento útil desde la información disponible, y que se engloban bajo la denominación de
minería de datos. Surgen una serie de herramientas y técnicas capaces de identificar
tendencias y comportamientos, no sólo para extraer información, sino también para descubrir
las relaciones en bases de datos que pueden identificar comportamientos que no son muy
evidentes, combinando las técnicas tradicionales con numerosos recursos desarrollados en el
área de la inteligencia artificial, para encontrar patrones y relaciones dentro de los datos
permitiendo la creación de modelos, es decir, representaciones abstractas de la realidad. Pero
en realidad el que se encarga de la preparación de los datos y la interpretación delos
resultados obtenidos, los cuales dan un significado a estos patrones encontrados es lo que se
conoce como “Descubrimiento de Conocimiento a partir de Bases de Datos” (KDD, del inglés
Knowledge Discovery from Databases). Con la aparición de estas nuevas técnicas no se
requiere que el usuario final sea un experto en aprendizaje automático y en estadística.
Aunque desde un punto de vista académico el término minería de datos es una etapa dentro
de un proceso mayor llamado extracción de conocimiento en bases de datos, KDD, estos
términos se suelen usar indistintamente.
El término KDD se define como un proceso no trivial de identificar patrones válidos,
novedosos, potencialmente útiles y en última instancia comprensibles a partir de los datos.
Mientras que la Minería de Datos es la etapa de descubrimiento en el proceso de KDD. Es el
paso consistente en el uso de algoritmos concretos que generan una enumeración de patrones
a partir de los datos pre-procesados. El resultado de la exploración no debe ser afectada por
mayores volúmenes de datos o por ruido en los datos, por lo que los algoritmos de
descubrimiento de información deben ser altamente robustos.
El objetivo fundamental del KDD es encontrar conocimiento:

Útil: El conocimiento debe servir de algo, es decir, debe conducir a acciones de las
cuales se pueda obtener algún tipo de beneficio para el usuario.

Valido: Los patrones deben seguir siendo precisos para datos nuevos, no solo para
aquellos que han sido usados en su obtención. El conocimiento debe verificarse en
todos los datos que se tienen.

Comprensible: Debe posibilitar la interpretación, revisión, validación y uso en la toma
de decisiones. Una información incomprensible no proporciona conocimiento.

Nuevo: Debe aportar algo desconocido para el sistema y preferiblemente para el
usuario.
La minería de datos puede aplicarse a cualquier tipo de información, siendo las técnicas de
minería diferentes para cada una de ellas. La información se puede distinguir entre datos
estructurados, por ejemplo, provenientes de bases de datos relacionales, otros tipos de datos
18
estructurados en bases de datos (espaciales, temporales, textuales y multimedia) y datos no
estructurados provenientes de la Web o de otros tipos de repositorios de documentos.
El conocimiento extraído por la minería de datos puede ser en forma de relaciones, patrones o
reglas inferidos de los datos y previamente desconocidos, o bien en forma de una descripción
más concisa, es decir, un resumen de los mismos. Estas relaciones o resúmenes constituyen el
modelo de los datos analizados. Existen muchas formas diferentes de representar los modelos
y cada una de ellas determina el tipo de técnica que puede usarse para inferirlos.
Los modelos pueden ser de dos tipos:
1. Un modelo predictivo. Pretende estimar valores futuros o desconocidos de variables
de interés, denominadas como variables objetivo o dependientes, usando otras
variables o campos de la base de datos, referidas como variables independientes o
predictivas. Un modelo predictivo sería aquel que permite estimar la demanda de un
nuevo producto en función del gasto en publicidad.
2. Un modelo descriptivo. Sirve para explorar las propiedades de los datos examinados,
no para predecir nuevos datos. En el caso de una agencia de viajes, se desea identificar
grupos de personas con unos mismos gustos, con el objeto de organizar diferentes
ofertas para cada grupo y poder así remitirles esta información; para ello analiza los
viajes que han realizado sus clientes e infiere un modelo descriptivo que caracteriza
estos grupos.
2.1.2
Relación con otras disciplinas
KDD nace como interfaz y se nutre de diferentes disciplinas. Es un aspecto muy interesante de
esta metodología, ya que involucra distintas áreas de investigación como la estadística, los
sistemas de información y bases de datos, el aprendizaje automático, la inteligencia artificial,
el reconocimiento de patrones, la visualización de datos, la computación paralela y distribuida,
los sistemas de toma de decisiones, la recuperación de información, etc. Para extraer el
conocimiento durante estos procesos se utilizan técnicas tales como redes neuronales, lógica
difusa, algoritmos genéticos, razonamiento probabilístico, árboles de decisión, etc.
2.1.3
Etapas del proceso KDD.
El proceso de KDD consiste en usar métodos de minería de datos (algoritmos)para extraer
(identificar) lo que se considera como conocimiento de acuerdo a la especificación de ciertos
parámetros usando una base de datos junto con pre-procesamientos y post-procesamientos.
El proceso de KDD es un proceso iterativo e interactivo:

Iterativo ya que la salida de alguna de las fases puede hacer volver a pasos anteriores
y porque a menudo son necesarias varias iteraciones para extraer conocimiento de
alta calidad.

Interactivo porque el usuario, o más generalmente un experto en el dominio del
problema, debe ayudar en la preparación de los datos, validación del conocimiento
extraído, etc.
19
Los pasos que se deben seguir para la realización de un proyecto de minería de datos son
siempre los mismos, independientemente de la técnica específica de extracción de
conocimiento usada.
En la siguiente imagen pueden verse las etapas básicas de la minería de datos.
Figura 1. Etapas del proceso KDD.
1. Determinar las fuentes de información que pueden ser útiles y dónde conseguirlas.
2.
Diseñar el esquema de un almacén de datos (Data Warehouse) que consiga unificar de
manera operativa toda la información recogida.
3. Implantación del almacén de datos que permita la navegación y visualización previa de
sus datos, para discernir qué aspectos pueden ser interesantes para su estudio.
4. Selección, limpieza y transformación de los datos que se van a analizar. La selección
incluye tanto una criba o fusión horizontal (filas) como vertical (atributos).
5. Seleccionar y aplicar el método de minería de datos apropiado.
6. Interpretación, transformación y representación de los patrones extraídos.
7. Difusión y uso del nuevo conocimiento.
2.1.3.1 Integración y recopilación de datos.
La familiarización con el dominio del problema y la obtención de conocimiento apriori
disminuye el espacio de soluciones posibles y por tanto la eficiencia es mayor en el resto del
proceso. Las primeras fases del KDD determinan que las fases sucesivas sean capaces de
extraer conocimiento válido y útil a partir de la información original.
Generalmente, la información que se quiere investigar sobre un cierto dominio dela
organización se encuentra en bases de datos y otras fuentes muy diversas, tanto internas
como externas y muchas de estas fuentes son las que se utilizan para el trabajo transaccional.
20
Aparte de información interna de la organización, los almacenes de datos pueden recoger
información externa, como por ejemplo, demografías (censo), páginas amarillas, psicografías,
gráficos Web, información de otras organizaciones; datos compartidos en una industria o área
de negocio, organizaciones y colegios profesionales, catálogos, etc.; datos resumidos de áreas
geográficas, distribución de la competencia, evolución de la economía, información de
calendarios y climatológicas, programaciones televisivas-deportivas, catástrofes; bases de
datos externas compradas a otras compañías.
El análisis posterior será mucho más sencillo si la fuente es unificada, accesible(interna) y
desconectada del trabajo transaccional.
El data warehouse es conveniente para KDD aunque no imprescindible, ya que a veces se
trabaja directamente con la base de datos o con las bases de datos en formatos heterogéneos.
Hay que considerar una serie de cuestiones al realizar la integración de datos desde distintas
fuentes. Por ejemplo para la integración del esquema se deben utilizar los metadatos que
normalmente se almacenan en las bases de datos y en los data warehouse, para asegurar que
entidades equivalentes se emparejan correctamente cuando se produce la fusión desde
distintas fuentes. Otro aspecto importante es la redundancia, que se produce cuando un
atributo se puede obtener a partir de otros atributos. Una forma de detectarla, es mediante
análisis de correlaciones, cuyo objetivo es medir la fuerza con la que un atributo implica a otro
en función de los datos disponibles. También es importante la detección y resolución de
conflictos en los valores de los datos, ya que un atributo puede diferir según la fuente de
procedencia, debido a diferencias en la representación, escala o forma de codificar.
Cuidar el proceso de integración a partir de múltiples fuentes reducirá y evitará redundancias e
inconsistencias en los datos resultantes, mejorando la exactitud y velocidad del proceso de
Minería de Datos.
2.1.3.2 Preprocesamiento [1].
La calidad del conocimiento descubierto no depende sólo del algoritmo de minería de datos
sino de la calidad de los datos minados. Es decir, aunque el algoritmo de minería de datos sea
muy bueno, si los datos no son adecuados, el conocimiento extraído no será válido. Este paso
es necesario ya que algunos datos coleccionados en la etapa anterior son irrelevantes o
innecesarios para la tarea de minería que se desea realizar. Por tanto el objetivo general de
esta fase será seleccionar el conjunto de datos adecuado para el resto del proceso de KDD. Las
tareas de esta etapa se agrupan en:
1) Limpieza de datos (data cleaning). Las bases de datos reales en la actualidad suelen
contener datos ruidosos, perdidos. Se deben eliminar el mayor número posible de datos
erróneos o inconsistentes (limpieza) e irrelevantes (criba). Algunos de los algoritmos de
Minería de Datos tienen métodos propios para tratar con datos incompletos o ruidosos.
Pero en general estos métodos no son muy robustos, lo normal es realizar previamente la
limpieza de los datos. Los objetivos de esta subetapa son rellenar valores perdidos,
suavizar el ruido de los datos, identificar o eliminar outliers (datos anómalos) y resolver
inconsistencias.
21
2) Transformación de los datos. El objetivo de la transformación de datos es poner los datos
de la mejor forma posible para la aplicación de los algoritmos de Minería de Datos.
Algunas de las operaciones típicas que se suelen realizar:
a) Agregación, generalización de los datos: Se trata de obtener datos de más alto nivel a
partir de los actuales, utilizando jerarquías de conceptos.
b) Normalización: El objetivo de esta operación es pasar los valores de un atributo a un
rango mejor. Es bastante útil para técnicas como AANN o métodos basados en
distancias. Entre las técnicas de normalización cabe destacar la normalización minmáx., que realiza una transformación lineal, la normalización zero-mean, que
normaliza en función de la media y la desviación estándar, y la normalización por
escala decimal que consiste en normalizar moviendo el punto decimal de los valores
del atributo.
c) Construcción de atributos: Consiste en construir nuevos atributos aplicando alguna
operación a los atributos originales tales como agrupación, separación, etc. Puede ser
interesante cuando los atributos no tienen mucho poder predictivo por sí solos o
cuando los patrones dependen de variaciones lineales de las variables globales. Se
utiliza para mejorar la exactitud y la comprensibilidad de la estructura al trabajar con
datos con muchas dimensiones.
d) Discretización: Se basa en pasar atributos continuos (o discretos con muchos valores) a
casos discretos manejables o a categóricos. Esta técnica es imprescindible para
muchos algoritmos de Minería de Datos, puesto que muchos no pueden trabajar con
valores continuos. Hay que tener especial cuidado ya que una mala discretización
puede invalidar los datos.
3) Reducción de la dimensionalidad: En esta etapa el objetivo principal es obtener una
representación reducida del conjunto de datos, de volumen mucho menor, pero sin perder
en gran medida la integridad de los datos originales. La minería sobre el conjunto reducido
resultante debe ser mucho más eficiente pero obteniendo conclusiones iguales o al menos
aproximadas. La reducción de la dimensionalidad se puede llevar a cabo mediante un tipo
basado en selección de instancias o selección de características.
a) La selección de instancias consiste en obtener una representación más pequeña del
conjunto de datos. Dentro de este tipo se pueden distinguir dos tipos de técnicas:
i)
Técnicas paramétricas: Consisten en estimar un modelo a partir de los datos, de
forma que se almacenan sólo los parámetros y no los datos reales. Se pueden
distinguir dos tipos de modelos, los cuales son la regresión lineal múltiple y los
modelos log-lineales que aproximan distribuciones de probabilidad
multidimensionales.
ii) Técnicas no paramétricas: Sirven para reducir la cantidad de datos mediante el uso
de algoritmos basados en clustering y muestreo. El clustering consiste en crear
grupos de ejemplos similares seleccionando un representante de cada grupo el
cual pasará a formar parte del nuevo conjunto de ejemplos. El objetivo del
muestreo es seleccionar un conjunto del total de casos presentes en la base de
datos original, pudiendo realizarse mediante varios métodos, como por ejemplo
de forma estratificada, por grupos, etc.
22
b) La selección de características o variables consiste en encontrar un subconjunto de las
variables del problema que optimice la probabilidad de clasificar correctamente. Es
necesaria, ya que el hecho de tener más atributos no significa que se tenga más éxito
en la clasificación, además el trabajar con menos variables reduce la complejidad del
problema, disminuye el tiempo de ejecución y aumenta la capacidad de
generalización.
c) Un algoritmo de selección de características se compone de dos componentes
principales como son la estrategia de búsqueda, para seleccionar subconjuntos
candidatos y la función objetivo que evalúe la calidad de los mismos. Existen un gran
número de algoritmos para llevar a cabo la selección de características basados en
búsqueda, árboles de decisión, etc.
d) Otras técnicas que se utilizan para reducir la dimensionalidad del conjunto de datos
son la discretización, la compresión de datos, etc.
2.1.3.3 Minería de datos
La fase de minería de datos es la más característica del KDD, y por esta razón, muchas veces se
utiliza esta fase para nombrar todo el proceso.
El objetivo de esta etapa es producir nuevo conocimiento que pueda utilizar el usuario,
construyendo un modelo, basado en los datos recopilados, que sea una descripción de los
patrones y relaciones entre los datos con los que se puedan hacer predicciones, entender
mejor los datos o explicar situaciones pasadas. Se deben tomar una serie de decisiones antes
de empezar el proceso. En primer lugar se tiene que determinar que tipo de conocimiento
buscamos, ya que puede ser predictivo o descriptivo. Según el tipo, en segundo lugar hay que
seleccionar la técnica más idónea para dicho tipo de conocimiento. Existen un gran número de
técnicas entre las que se encuentran clasificación, regresión agrupamiento, asociaciones.
También es necesario identificar de qué tipo de modelo se trata dentro de cada técnica. Por
ejemplo, para clasificación, puede tratarse de un modelo basado en reglas, redes neuronales,
árboles de decisión, etc. Por último hay que elegir el algoritmo de minería que resuelva la
tarea y obtenga el tipo de modelo que se está buscando.
Es en esta fase donde mejor vemos el carácter iterativo del proceso de KDD, ya que será
necesario explorar modelos alternativos hasta encontrar aquel que resulte más útil para
resolver nuestro problema. En la búsqueda del buen modelo, puede que tengamos que
retroceder hasta fases anteriores y hacer cambios en los datos que estamos usando o incluso
modificar la definición del problema. Además la elección de la tarea a realizar y del algoritmo a
usar puede influir en la preparación de los datos.
2.1.3.4 Evaluación e interpretación
La fase de Minería de Datos puede producir varias hipótesis de modelos por lo que es
necesario establecer qué modelos son los más válidos. Medir la calidad de los patrones
descubiertos por un algoritmo de Minería de Datos no es un problema trivial, ya que esta
medida puede atañer a varios criterios, algunos de ellos bastante subjetivos.
23
Idealmente, los patrones descubiertos deben tener tres cualidades; deben ser precisos,
comprensibles (es decir, inteligibles) e interesantes (útiles y novedosos). Según las aplicaciones
puede interesar mejorar algún criterio y sacrificar ligeramente otro.
Se utilizan técnicas de evaluación que consisten en dividir el conjunto de datos en dos
conjuntos, de entrenamiento, que sirve para extraer el conocimiento y el de test, que prueba
la validez del conocimiento extraído. Existen varias alternativas de estas técnicas, entre las
cuales destacan:

Validación simple donde se reserva un porcentaje de la base de datos como conjunto
de prueba, y no se usa para construir el modelo.

Validación cruzada que es recomendable cuando tenemos una cantidad no muy
elevada de datos para construir el modelo y puede que no podamos permitirnos el
poder reservar parte de los mismos para la etapa de evaluación. Los datos se dividen
aleatoriamente en dos conjuntos equitativos con los que se estima la precisión
predictiva del modelo.

Bootstrapping Consiste en construir primero un modelo con todos los datos iniciales,
posteriormente, se crean numerosos conjuntos de datos, llamados bootstrap samples,
haciendo un muestreo de los datos originales con reemplazo, por lo que los conjuntos
construidos pueden contener datos repetidos. A continuación se construye un modelo
con cada conjunto y se calcula su ratio de error sobre el conjunto de test. El error final
se calcula promediando los errores obtenidos para cada muestra.
Dependiendo de la tarea de minería de datos, existen diferentes medidas de evaluación de los
modelos. Por ejemplo en clasificación, lo habitual es evaluar la calidad de los patrones
encontrados con respecto a su precisión predictiva, que se calcula como el número de
instancias del conjunto de prueba clasificadas correctamente, dividido por el número de
instancias totales en el conjunto de prueba. En el caso de reglas de asociación, se suele evaluar
de forma separada cada una de las reglas con objeto de restringirnos a aquellas que pueden
aplicarse a un número mayor de instancias y que tienen una precisión relativamente alta sobre
estas instancias. Se hace en base a dos conceptos, los cuales son soporte y confianza.
La interpretación puede beneficiarse de procesos de visualización, y sirve también para borrar
patrones redundantes o irrelevantes.
2.1.3.5 Difusión y uso del nuevo conocimiento
Una vez construido y validado el modelo puede usarse principalmente con dos finalidades:
para que un analista recomiende acciones basándose en el modelo y en sus resultados, o bien
para aplicar el modelo a diferentes conjuntos de datos, de forma manual o automática.
Tanto en el caso de una aplicación manual o automática del modelo, es necesario su difusión,
es decir, que se distribuya y se comunique a los posibles usuarios, la utilización del nuevo
conocimiento de forma independiente, y la incorporación a sistemas ya existentes, aunque hay
que tener especial atención para evitar inconsistencias y posibles conflictos.
También es importante medir la calidad de evolución del modelo, por lo que se debe tener un
cierto mantenimiento para comprobar las prestaciones del mismo.
24
2.1.4
Tareas de la minería de datos.
Dentro de la minería de datos se han de distinguir tipos de tareas, cada una delas cuales puede
considerarse como un tipo de problema a ser resuelto por un algoritmo de minería de datos.
Esto significa que cada tarea tiene sus propios requisitos, y que el tipo de información
obtenida con una tarea puede diferir mucho de la obtenida con otra.
Como se ha visto anteriormente, las distintas tareas pueden ser predictivas o descriptivas,
dichas tareas se describen en las siguientes subsecciones.
2.1.4.1 Clasificación.
Es probablemente la tarea más utilizada. En ella, cada instancia (o registro de la base de datos)
pertenece a una clase, la cual se indica mediante el valor de un atributo que llamamos clase de
la instancia. Este atributo puede tomar diferentes valores discretos, cada uno de los cuales
corresponde a una clase. El resto de los atributos de la instancia (los relevantes a la clase) se
utilizan para predecir la clase. El objetivo es predecir la clase de nuevas instancias de las que se
desconoce la clase. Más concretamente, el objetivo del algoritmo es maximizar la razón de
precisión de la clasificación de las nuevas instancias, la cual se calcula como el cociente entre
las predicciones correctas y el número total de predicciones (correctas e incorrectas). Se trata
de una tarea de aprendizaje supervisado, ya que es necesario conocer las clases a las que
pertenecen los ejemplos utilizados para obtener y evaluar el modelo.
2.1.4.2 Regresión.
Se utiliza para designar de forma general el problema de predecir una variable de tipo
continuo. Se trata de aproximar el valor numérico de dicha variable conociendo el resto de
atributos. Implica el aprendizaje de una función para establecer la correspondencia entre los
datos y el valor a predecir. En algunos casos, se fija el tipo de función y se determina la función
del tipo que mejor se adapta a los datos. El objetivo en este caso es minimizar el error entre el
valor predicho y el valor real. Al igual que la clasificación, se trata de una tarea de aprendizaje
supervisado. Un caso particular de regresión es el análisis de series temporales. El objetivo de
esta tarea, consiste en observarla variación del valor de un atributo en el tiempo.
Normalmente los valores que se analizan, están distribuidos en el tiempo. Se suelen visualizar,
lo cual permite utilizar medidas de distancia para determinar la similitud entre diferentes
series temporales, y para determinar y predecir comportamiento. Se diferencian de la
regresión en que los datos tienen una relación temporal.
2.1.4.3 Agrupamiento o clustering.
Es la tarea descriptiva por excelencia y consiste en obtener grupos naturales a partir de los
datos. Se diferencia de la clasificación en que en este caso los grupos no están definidos. En
lugar de analizar datos etiquetados con una clase, los analiza para generar esa etiqueta. Se
trata de aprendizaje no supervisado si no se conoce el número de clúster, y supervisado en
otro caso. Los datos son agrupados basándose en el principio de maximizar la similitud entre
los elementos de un grupo minimizando la similitud
25
2.1.4.4 Reglas de asociación.
Son también una tarea descriptiva, cuyo objetivo es identificar relaciones no explícitas entre
atributos categóricos. Regla de asociación se define como un modelo que identifica tipos de
asociaciones específicas en los datos. Las reglas de asociación no implican una relación causaefecto, es decir, puede no existir una causa para que los datos estén asociados. Una asociación
entre dos atributos ocurre cuando la frecuencia de que seden dos valores determinados de
cada uno conjuntamente es relativamente alta. Es muy común en los análisis de cestas de
mercados. Un caso especial, son las reglas de asociación secuenciales, las cuales se usan para
determinar patrones secuenciales en los datos. Se basan en secuencias temporales de acciones
y difieren de las reglas de asociación en que las relaciones entre los datos son temporales.
2.1.4.5 Correlaciones.
Se usan para examinar el grado de similitud de los valores de dos variables numéricas. El
análisis de correlaciones, sobre todo las negativas, puede ser muy útil para establecer reglas de
ítems correlacionados.
2.1.4.6 Categorización.
Se trata de aprender una correspondencia entre los ejemplos y un conjunto de categorías. Se
diferencia de la clasificación en que en la categorización, un mismo ejemplo puede tener
asociadas varias etiquetas.
2.1.4.7 Priorización o aprendizaje de preferencias.
Consiste en determinar un orden de preferencia a partir de dos o más ejemplos. Cada ejemplo
es una secuencia de valores donde el orden de la secuencia representa la preferencia.
2.1.5
Aplicaciones.
La integración de las técnicas de Minería de Datos en las actividades del día adía se está
convirtiendo en algo habitual. Tradicionalmente los negocios de la distribución y la publicidad
dirigida han sido las áreas que más han empleado técnicas de minería de datos para reducir
costes o aumentar la receptividad de ofertas. Podemos encontrar ejemplos en todo tipo de
aplicaciones: financieras, seguros, científicas (medicina, farmacia, astronomía, psicología, etc.),
políticas económicas, sanitarias o demográficas, educación, policiales, procesos industriales,
etc. A continuación se incluye una lista de ejemplos en algunas de las áreas mencionadas para
ilustrar en qué ámbitos se puede usar la minería de datos.
26

Aplicaciones financieras y banca: Detectar patrones de uso fraudulento de tarjetas de
crédito, identificar clientes leales, identificar reglas de mercado de valores a partir de
históricos, etc.

Análisis de mercado, distribución y comercio: Identificar patrones de compra de los
clientes, buscar asociaciones entre clientes y características demográficas, etc.

Seguros y salud privada: Análisis de procedimientos médicos solicitados
conjuntamente, predecir qué clientes compran nuevas pólizas, etc.

Medicina: Identificación de terapias médicas satisfactorias para diferentes
enfermedades, asociación de síntomas y clasificación diferencial de patologías, etc.

Minería de texto: Análisis de log de servidores para análisis del patrón de recorrido y
consumo del cibernauta, contenido de los documentos, etc.

Transportes: Determinar la planificación de la distribución entre tiendas, analizar
patrones de carga.

Otras áreas: Toma de decisiones, investigación científica, mejora de calidad de datos,
etc.
2.2 Reglas de asociación.
2.2.1
Introducción.
En el campo de la minería de datos y aprendizaje automático, las reglas de asociación se
utilizan para descubrir hechos que ocurren en común dentro de un determinado conjunto de
datos. Se han investigado ampliamente diversos métodos para aprendizaje de reglas de
asociación que han resultado ser muy interesantes para descubrir relaciones entre variables en
grandes conjuntos de datos. Dentro del aprendizaje automático se encuadran en el
aprendizaje no supervisado. A diferencia de la clasificación, las reglas de asociación son
descriptivas. Las tareas de minería descriptivas caracterizan las propiedades generales de los
datos [3].
La extracción de reglas de asociación encuentra asociaciones interesantes y/o relaciones de
correlación entre elementos de grandes conjuntos de datos. Las reglas de asociación muestran
condiciones de valores en los atributos que ocurren juntos con frecuencia en los conjuntos de
datos dados. Los primeros estudios sobre las reglas de asociación se centraron en datos con
atributos binarios, principalmente aplicados a datos en forma transaccional. Un ejemplo típico
y ampliamente utilizado en la extracción de reglas de asociación es el análisis de la cesta de la
compra [4] sobre el cual se han desarrollado una variedad de métodos para tratarlo. Los datos
se recolectan a través de escáneres de códigos de barras en los supermercados obteniendo
bases de datos con un gran número de registros de transacciones. Cada registro contiene
todos los artículos comprados por un cliente en una transacción de compra única. A partir de
estos datos sería interesante saber si ciertos grupos de artículos se compran juntos
constantemente, ya que se podrían utilizar para ajustar el diseño de la tienda (colocación de
elementos de forma óptima con respecto otras), venta cruzada, promociones, para el diseño
de catálogos e identificar segmentos de clientes basados en los patrones de compra.
Un caso muy famoso sobre reglas de asociación es el de la cerveza y los pañales, basado en el
comportamiento de los compradores en el supermercado. Se descubrió que muchos hombres
acaban comprando pañales por encargo de sus esposas. En la cadena de supermercados WalMart, donde se descubrió este hecho, se adoptó la medida de colocar la cerveza junto a los
pañales. De esta manera consiguió aumentar la venta de cerveza. Las reglas de asociación
proporcionan información de este tipo de la forma ”si entonces”. Estas reglas se calculan a
partir de los datos y, a diferencia de las reglas ”si entonces” de la lógica, las reglas de
asociación son de naturaleza probabilística. Algunos términos básicos en la terminología de las
reglas de asociación son:

Ítem, que corresponde a pares atributo-valor.
27

Instancia, que corresponde aun conjunto de ítems, corresponde a un ejemplo o
registro de la base de datos.
El objetivo del proceso de extracción de las reglas de asociación (AR) consiste precisamente en
descubrir la presencia de pares de conjunciones (atributo (A) – valor (v))que aparecen en un
conjunto de datos con cierta frecuencia para formular las reglas que describen las relaciones
existentes entre los atributos.
Las reglas de asociación (AR) fueron definidas por primera vez por Agrawal et al. [4] como
sigue: Sea I = {i1, i2,…,in} un conjunto de ítems y D = {t1, t2,…,tn} un conjunto de N transacciones,
donde cada tj contiene un subconjunto de ítems. Esto es, una regla puede ser definida como
X ⇒Y, donde X, Y ⊆ I y X ∩ Y = ∅.
Finalmente, X y Y se llaman antecedente (o parte izquierda de la regla) y consecuente (o parte
derecha de la regla), respectivamente.
En [5] el problema de descubrir las reglas de asociación se divide en dos subtareas:

Encontrar todos los conjuntos que superan el valor mínimo de soporte. Dichos
conjuntos se denominan conjuntos frecuentes.

Partiendo de los conjuntos frecuentes encontrados, generar las reglas que superan el
valor mínimo de confianza.
La generación de los conjuntos frecuentes es la tarea más importante y la que requiere más
tiempo de computación, de ahí que sea la más estudiada entre la comunidad científica. A
diferencia de la estrategia que siguen la mayoría de los investigadores en sus herramientas de
extracción de reglas de asociación, el algoritmo propuesto que presentamos en este trabajo,
desde el principio del proceso se obtienen reglas de asociación sin tener que realizar el
proceso de construcción de los conjuntos frecuentes.
Los dos estadísticos utilizados inicialmente para describir las relaciones entre antecedente y
consecuente son el soporte (o apoyo, denotado Sop) y la confianza (Conf), los cuales son
valores numéricos comprendidos en el intervalo [0,1]. Se define Sop(X) como la proporción de
transacciones que contienen el conjunto X. Por tanto, el soporte de una regla de asociación es
la proporción de transacciones que contienen tanto el antecedente como el consecuente. La
confianza de una regla de asociación es la proporción de transacciones que contienen el
antecedente, y que también contienen al consecuente.
A continuación se muestra el cálculo del soporte con una pequeña base de datos de ejemplo
que contiene 10 transacciones. Se puede observar aquí que, si se quiere obtener manzanas, de
10 transacciones disponibles 4 contienen manzanas, por lo que sop(manzanas)=4/10 = 0.4,
igualmente para el sop(zanahoria) hay 3 transacciones que la contienen, así
sop(zanahoria)=3/10=0.3
sop(dulcería)= 0.6
sop(manzana ⇒ dulcería)=0.3
sop(manzana ⇒ tomates)=0.3
28
Tabla 1. Base de datos de ejemplo.
{ciruelas, lechugas, tomates}
{apio, dulcería}
{manzanas, zanahorias, tomates, papas, dulcería}
{manzanas, naranjas, lechugas, tomates, dulcería}
{duraznos, naranjas, apio, papas}
{frijoles, lechuga, tomates}
{naranjas, lechuga, zanahorias, tomates, dulcería}
{manzanas, plátanos, ciruelas, zanahorias, tomates, cebollas, dulcería}
{manzanas, papas}
Si el soporte es suficientemente alto y la base de datos es grande, entonces la confianza es un
estimado de la probabilidad de cualquier transacción futura que contenga el antecedente,
también contendrá la conclusión.
De la base de datos de ejemplo, vemos que:
conf(manzanas ⇒)dulcería= sop(manzana ⇒ dulcería)/ sop(manzanas)= 0.3/0.4 = 0.75,
conf(manzanas ⇒)tomates= 0.75, conf(zanahorias ⇒)dulcería = 1.
El algoritmo de asociación tratará de descubrir todas las reglas que excedan las cotas mínimas
especificadas para el soporte y la confianza. La búsqueda exhaustiva de reglas de asociación
consideraría simplemente todas las combinaciones posibles de elementos, poniéndolas como
antecedentes y consecuentes, entonces se evaluaría el soporte y la confianza de cada regla, y
se descartarían todas las asociaciones que no satisfacen las restricciones.
Sin embargo el número de combinaciones crece rápidamente con el número de elementos,
por lo que si hay 1000 elementos, se tendrán 21000 combinaciones (aproximadamente 10300).
Para cada antecedente existe la posibilidad de formar una regla poniendo como consecuente
cualquier conjunto de elementos que no contenga algún elemento que ya se encuentra en el
antecedente. Así, este procedimiento para la búsqueda de reglas de asociación es muy costoso
computacionalmente, por lo que se necesita otro procedimiento más eficiente.
2.2.2
Medidas de calidad de las reglas de asociación.
Se han utilizado una serie de medidas de interés para evaluar las reglas de asociación [6][7].
Todas las que vamos a describir están basadas en la probabilidad que miden la generalidad y
fiabilidad de la regla.

Soporte(A)[6]: El soporte de un conjunto A se define como el porcentaje de instancias
de la base de datos que contienen A. En general, el soporte de A se conoce como la
probabilidad de A.
29

Soporte(A ⇒ C)[6]: El soporte de la regla es el porcentaje de instancias de la base de
datos que contienen A ∪ C. Se conoce como la probabilidad de A y C a la vez.
⇒

∪
Confianza(A ⇒C)[6]: Es la probabilidad condicional de C dado A. Se refiere al número
de registros de la base de datos que cubre la regla entre el número de registros que
cubre el antecedente de la misma.
⇒
⇒

Lift (A ⇒C)[8]:Se refiere a cuántas veces el antecedente y el consecuente aparecen
juntos más a menudo de lo esperado en el conjunto de datos suponiendo
independencia estadística entre antecedente y consecuente. Mide el grado de
dependencia entre el entre el antecedente y el consecuente. Un valor superior a 1
indica dependencia positiva, mientras que un valor inferior a 1 indica dependencia
negativa.
⇒
⇒

Conviction(A ⇒C)[9]: Es una medida que tiene en cuenta tanto el soporte del
antecedente como el soporte del consecuente de la regla. Valores en el intervalo
(0,1)significa dependencia negativa, valores superiores a 1 significa dependencia
positiva, y un valor igual a 1 significa independencia.
⇒

∪
⇒
Gain(A ⇒C)[9]: Se calcula a partir de la diferencia entre la confianza de la regla y el
soporte del consecuente.
⇒
2.2.3
⇒
⇒
Reglas de asociación cuantitativas
Normalmente, las reglas de asociación se han extraído sobre bases de datos nominales o bien
datos discretos como el ejemplo expuesto anteriormente, sin embargo, cuando el dominio es
continuo, las reglas de asociación se conocen como reglas de asociación cuantitativas (QAR,
Quantitative Association Rules). En este contexto, sea F = {F1,…,Fn} un conjunto de
características, con valores en R. Sea A y C dos subconjuntos disjuntos de F, esto es, A ⊂ F, C ⊂
F, y A ∩ C = ∅. Una QAR es una regla X ⇒Y, en la que las características en A pertenecen al
antecedente X, y las características en C pertenecen al consecuente Y, tales que:
[
30
]
donde li y lj representan el límite inferior de los intervalos para Fi y Fj respectivamente y la
pareja ui y uj el límite superior. Por ejemplo, una QAR podría ser numéricamente expresada
como:
F1
[12, 25]
F3
[5, 9] ⇒ F2
[3, 7]
F5
[2,8]
donde F1 y F3 constituyen las características que aparecen en el antecedente y F2 y F5 lasque
aparecen en el consecuente. Sin embargo, la mayoría de las aplicaciones a datos que
contienen atributos numéricos suelen ser abordados por una previa discretización de estos
atributos numéricos. Como se comentó al inicio de esta memoria, la propuesta desarrollada, a
diferencia de estos métodos, tratará los atributos continuos sin necesidad de discretizar los
datos previamente.
Tabla 2. Datos de ejemplo.
Transacción
t1
t2
t3
t4
t5
t6
t7
t8
t9
t10
F1
178
186
167
199
154
173
177
159
183
178
F2
75
93
60
112
47
83
91
53
88
93
F3
24
37
22
30
42
33
63
48
35
58
Si estamos trabajando con Reglas de Asociación Cuantitativas (QAR) consideremos una regla
ejemplo:
F1
[180; 189] F2
[85; 95] ⇒ F3
[33; 36]
Para este caso, el soporte del antecedente es del 20 %, ya que2 transacciones, t2 y t9,
simultáneamente satisface que F1 y F2 pertenece a los intervalos[180,189] y [85,95],
respectivamente (2 transacciones de 19, sop(A) = 0.2). En cuanto al soporte del consecuente,
sop(C) = 0.2 porque sólo las transacciones t6 y t9 satisfacen queF3 [33, 36]. En cuanto a la
confianza, sólo una transacción t9 satisface los tres atributos (F1 y F2 en el antecedente, y F3
en el consecuente) que aparecen en la regla. En otras palabras, sop(A ⇒C) = 0.1.
Consecuentemente, conf(A ⇒ C) = 0.1/0.2 = 0.5, esto es, la regla tiene una confianza del 50%.
Finalmente, el lift (o interés) es lift(A ⇒ C) = 0.1/(0.2*0.2) = 2.5,ya que sop(A ⇒ C = 0.1, sop(A)
= 0.2 y sop(C) = 0.2, como se discutió antes.
31
2.2.4
Algoritmo a priori.
El algoritmo Apriori [4], desarrollado por Agrawal y Srikant en 1994, es el algoritmo para
encontrar reglas de asociación más conocido y citado en la literatura que sirve de base para la
mayoría de los algoritmos. La principal mejora respecto a los algoritmos AIS [4]y SETM [11] se
encuentra en la forma de generar los conjuntos candidatos, puesto que obliga a cumplir la
propiedad de los conjuntos frecuentes: cualquier subconjunto de un conjunto frecuente debe
ser también un conjunto frecuente.
Mediante esta propiedad se consigue que no se construyan muchos de los conjuntos
frecuentes que necesitaban los algoritmos AIS y SETM.
El algoritmo Apriori se usa en minería de datos para encontrar reglas de asociación en un
conjunto de datos. Este algoritmo se basa en el conocimiento previo o “a priori” de los
conjuntos frecuentes. Utiliza una estrategia de búsqueda primero en amplitud. Cabe destacar
que este algoritmo trabaja discretizando previamente los valores. De este algoritmo existen
diferentes variantes. Está disponible en WEKA.
Conceptualmente, el algoritmo Apriori tiene dos pasos para generar los conjuntos de kitemsets frecuentes:

Obtención de k-ítems candidatos a ser frecuentes.

Obtención de los k-itemsets candidatos. Se obtiene eliminando los que no tengan
todos sus subconjuntos frecuentes.
Si calculamos el soporte de los itemsets. Se obtiene el conjunto resultante de eliminar aquellos
subconjuntos que no superen el soporte mínimo.
El algoritmo ataca el problema reduciendo el número de conjuntos considerados. El usuario
define un soporte mínimo, minsop. Apriori genera todos los conjuntos que cumplen con la
condición de tener un soporte mayor o igual a minsop. Para cada conjunto frecuente X se
generan todas las reglas de asociación que lo contengan. Cualquier regla que no satisfaga las
restricciones impuestas por el usuario, como por ejemplo la confianza mínima, se desechan, y
las reglas que si lo cumplen se conservan.
Guardando todos los conjuntos frecuentes y su soporte, tenemos toda la información
requerida para generar y evaluar las reglas de asociación que satisfacen minsop.
En la solución del problema del carro de la compra del supermercado, cada producto individual
aparece solamente en una pequeña cantidad total de las transacciones. Así el número de
conjuntos frecuentes es relativamente bajo, aun cuando minsop sea un valor muy pequeño.
Por eso, el utilizar conjuntos frecuentes permite reducir el espacio de búsqueda a un tamaño
más manejable, debido a que los datos del carro de la compra se encuentran muy dispersos.
La búsqueda inicial de reglas de asociación permite encontrar todas las asociaciones que
satisfagan una restricción inicial de soporte y confianza. Esto puede llevar a obtener una gran
cantidad de reglas de asociación a partir de los datos, las cuales no serían manejables. Por
32
tanto es deseable reducir el número de reglas de tal manera que sólo queden las más
interesantes.
2.2.5
Otros algoritmos de extracción de reglas de asociación.
A continuación se describen otros de los algoritmos existentes en la literatura para la
extracción de reglas de asociación de los que se dispone su implementación.
2.2.5.1 Eclat [12].
Los algoritmos del tipo Eclat, fueron introducidos en [12], reducen la cantidad de operaciones
de E/S, aunque esta vez atravesando la base de datos sólo una vez. Se basan en realizar un
agrupamiento (clustering) entre los ítems para aproximarse al conjunto de ítems frecuentes
maximales y luego emplean algoritmos eficientes para generar los ítems frecuentes contenidos
en cada grupo. Para el agrupamiento proponen dos métodos que son empleados después de
descubrir los conjuntos frecuentes de dos elementos: el primero, por clases de equivalencia:
esta técnica agrupa los itemsets que tienen el primer ítem igual. El segundo, por la búsqueda
de cliques maximales: se genera un grafo de equivalencia cuyos nodos son los ítems, y los
arcos conectan los ítems de los 2-itemsets frecuentes, se agrupan los ítems por aquellos que
forman cliques maximales. Al igual que Apriori, trabaja con valores discretizados. Está
disponible en el paquete arule de R system.
2.2.5.2 FP-Growth[13].
Este algoritmo está basado en una representación de árbol de prefijos de una base de datos de
transacciones llamado FP-Tree Frequent Pattern Tree. La idea básica del algoritmo FP-Growth
(Frequent Pattern Growth) puede ser descrita como un esquema de eliminación recursiva: en
un primer paso de preprocesamiento se borran todos los ítems de las transacciones que no
son frecuentes individualmente o no aparecen en el mínimo soporte de transacciones, luego
se seleccionan todas las transacciones que contienen al menos un ítem frecuente, se realiza
esto de manera recursiva hasta obtener una base de datos reducida. Al volver, se borran los
ítems procesados de la base datos de transacciones en la memoria y se empieza otra vez, y así
con el siguiente ítem frecuente. Los ítems en cada transacción son almacenados y luego se
ordena descendentemente su frecuencia en la base de datos.
Después de que se han borrado todos los ítems infrecuentes de la base de datos de
transacciones, se pasa al árbol FP. En un árbol FP cada camino representa el grupo de
transacciones que comparten el mismo prefijo, cada nodo corresponde a un ítem. Todos los
nodos que referencian al mismo ítem se ponen juntos en una lista, de modo que todas las
transacciones que contienen un ítem específico pueden encontrarse fácilmente y contarse en
la lista. Esta lista puede ser indexada a través de la cabeza, lo cual también expone el número
total de ocurrencias del ítem en la base de datos.
2.2.6
Herramientas de uso de Reglas de Asociación.

RapidMiner/YALE[17]http://rapid-i.com/content/view/181/190/.

Orange

Ruby implementation (AI4R)
33
34

Arules

Frequent Itemset Mining Implementations Repository (FIMI)

Frequent pattern mining implementations from Bart Goethals

WEKA

KNIME

Data Mining Software by Mohammed J. Zaki

Magnum Opus, a system for statistically sound association discovery.

LISpMiner

FerdaDataminer

STATISTICA

Open Standards

Association Rules in PMML: http://www.dmg.org/v4-0/AssociationRules.html
3 Estado del arte.
Una rigurosa revisión de los trabajos publicados recientemente revela que la extracción de AR
con atributos numéricos es un tema emergente desde que fue introducido por primera vez en
[18].
Los algoritmos genéticos se han utilizado con profusión para generar reglas en muchos
problemas de aprendizaje[19][20][21]. Además, los algoritmos genéticos se utilizan como una
herramienta en muchos problemas del mundo real, tales como planificación [22],
predicción[23], diseño[24] o clasificación[19]. También son estrategias comunes en la
computación evolutiva, la hibridación con lógica difusa[25], redes neuronales [26]o simulación
[27].
Sin embargo, muchos investigadores se centran en bases de datos con atributos discretos,
mientras que la mayoría de las bases de datos del mundo real contienen fundamentalmente
atributos continuos, como en el caso del análisis de series temporales [28].Además, la mayoría
de las herramientas que aparentemente trabajan en dominios continuos simplemente
discretizan los atributos usando una estrategia específica y después, tratan esos atributos
como si fueran discretos [29][4].
Una revisión de la reciente literatura publicada revela que la mayoría de los trabajos que
proporcionan metaheurísticas y algoritmos de búsqueda relacionados con AR con atributos
continuos es escaso. Así, los autores de [30]proponen un algoritmo evolutivo para descubrir
reglas de asociación numéricas, dividiendo el proceso en dos fases. En la primera encuentran
los conjuntos de atributos que están presentes frecuentemente en la base de datos llamados
frequent itemsets. En la segunda fase, se extraen reglas se extraen de los conjuntos calculados
con anterioridad.
El trabajo presentado en[31]estudió el conflicto entre problemas de soporte y confianza
mínimos. Se propone un método para encontrar AR cuantitativas mediante clustering de las
transacciones de una base de datos. Posteriormente, esas agrupaciones se proyectaron en los
dominios de los atributos para crear intervalos significativos que podrían ser solapados.
En[32], se estudiaron series temporales hidrológicas . Primero, los atributos numéricos se
transformaron en intervalos mediante técnicas de clustering. Después, las AR se generaron
haciendo uso del conocido algoritmo Apriori[4].
Un sistema clasificador fue presentado en [33]con el objetivo de extraer AR cuantitativas sobre
flujos de datos data streams (tanto numéricos como categóricos) sin etiquetas. La principal
novedad de este enfoque radica en la eficiencia y la adaptabilidad de los datos recogidos online.
Una optimización meta heurística basada en técnicas de enjambre de partículas aproximado se
presentó en[34]. En este caso, la singularidad fue la obtención de los valores que determinan
los intervalos para reglas de asociación en lugar de conjuntos de elementos frecuentes.
Evaluaron y probaron varios operadores nuevos tales como redondeo, reparación y filtrado en
datos sintéticos.
35
MODENAR es un algoritmo genético basado en frente pareto multi-objetivo que fue
presentado en [35]. La función fitness estaba compuesta de cuatro objetivos diferentes:
soporte, confianza, comprensibilidad de la regla (para ser maximizado) y la amplitud de los
intervalos que constituyen la regla (para ser minimizado).
El trabajo publicado en [12] presentó un nuevo enfoque basado en tres nuevos algoritmos:
clustering valor-intervalo, clustering intervalo-intervalo y clustering matriz-intervalo. Su
aplicación fue encontrada especialmente útil en la extracción de información compleja.
Otro GA fue usado en [36] para obtener AR numéricas. Sin embargo, el único objetivo a
optimizar en la función fitness fue la confianza. Para satisfacer este propósito los autores
evitan especificar umbrales para el soporte mínimo, lo cual fue la principal contribución de
este trabajo.
El uso de AR en bioinformática es también muy extendido. En el trabajo de [37]se analizaron
datos de microarray utilizando reglas de asociación cuantitativas. Para ello, eligieron una
variante del algoritmo introducido en [38], basado en espacios medios o combinaciones
lineales de variables delimitadas contra una constante. Por otra parte, Gupta et al. extrajeron
reglas de asociación para secuencias de proteínas [39] y por esta razón se propone un nuevo
algoritmo con cuatro pasos a seguir. Primero se hace una partición equidistante de los
atributos, en segundo lugar, las particiones se asignan a enteros consecutivos, que
representan los intervalos; tercero, encuentran el soporte de todos los intervalos; y,
finalmente usan los conjuntos frecuentes para generar reglas de asociación. Por otra parte, los
autores en [40]propusieron un nuevo método de extracción de reglas de asociación
temporales basados en el algoritmo Apriori. Por lo tanto, se identificaron dependencias
temporales de series temporales relacionadas con genes.
Las reglas de asociación han sido aplicadas en conjuntos difusos por varios autores. Kaya y
Alhajj primero propusieron un framework basado en algoritmos genéticos para extraer reglas
de asociación difusas en[41]. Para ser precisos, se presentó un método de clustering para
ajustar los centroides de los clústeres y a continuación, proporcionaron un enfoque diferente
basado en el conocido algoritmo de clustering CURE[42] para generarlas funciones de
pertenencia. Más tarde, en [43]introdujeron un algoritmo genético para optimizar las
funciones de pertenencia para extraer reglas de asociación ponderadas difusas. Su propuesta
se ajusta automáticamente a estos conjuntos para proporcionar un mínimo de soporte y
confianza. Para conseguir este objetivo, los valores base de las funciones de pertenencia para
cada atributo cuantitativo se refinaron mediante la maximización de dos funciones de
evaluación diferentes; el número de conjuntos frecuentes grandes y el promedio del intervalo
de confianza de las reglas generadas. Por otra parte, Alcalá-Fdez et al. [44]presentaron un
nuevo algoritmo para extraer reglas de asociación difusas y funciones de pertenencia por
medio de aprendizaje evolutivo basado en el modelo de representación de2−tuplas.
Finalmente, Ayubi et al. [45]propusieron un algoritmo que extraía reglas generales cuya
aplicabilidad osciló desde atributos discretos a atributos discretizados cuantitativos. Es decir,
almacenan conjuntos frecuentes generales en una estructura en árbol para ser recursivamente
computados. Dirigen igualmente las reglas de asociación en forma de tabla permitiendo un
conjunto de operadores diferentes.
36
En cuanto a las series temporales, en [46] se proponen técnicas de minería de datos para
descubrir AR de las mismas. Los autores extraen satisfactoriamente datos temporales
recuperados de múltiples sesiones de hemodiálisis mediante la aplicación de
preprocesamiento, reducción de datos y filtrado como un paso previo al proceso de extracción
de reglas de asociación. Finalmente, las AR fueron obtenidas siguiendo la conocida estrategia
de generación de itemset de Apriori[4].
En [47]se introduce un algoritmo para descubrir patrones temporales frecuentes y reglas de
asociación temporales. El algoritmo extiende el algoritmo MEMISP [48]que descubre patrones
secuenciales mediante técnicas recursivas find-then-index. Fue especialmente notable la
restricción de distancia máxima incluida para eliminar patrones insignificantes reduciendo, por
lo tanto, el número de reglas de asociación temporales.
En el trabajo introducido en [49]aplican minería de datos sobre series temporales de datos del
océano para descubrir relaciones entre las variaciones de salinidad y temperatura.
Concretamente, los autores descubrieron patrones espacio-temporales de las variables
anteriormente mencionadas y presentaron QAR usando los algoritmos PrefixSpan y
FITIc[50][51].
El concepto de ventana deslizante ha sido aplicado con éxito para predecir series temporales
en[52][53]. Sin embargo, este concepto ha sido utilizado recientemente [54]con el propósito
de obtener un bajo uso de memoria y bajo coste computacional basado en el algoritmo Apriori
para descubrir itemsets cuyo soporte aumente con el tiempo de las series temporales.
37
38
4 Metodología.
En este capítulo se describe la metodología utilizada para la obtención de reglas de asociación.
En particular, se presenta una descripción del algoritmo en la sección 4.1. A continuación, en la
sección 4.2, se formaliza dicho algoritmo proporciona el modelo matemático subyacente. Por
último, en las secciones 4.3 y 4.4 se explica el procedimiento para obtener las mejores reglas
de asociación, atendiendo a dos criterios diferentes: maximización del lift y maximización del
promedio de los parámetros de calidad estudiados.
4.1 Descripción del algoritmo.
En términos generales, nuestro algoritmo se divide en tres partes:

Una primera parte, que consiste en un formulario donde indicamos el numero de
atributos con los que vamos a generar nuestras reglas a partir de la base de datos, así
como un rango de consecuentes de dichos datos con los que vamos a trabajar, de
manera que nos centramos en generar únicamente reglas cuyos consecuentes se
encuentren en el intervalo marcado en el formulario y que contengan tantos atributos
como atributos hallamos marcado en el mismo. Hemos de tener en cuenta que no
podemos indicar mas atributos de los que realmente contienen nuestros datos.

Una segunda parte que genera de manera aleatoria un número de reglas a partir de
los datos que tenemos en la base de datos. Optamos por generar las reglas de manera
aleatoria por el alto coste computacional que tendría hacerlo con todas las
posibilidades.

Una tercera parte que calcula algunas medidas para cada una de las reglas y genera
diferentes ficheros que contienen:
o
El numero de reglas tratadas en total y las medidas para cada regla.
o
Las 10 reglas que obtengan la mejor puntuación para el lift.
o
Las 10 reglas que obtengan la mejor puntuación para la media de todas sus
reglas, una vez hayamos normalizado todas.
Para explicar el procedimiento, estudiamos el siguiente ejemplo:
Imaginemos que seleccionamos trabajar con 3 atributos, y con un rango de consecuentes
entre 3.2 y 6. Del total de filas de la base de datos, nos quedaríamos únicamente con las filas
sombreadas, tal y como muestra la siguiente tabla:
Tabla 3. Conjunto de datos de ejemplo.
Atributo 1
2
7
1
4
8
5
2
Atributo 2
46
35
34
44
43
32
34.5
Atributo 3
64
89
76
72
76
87
73
Consecuente
1.1
3.2
3.4
6
5
8
4
39
El siguiente paso es ordenar todos los atributos de los datos seleccionados de menor a mayor,
de forma que obtenemos una matriz de datos como la siguiente:
Tabla 4. Conjunto de datos ordenados de menor a mayor.
Atributo 1
1
2
4
7
8
Atributo 2
34
34.5
35
43
44
Atributo 3
72
73
76
76
79
Nos encontramos en la segunda parte de nuestro algoritmo. Tenemos que generar nuestras
reglas a partir de los datos ordenados de mayor a menor, de forma aleatoria, con la condición
de que si en alguno de los rangos, el valor se repite, esa regla no es valida y queda descartada.
Dado que estamos trabajando con tres atributos, vamos a obtener tres rangos (uno para cada
atributo) Para generar nuestras reglas vamos a iterar tantas veces como número de filas
estemos tratando y en cada iteración vamos a comprobar que la regla que vamos a generar
cumple con una serie de condiciones que explicamos más adelante. En nuestro caso vamos a
iterar cinco veces, (dado que existen cinco filas con el consecuente entre el rango marcado en
el formulario) y vamos a obtener de forma aleatoria una serie de reglas. Para explicar todo
este procedimiento, volvemos a la tabla 4, que contiene los datos ordenados de menor a
mayor, y añadimos una columna que representa el numero de fila (a partir de ahora posición).
Tenemos algo tal que así:
Posición
0
1
2
3
4
Atributo 1
1
2
4
7
8
Atributo 2
34
34.5
35
43
44
Atributo 3
72
73
76
76
79
Hemos mencionado que para generar nuestras reglas, iteramos tantas veces como numero de
filas resulten de los datos indicados en el formulario. En cada iteración generamos los rangos
de la regla. Para generar cada rango, marcamos una posición que representa el valor inferior
del rango, y otra posición que representa el valor superior para cada uno de los atributos.
Dichas posiciones se generan de manera aleatoria, teniendo en cuenta que la posición del
rango superior siempre sea mayor a la del rango inferior, esto nos permite minimizar la
posibilidad de que los valores del rango sean iguales, dado que trabajamos con los datos
ordenados de menor a mayor, una posición mayor, deberá contener un valor mayor. Por
ejemplo, si tenemos un rango con las posiciones 0,1 para el atributo 1, el rango sería (1,2),
donde la posiciones representa la fila para ese rango. Siguiendo este procedimiento cinco
veces (hemos dicho que iteramos cinco veces) obtenemos las siguientes reglas:
40
Tabla 5. Reglas obtenidas de forma aleatoria. Provisional.
Regla 1
Regla 2
Regla 3
Regla 4
Regla 5
Rango 1
(1,2)
(4,7)
(2,7)
(4,8)
(2,4)
Rango 2
(34.5,35)
(35,43)
(35,43)
(43,44)
(34,34.5)
Rango 3
(76,79)
(72,73)
(76,76)
(73,76)
(73,79)
Observamos que el Rango 3 para la tercera regla, lo hemos marcado en rojo. Con esto
queremos indicar que esa regla no sería valida y realmente no debería de aparecer en la
matriz. Dado que generamos los rangos a partir de las posiciones generadas de forma
aleatoria, cabe la posibilidad de obtener un rango con el valor inferior y superior iguales,
aunque la posición superior sea mayor que la inferior. Esto nos ocurre con el tercer atributo y
las posiciones 2 y 3. Tal y como se ha mencionado, esta regla no sería valida, y no se tendría en
cuenta. La matriz de reglas generadas sería tal que así:
Tabla 6. Reglas obtenidas de forma aleatoria. Definitiva.
Regla 1
Regla 2
Regla 4
Regla 5
Rango 1
(1,2)
(4,7)
(4,8)
(2,4)
Rango 2
(34.5,35)
(35,43)
(43,44)
(34,34.5)
Rango 3
(76,79)
(72,73)
(73,76)
(73,79)
El siguiente paso es calcular una serie de medidas para cada regla. Las medidas que vamos a
calcular son:

Confianza.

Lift.

Conviction.

Gain.
Esto implica que para cada una de las reglas calculemos el Soporte del antecedente (SopA), el
Soporte del consecuente (SopC) y el Soporte del antecedente y consecuente a la vez (SopAC).
De nuevo, realizamos una comprobación, ya que si el SopA o el SopAC es 0, la regla que
estamos tratando queda descartada.
Llegados a este punto nos encontramos en la tercera fase de nuestro algoritmo. En esta fase,
se realiza un filtrado de las reglas obtenidas y generamos tres ficheros:

El primer fichero se llama reglas.txt, y contiene todas las reglas que se hayan
generado, teniendo en cuenta las cuestiones antes mencionadas:
1. No puede existir un rango con el valor superior e inferior iguales.
41
2. El SopA de la regla, así como el SopAC, tienen que ser distintos que cero.

El segundo fichero se llama estrategia1.txt.
 El tercer fichero se llama estrategia 2.txt.
4.2 Formalización del algoritmo.
{
} un conjunto de características con valores en
Sea
terremoto. Las deseadas reglas son definidas por la siguiente ecuación:
que describen un
⇒
Dónde y representan el limite inferior y superior del intervalo para respectivamente, y
los limites y
son los limites dados en función de los objetivos del problema que se desea
resolver. En el contexto de series de tiempo sísmicas, representa la magnitud del terremoto
que se quiere predecir y los límites y
dependen del tamaño requerido de los terremotos
que se van a pronosticar.
El método propuesto para obtener reglas de asociación cuantitativas (QAR) se describe como
sigue. Primero, el conjunto de datos se ordena por la característica , que representa el
consecuente de la regla. Una vez que se establecen los límites
y , el rango de las
características restantes se calcula como:
{
Sean
donde (
y
con
}
dos funciones definidas por:
{
(
)}
{
(
)}
) es el número de elementos del conjunto
.
Sea el conjunto de pares de valores tales que la amplitud del intervalo a buscar para la
característica
sea suficientemente pequeña. Esto es,
{
}
donde
es la amplitud máxima permitida para la característica
dado dependiendo de las reglas deseadas.
Así, para cualquier valor (
menor son:
)
, las reglas generadas por los valores k-mayor y k-
[
42
, que es un parámetro
( )
(
)] ⇒
4.3 Obtención de reglas de asociación raras.
Se explica aquí la primera de las estrategias utilizadas para la obtención de reglas de
asociación. En particular, nos interesamos por aquellas reglas que posean un Lift elevado, ya
que serán aquellas reglas que representen confianzas elevadas y soportes de consecuente
pequeños.
Generamos el fichero “estrategia1.txt”. Este fichero contiene las 10 reglas con la mejor
puntuación para la medida lift, tras haber ejecutado el algoritmo 100 veces. El procedimiento
es bastante simple:
1. Se calcula el lift para todas las reglas obtenidas a partir de los datos del formulario.
2. Se ordena la matriz de reglas obtenidas en función de la medida lift de mayor a menor.
3. Imprimimos en el fichero las 10 primeras reglas de la matriz, que contienen las reglas
con la mejor medida para el Lift tras la ordenación.
Un ejemplo de este fichero lo tenemos en la siguiente imagen:
Figura 2. Estrategia1.txt. Ejemplo de resultados obtenidos.
En la imagen no aparecen todos los resultados generados en el fichero, tan solo una muestra
de tres reglas. En la cabecera se imprimen algunos datos que pueden sernos de utilidad, como
el intervalo marcado en el formulario para el consecuente, el número total de reglas obtenidas
y la medida que hemos utilizado para la ordenación (podemos ordenar por otras medidas,
aunque en este punto nos centramos en la ordenación por Lift).
43
4.4 Obtención de reglas de asociación compensadas.
Se explica aquí la segunda de las estrategias utilizadas para la obtención de reglas de
asociación. En particular, nos interesamos por aquellas reglas que posean un promedio de
todas las reglas elevado.
Generamos el fichero “estrategia2.txt”. Este fichero contiene las 10 reglas con la mejor
puntuación para el promedio de las medidas calculadas, tras haber ejecutado el algoritmo 100
veces. El procedimiento es bastante simple:
1. Se normaliza el Lift para todas las reglas dividiendo el valor del Lift de cada regla por el
valor del Lift para la regla con mayor Lift.
2. Se normaliza el Conviction para todas las reglas dividiendo el valor del Conviction de
cada regla por el valor del Conviction para la regla con mayor Conviction.
3. A continuación se calcula el promedio de las medidas. Para ello se suma el valor de
todas las medidas, utilizando el Lift y el Conviction normalizado que acabamos de
calcular, y dividiendo entre cuatro, ya que estamos trabajando con cuatro medidas.
(Confianza, Lift, Conviction y Gain).
4. Se ordena la matriz de reglas obtenidas en función de la medida ponderada de mayor
a menor.
5. Imprimimos en el fichero las 10 primeras reglas de la matriz, que contienen las reglas
con la mejor medida ponderada tras la ordenación.
Un ejemplo de este fichero lo tenemos en la siguiente imagen:
Figura 3. Estrategia2.txt. Ejemplo de resultados obtenidos.
44
En la Figura 4 no aparecen todos los resultados generados en el fichero, tan solo una muestra
de tres reglas. En la cabecera se imprimen algunos datos que pueden sernos de utilidad, como
el intervalo marcado en el formulario para el consecuente, el número total de reglas obtenidas
y la medida que hemos utilizado para la ordenación (podemos ordenar por otras medidas,
aunque en este punto nos centramos en la ordenación por la media de las medidas).
45
46
5 Resultados.
5.1 Descripción de la base de datos.
El conjunto de datos utilizados en este trabajo se ha obtenido del catalogo del Instituto
Geográfico Nacional (IGN), que contiene información sobre la localización y magnitud de
terremotos en España.
Adicionalmente, se ha calculado el parámetro b-value de la ley de Gutenberg-Richter [50], ya
que refleja las propiedades geofísicas y tectónicas de las rocas así como las variaciones de
presión de fluido en la superficie caracterizada.
Cada muestra de la base de datos esta compuesta por cuatro atributos:

Momento en el que ocurrió el terremoto (tiempo).

b-value asociado.

Magnitud del terremoto actual (Mc).

Magnitud del terremoto anterior (Mp).
Cabe destacar que terremotos con una magnitud inferior a 3.0, las replicas y los temblores han
sido eliminados para evitar dependencia entre datos.
Aunque la Península Ibérica se divide en 27 zonas sismogenéticas, de acuerdo al IGN, tan solo
se estudian las zonas 26 (Mar de Alborán) y 27 (la Falla Occidental Azores-Gibraltar) dado que
son las zonas más activas. Se han analizado un total de 873 terremotos entre los años 1981 y
2008.
5.2 Tablas de resultados.
En este apartado se analizan los datos resultantes tanto en la obtención de reglas de
asociación raras, como en la obtención de reglas de asociación compensadas.
Como el objetivo es encontrar patrones para predecir la ocurrencia de terremotos, la magnitud
del terremoto actual, Mc, es de forma obligada el único atributo del consecuente.
Mientras que para estudiar reglas de asociación raras (Estrategia 1) el atributo Mc se estudia en
el intervalo [4.4,6.2], para obtener reglas de asociación compensadas (Estrategia 2), dicho
atributo se divide en tres intervalos sin solapamiento, de forma que estudiamos terremotos de
una baja magnitud [3.0, 3.5), terremotos de una magnitud media [3.5,4.4) y grandes
terremotos con una elevada magnitud [4.4, 6.2] (teniendo en cuenta que el terremoto de
mayor magnitud analizado es de 6.2).
En todas las tablas se distinguen las siguientes columnas:

Tiempo: Representa el incremento de tiempo transcurrido en años desde la ocurrencia
del terremoto anterior.
47

b-value: Representa el incremento del b-value asociado al terremoto.

Mp: Representa el incremento de la magnitud del terremoto ocurrido con anterioridad.
Además, para evaluar la calidad de las reglas, se muestran las siguientes columnas:

Confianza: Representa la confianza para la regla calculada.

SopA: Representa el soporte del antecedente para la regla calculada.

SopC: representa el soporte del consecuente para la regla calculada.

Lift: Representa el valor del Lift para la regla calculada.

Promedio: Representa el promedio de las medidas calculadas (Confianza, Lift,
Conviction, Gain).
5.2.1
Estrategia 1. Reglas de asociación raras.
En este apartado estudiamos el atributo Mc en el intervalo [4.4,6.2], lo que supone una
magnitud elevada. Nos interesamos por aquellas reglas que posean un Lift elevado, ya que
serán aquellas reglas que representen confianzas elevadas y soportes de consecuente
pequeños.
Los datos obtenidos tras la ejecución del algoritmo 100 veces se presentan en la siguiente
tabla:
Tabla 7. Reglas de asociación raras con consecuente
Tiempo
b-Value
Magnitud
Confianza
SopAC
Lift
(0.026,0.100)
(-0.098,-0.053)
(3.900,4.400)
1.000
0.001
16.472
(0.001,0.019)
(-0.058,-0.016)
(3.700,4.000)
0.778
0.008
12.811
(0.019,0.331)
(-0.057,-0.016)
(4.400,5.200)
0.750
0.003
12.354
(0.002,0.030)
(-0.119,-0.019)
(3.900,6.200)
0.727
0.009
11.979
(0.011,0.100)
(-0.119,-0.046)
(3.400,5.000)
0.600
0.010
9.883
(0.009,0.331)
(-0.074,-0.053)
(4.000,5.300)
0.500
0.002
8.236
(0.011,0.060)
(-0.070,-0.043)
(3.900,5.000)
0.400
0.002
6.589
(0.020,0.331)
(-0.024,-0.012)
(4.100,4.700)
0.333
0.001
5.491
(0.030,0.080)
(-0.083,-0.011)
(3.800,4.400)
0.250
0.002
4.118
(0.055,0.137)
(-0.039,-0.010)
(3.600,5.000)
0.250
0.001
4.118
La primera de las conclusiones que se pueden sacar tras la observación de la Tabla 7 es que
antes de la ocurrencia de un terremoto de magnitud elevada suceden grandes decrementos
del valor de b. Esto es, descensos acusados en dicho valor son precursores de terremotos de
magnitud mayor que 4.4.
Del mismo modo, hay que precisar qué significa acusado. Si nos fijamos en los intervalos de
tiempo transcurridos todos oscilan alrededor de 0.1, es decir, aproximadamente un mes.
48
En definitiva, podemos concluir que si transcurrido un mes, el valor de b ha descendido en un
intervalo aproximado de [-0.15, -0,05] existirá una probabilidad muy elevada (confianzas
rozando el 1.0) de que ocurra un terremoto de magnitud mayor de 4.4.
5.2.2
Estrategia 2. Reglas de asociación compensadas.
Nos interesamos por aquellas reglas que posean un promedio de las medidas elevado. Como
se ha mencionado anteriormente, estudiamos el atributo Mc en tres intervalos, que
corresponden a terremotos de una baja, media y alta magnitud respectivamente.
5.2.2.1 Reglas de asociación compensadas para terremotos de baja magnitud.
En este apartado estudiamos el atributo Mc en el intervalo [3.0, 3.5), lo que supone una
magnitud pequeña.
Los datos obtenidos tras la ejecución del algoritmo 100 veces se presentan en la siguiente
tabla:
Tabla 8. Reglas de asociación compensadas con consecuente
Tiempo
b-Value
Magnitud
Confianza
SopAC
Lift
Promedio
(0.000,0.091)
(0.023,0.069)
(3.000,3.300)
0.980
0.057
1.798
0.849
(0.010,0.286)
(0.022,0.034)
(3.000,4.000)
0.977
0.048
1.791
0.846
(0.001,0.039)
(0.017,0.121)
(3.100,3.300)
0.969
0.036
1.777
0.840
(0.151,0.362)
(0.011,0.056)
(3.000,3.700)
0.955
0.024
1.751
0.830
(0.033,0.109)
(0.013,0.048)
(3.200,4.400)
0.952
0.023
1.747
0.700
(0.014,0.062)
(0.025,0.071)
(3.000,5.300)
0.938
0.034
1.719
0.660
(0.014,0.366)
(0.020,0.047)
(3.100,3.800)
0.936
0.050
1.717
0.657
(0.004,0.025)
(0.018,0.041)
(3.000,3.500)
0.931
0.031
1.708
0.646
(0.005,0.109)
(0.021,0.050)
(3.100,3.400)
0.926
0.029
1.698
0.637
(0.001,0.013)
(0.037,0.064)
(3.000,4.900)
0.923
0.014
1.693
0.632
(0.070,0.235)
(0.012,0.042)
(3.200,3.300)
0.917
0.013
1.681
0.621
Es importante resaltar que el promedio de las medidas se ha realizado normalizando todas
ellas, de tal manera que todos los valores estén comprendidos entre 0 y 1.
Como se puede observar, todas las reglas obtenidas tienen una elevada confianza y un lift
superior a 1, que es, como se dijo, el umbral para considerar una regla como interesante. Si
nos ceñimos a los intervalos de los atributos en el antecedente se pueden sacar las siguientes
conclusiones. En primer lugar, la magnitud del terremoto anterior suele ser pequeña,
oscilando entre de 3 y 3.5 en la mayoría de los casos. Además, el incremento del valor b
siempre es moderadamente positivo (a diferencia de los demás casos) y el tiempo transcurrido
es de aproximadamente 0.2 años, o lo que es lo mismo, unos dos meses y medio.
En conclusión, podemos afirmar que si el b-value se mantiene más o menos constante, tal vez
con un ligero incremento, que el terremoto anterior no tuvo una magnitud demasiado elevada
49
y que el tiempo transcurrido ronda los dos meses, existe una probabilidad muy elevada de que
el siguiente terremoto tenga una magnitud comprendida en el intervalo [3.0, 3.5).
5.2.2.2 Reglas de asociación compensadas para terremotos de magnitud media.
En este apartado estudiamos el atributo Mc en el intervalo [3.5, 4.4), lo que supone una
magnitud media.
Los datos obtenidos tras la ejecución del algoritmo 100 veces se presentan en la siguiente
tabla:
Tabla 9. Reglas de asociación compensadas con consecuente
Tiempo
b-Value
Magnitud
Confianza
SopAC
Lift
Promedio
(0.004,0.096)
(-0.024,-0.006)
(3.900,4.200)
0.909
0.011
2.307
0.833
(0.024,0.118)
(-0.066,-0.020)
(3.500,4.700)
0.889
0.018
2.256
0.818
(0.010,0.070)
(-0.047,-0.028)
(3.200,4.600)
0.882
0.017
2.239
0.813
(0.007,0.039)
(-0.008,-0.003)
(3.500,3.700)
0.875
0.008
2.221
0.793
(0.005,0.045)
(-0.065,-0.007)
(4.300,5.100)
0.857
0.007
2.175
0.750
(0.005,0.187)
(-0.049,-0.019)
(3.200,4.600)
0.845
0.056
2.144
0.725
(0.006,0.074)
(-0.048,-0.024)
(3.400,3.900)
0.833
0.017
2.115
0.703
(0.018,0.020)
(-0.026,-0.008)
(3.400,3.900)
0.833
0.006
2.115
0.703
(0.001,0.227)
(-0.009,-0.006)
(3.900,5.900)
0.833
0.011
2.115
0.703
(0.003,0.013)
(-0.005,0.001)
(3.900,4.100)
0.833
0.006
2.115
0.703
Es importante resaltar que el promedio de las medidas se ha realizado normalizando todas
ellas, de tal manera que todos los valores estén comprendidos entre 0 y 1.
Como se puede observar, todas las reglas obtenidas tienen una elevada confianza y un lift
superior a 2, lo que indica que son reglas de alta calidad. En cuanto a los intervalos de los
atributos en el antecedente se pueden sacar las siguientes conclusiones. En primer lugar, la
magnitud del terremoto anterior suele ser moderada, oscilando entre de 3.5 y 4.5 en la
mayoría de los casos. Además, el incremento del valor b es moderadamente negativo y el
tiempo transcurrido es de aproximadamente 0.1 años, o lo que es lo mismo, algo más de un
mes.
En conclusión, podemos afirmar que si el b-value se mantiene más o menos constante, pero
con un ligero decremento, que el terremoto anterior tuvo una magnitud moderada y que el
tiempo transcurrido es de aproximadamente un mes, existe una alta probabilidad de que el
siguiente terremoto tenga una magnitud comprendida en el intervalo [3.5, 4.4).
50
5.2.2.3 Reglas de asociación compensadas para terremotos de magnitud alta.
En este apartado estudiamos el atributo Mc en el intervalo [4.4, 6.2], lo que supone una
magnitud alta.
Los datos obtenidos tras la ejecución del algoritmo 100 veces se presentan en la siguiente
tabla:
Tabla 10. Reglas de asociación compensadas con consecuente
Tiempo
b-Value
Magnitud
Confianza
SopAC
Lift
Promedio
(0.001,0.026)
(-0.162,-0.013)
(3.900,4.100)
0.800
0.009
13.177
0.835
(0.001,0.019)
(-0.153,-0.026)
(3.600,4.400)
0.778
0.008
12.811
0.818
(0.000,0.019)
(-0.162,-0.018)
(4.100,4.400)
0.750
0.003
12.354
0.797
(0.137,0.331)
(-0.057,-0.011)
(5.200,5.300)
1.000
0.001
16.472
0.735
(0.009,0.144)
(-0.039,-0.011)
(5.200,6.200)
1.000
0.001
16.472
0.735
(0.001,0.004)
(-0.046,-0.024)
(3.700,4.400)
1.000
0.003
16.472
0.735
(0.012,0.019)
(-0.098,-0.027)
(3.500,4.600)
1.000
0.001
16.472
0.735
(0.183,0.331)
(-0.083,-0.005)
(4.700,6.200)
1.000
0.001
16.472
0.735
(0.001,0.002)
(-0.034,-0.014)
(3.500,3.900)
1.000
0.002
16.472
0.735
(0.008,0.016)
(-0.070,-0.053)
(3.600,4.000)
1.000
0.001
16.472
0.735
Finalmente, para este caso, observamos una amplitud de los intervalos de los antecedentes
muy grande. Como sucedía en el apartado 5.2.1, en el que se examinaba el mismo intervalo
del consecuente, los valores de b son muy negativos. No obstante, si miramos la magnitud del
terremoto anterior, vemos que no se puede sacar ninguna conclusión en firme ya que los
intervalos de dicho atributo presentan valores muy diferentes por lo que no podríamos afirmar
que este atributo fuera determinante. Algo similar ocurre con el incremento del tiempo, cuya
amplitud de intervalo hace que sea difícil obtener alguna conclusión al respecto.
Por tanto, podemos concluir que la estrategia óptima para analizar este intervalo es,
precisamente, la que se llevó acabo en el apartado 5.2.1 ya que se optimizaba el parámetro
más adecuado (lift) teniendo en cuenta los pocos registros existentes en la base de datos. No
obstante, las reglas obtenidas siguen siendo de calidad si nos atenemos a los valores medios
de los parámetros de evaluación ya que éstos no bajan de 0.735 en promedio (normalizado)
para todas las reglas obtenidas.
51
52
6 Conclusiones.
Se ha presentado en este trabajo una revisión exhaustiva de los trabajos relacionados con la
extracción de reglas de asociación cuantitativas.
Además, se ha propuesto un nuevo algoritmo de extracción de reglas de asociación de
propósito general, basado en la obtención del k-ésimo mayor y k-ésimo menor elemento para
cada uno de los atributos.
Como caso de estudio, se ha utilizado una base de datos de terremotos ocurridos en la
Península Ibérica. En concreto se han analizado las dos zonas con más actividad sísmica: Mar
de Alborán y Azores-Falla de Gibraltar.
Dada la naturaleza de los datos analizados, se han planteado dos estrategias diferentes. En
primer lugar, nos interesamos por obtener reglas cuyo consecuente contuviera los terremotos
de magnitud elevada. Dado a que son pocos dichos terremotos, nos interesamos por aquellas
reglas que contuvieran un mayor lift y que, por tanto, no penalizaran el hecho de que se
cubran pocas instancias de la base de datos. En segundo lugar, se han obtenido reglas
generales, entendiendo por mejores aquellas cuyo promedio de parámetros de calidad
obtenido fuera el más elevado.
Como líneas de trabajo futuro se plantean diferentes estrategias:
1. Aplicación del algoritmo a nuevos conjuntos de datos.
2. Generación de nuevos indicadores sísmicos (o atributos) que puedan aportar mayor y
mejor información acerca de la ocurrencia futura de terremotos.
3. Inclusión de un algoritmo genético como paso final para la obtención de reglas de
asociación.
53
54
7 Bibliografía.
[1] D. Pyle, «Data Preparation for Data Mining,» Order A Journal On The Theory Of Ordered
Sets And Its Applications, vol. 17, nº 5 & 6, p. 375–381, 1999.
[2] Jiawei Han and Micheline Kamber, Data Mining: Concepts and Techniques, Morgan
Kaufmann, 2006.
[3] R. Agrawal, T. Imielinski, and A. Swami, «Mining association rules between sets of items in
large databases,» de Proceedings of the 1993 ACM SIGMOD International Conference on
Management of Data, 1993.
[4] G. Venturini, «Fast algorithms for mining association rules in large databases,» de
Proceedings of the International Conference on Very Large Databases, 1994.
[5] L. Geng and H.J. Hamilton, «Interestingness measures for data mining: A survey,» ACM
Comput. Surv., vol. 38, nº 3, p. 9, 2006.
[6] O. Berzal, I. Blanco, D. S´anchez, and M.A. Vila, Ios press measuring the accuracy and
interest of association rules: A new framework, 2001.
[7] S. Brin, R. Motwani, and C. Silverstein, «Beyond market baskets: generalizing association
rules to correlations,» de Proceedings of the 1997 ACM SIGMOD international conference
on Management of data, 1997.
[8] S. Brin, R. Motwani, J. D. Ullman, and S. Tsur, «Dynamic itemset counting and implication
rules for market basket data,» de Proc. of the ACM SIGMOD 1997, 1997.
[9] M. Houtsma and A. Swami, «Set-Oriented Mining for Association Rules,» de In
Proceedings of IEEE Data Engineering Conference, 1995.
[10] Y. Yin, Z. Zhong, and Y. Wang, «Mining quantitative association rules by interval
clustering,» Journal of Computational Information Systems, vol. 4, nº 2, p. 609–616, 2008.
[11] J. Han, J. Pei, Y. Yin, and R. Mao, Mining frequent patterns without candidate generation:
A frequent-pattern tree approach, 2004.
[12] I. Mierswa, M.Wurst, R. Klinkenberg, M. Scholz, and T. Euler, «Yale: rapid prototyping for
complex data mining tasks,» de KDD ’06: Proceedings of the 12th ACM SIGKDD
international conference on Knowledge discovery and data mining, New York, NY, USA,
2006.
[13] R. Srikant and R. Agrawal, «Mining quantitative association rules in large relational
tables,» ACM SIGMOD Record, vol. 25, nº 2, pp. 1-12, 1996.
55
[14] L. Carro-Calvo, S. Salcedo-Sanz, R. Gil-Pita, A. Portilla-Figueras, and M. Rosa-Zurera, «An
evolutive multiclass algorithm for automatic classification of high range resolution radar
targets,» Integrated Computer-Aided Engineering, vol. 16, nº 1, pp. 51-60, 2009.
[15] J. S. Aguilar-Ruiz, R. Gir´aldez, and J. C. Riquelme, «Natural encoding for evolutionary
supervised learning,» IEEE Transactions on Evolutionary Computation, vol. 11, nº 4, p.
466–479, 2007.
[16] H. Lee, E. Kim, and M. Park, «A genetic feature weighting scheme for pattern recognition,»
Integrated Computer-Aided Engineering, vol. 12, nº 2, pp. 161-171, 2007.
[17] L. Dridi, M. Parizeau, A. Mailhot, and J. P. Villeneuve, «Using evolutionary optimisation
techniques for scheduling water pipe renewal considering a short planning horizon,»
Computer-Aided Civil and Infrastructure Engineering, vol. 28, nº 8, p. 625–635, 2008.
[18] E. I. Vlahogianni, M. G. Karlaftis, and J. C. Golias, «Spatio-temporal short-term urban
traffic flow forecasting using genetically-optimized modular networks,» Computer-Aided
Civil and Infrastructure Engineering, vol. 22, nº 5, p. 317–325, 2007.
[19] S. Mathakari, P P. Gardoni, P P. Agarwal, A. Raich, and T. Haukaas, «Reliability based
optimal design of electrical transmission towers using multi-objective genetic algorithms,»
Computer-Aided Civil and Infrastructure Engineering, vol. 22, nº 4, pp. 282-292, 2007.
[20] K. Sarma and H. Adeli, «Fuzzy genetic algorithm for optimization of steel structures,»
Journal of Structural Engineering, vol. 126, nº 5, p. 596–604, 2000.
[21] X. Jiang and H. Adeli, «Neuro-genetic algorithm for nonlinear active control of highrise
buildings,» International Journal for Numerical Methods in Engineering, vol. 75, nº 8, pp.
770-786, 2008.
[22] T. M. Cheng and R. Z. Yan, «Integrating messy genetic algorithms and simulation to
optimize resource utilization,» Computer-Aided Civil and Infrastructure Engineering, vol.
24, nº 6, p. 401–415, 2009.
[23] Y. Aumann and Y. Lindell, «A statistical theory for quantitative association rules,» Journal
of Intelligent Information Systems, vol. 20, nº 3, p. 255–283, 2003.
[24] M. Vannucci and V. Colla, «Meaningful discretization of continuous features for
association rules mining by means of a som,» Proceedings of the European Symposium on
Artificial Neural Networks, pp. 489-494, 2004.
[25] J. Mata, J. L. ´Alvarez, and J. C. Riquelme, «Discovering numeric association rules via
evolutionary algorithm,» Lecture Notes in Artificial Intelligence, vol. 2336, pp. 40-51, 2002.
[26] Q. Tong, B. Yan, and Y. Zhou, «Mining quantitative association rules on overlapped
intervals,» Lecture Notes in Artificial Intelligence, vol. 3584, pp. 43-50, 2005.
56
[27] D. Wan, Y. Zhang, and S. Li, «Discovery association rules in time series of hydrology,»
Proceedings of the IEEE International Conference on Integration Technology, p. 653–657,
2007.
[28] A. Orriols-Puig, J. Casillas, and E. Bernaó-Mansilla, «First approach toward on-line
evolution of association rules with learning classifier systems,» de Proceedings of the 2008
GECCO Genetic and Evolutionary Computation Conference, 2008.
[29] B. Alatas and E. Akin, «Rough particle swarm optimization and its applications in data
mining,» Soft Computing, vol. 12, nº 12, pp. 1205-1218, 2008.
[30] B. Alatas, E. Akin, and A. Karci, «MODENAR: Multi-objective differential evolution
algorithm for mining numeric association rules,» Applied Soft Computing, vol. 8, nº 1, pp.
646-656, 2008.
[31] X. Yan, C. Zhang, and S. Zhang, «Genetic algorithm-based strategy for identifying
association rules without specifying actual minimum support,» Expert Systems with
Applications: An International Journal, vol. 36, nº 2, p. 3066–3076, 2009.
[32] E. Georgii, L. Richter, U. Rckert, and S. Kramer, «Analyzing microarray data using
quantitative association rules,» BMC Bioinformatics, vol. 21, nº 2, pp. 123-129, 2005.
[33] U. Ruckert, L. Richter, and S. Kramer, «Quantitative association rules based on halfspaces:
An optimization approach,» de Proceedings of the IEEE International Conference on Data
Mining, 2004.
[34] N. Gupta, N. Mangal, K. Tiwari, and Pabitra Mitra, «Mining quantitative association rules
in protein sequences,» Lecture Notes in Artificial Intelligence, vol. 3755, p. 273–281, 2006.
[35] H. Nam, K. Lee, and D. Lee, «Identification of temporal association rules from timeseries
microarray data sets,» BMC Bioinformatics, vol. 10, nº 3, pp. 1-9, 2009.
[36] M. Kaya and R. Alhajj, «Genetic algorithm based framework for mining fuzzy association
rules,» Fuzzy Sets and Systems, vol. 152, nº 3, p. 587–601, 2005.
[37] S. Guha, R. Rastogiand, and K. Shim, «CURE: An efficient clustering algorithm for large
databases,» de Proceedings of ACM SIGMOD International Conference on Management of
Data, 1998.
[38] M. Kaya and R. Alhajj, «Utilizing genetic algorithms to optimize membership functions for
fuzzy weighted association rules mining,» Applied Intelligence, vol. 24, nº 1, p. 7–152,
2006.
[39] J. Alcalá-Fdez, R. Alcalá, M. J. Gacto, and F. Herrera, «Learning the membership function
contexts forming fuzzy association rules by using genetic algorithms,» Fuzzy Sets and
Systems, vol. 160, nº 7, p. 905–921, 2009.
57
[40] Y. Aumann and Y. Lindell, «A statistical theory for quantitative association rules,» Journal
of Intelligent Information Systems, vol. 20, nº 3, p. 255–283, 2003.
[41] R. Bellazzi, C. Larizza, P. Magni, and R. Bellazzi, «Temporal data mining for the quality
assessment of hemodialysis services,» Artificial Intelligence in Medicine, vol. 34, pp. 25-29,
2005.
[42] E. Winarko and J. F. Roddick, «ARMADA – An algorithm for discovering richer relative
temporal association rules from interval-based data,» Data and Knowledge Engineering,
vol. 63, pp. 76-90, 2007.
[43] M.Y. Lin and S.Y. Lee, «Fast discovery of sequential patterns by memory indexing,» de
Proceedings of the 4th International Conference on Data Warehousing and Knowledge
Discovery,, 2002.
[44] Y. P. Huang, L. J. Kao, and F. E. Sandnes, «Efficient mining of salinity and temperature
association rules from ARGO data,» Expert Systems with Applications, vol. 35, pp. 59-68,
2008.
[45] J. Pei, J. W. Han, B. Mortazavi-Asl, H. Pinto, Q. Chen, U. Dayal, and M. C. Hsu, «Prefixspan:
Mining sequential patterns efficiently by prefix-projected pattern growth,» de
Proceedings of IEEE Conference on Data Engineering, 2001.
[46] A.K.H. Tung, J. Han H. Lu, and L. Feng, «Efficient mining of intertransaction association
rules,» IEEE Transactions on Knowledge and Data Engineering, vol. 15, nº 1, pp. 43-56,
2003.
[47] F. Martíınez-Álvarez, A. Troncoso, J. C. Riquelme, and J. S. Aguilar, «Energy time series
forecasting based on pattern sequence similarity,» IEEE Transactions on Knowledge and
Data Engineering.
[48] V. Nikolaidou and P. A. Mitkas, «A sequence mining method to predict the bidding
strategy of trading agents,» Lecture Notes in Computer Science, vol. 5680, pp. 139-151,
2009.
[49] M. S. Khan, F. Coenen, D. Reid, R. Patel, and L. Archer, «A sliding windows based dual
support framework for discovering emerging trends from temporal data,» Research and
Development in Intelligent Systems, vol. 2, pp. 35-48, 2010.
[50] A. Morales, F. Martínez-Álvarez, A. Troncoso, J. L. Justo, C. Rubio-Escudero, «Pattern
recognition to forecast seismic time series,» Expert Systems with Applications, vol. 37, nº
12, pp. 8333-8342, 2010.
[51] J. Alcalá-Fdez, L. Sánchez, S. Garía, M.J. del Jesus, S. Ventura, J.M. Garrell, J. Otero, C.
Romero, J. Bacardit, V.M. Rivas, J.C. Fernández, and F.Herrera., «Keel: a software tool to
assess evolutionary algorithms for data mining problems,» Soft Computing, vol. 13, nº 3,
58
p. 307–318, 2008.
[52] E.H. Shortliffe and B. Buchanan, «A model of inexact reasoning in medicine,»
Mathematical Biosciences, nº 23, p. 351–379, 1975.
[53] M. J. del Jesús, P. González, F. Herrera, and M. Mesonero, «Evolutionary fuzzy rule
induction process for subgroup discovery: A case study in marketing,» IEEE Transactionson
Fuzzy Systems, vol. 15, nº 4, p. 578–592, 2007.
[54] B. Kavsek and M. Jermol, «APRIORI-SD : adapting asociation rule learning to subgroup
discovery,» Applied Artificial Intelligence, vol. 20, nº 7, pp. 543-583, 2006.
[55] N. Lavrac, B. Kavsek, P. Flach, and L. Todorovski, «Subgroup discovery with CN2-SD,»
Journal of Machine Learning Research, vol. 5, pp. 153-188, 2004.
[56] E., G. Ibarra-Berastegi, and I. Madariagac, «Regression and multilayer perceptronbased
models to forecast hourly o3 and no2 levels in the Bilbao area,» Environmental Modelling
and Software, vol. 21, pp. 430-446, 2006.
[57] A. Elkamel, S. Abdul-Wahab, W. Bouhamra, and E. Alper, «Measurement and prediction of
ozone levels around a heavily industrialized area: a neural network approach,» Advances
in Environmental Research, vol. 5, pp. 47-59, 2001.
[58] J. A. Adame-Carnero, J. P. Bolívar, and B. A. de la Morena, «Surface ozone measurements
in the southwest of the Iberian Peninsula,» Environmental Science and Pollution Research.
59
Descargar