Está en la página 1de 16

OBTENCIÓN Y ANÁLISIS DE DATOS

ANÁLISIS DE ASOCIACIÓN
Conceptos Básicos
2020/2021 Ramón Mahía

OBJETIVOS:
1. Comprender los fundamentos del Análisis de Asociación
2. Revisar los principales conceptos y definiciones para la selección de
reglas
3. Introducir brevemente los algoritmos de Asociación con algo más de
detalle para APRIORI

Lectura complementaria:

 Pang-Ning Tan, et al. Introduction to Data Mining. Chapter 6: Association Analysis:


Basic Concepts and Algorithms. (Para una descripción muy rica pero accesible del
tema)

Doc Index:
I. Fundamentos del análisis de asociación
II. Conexiones con otras técnicas: ¿Clasificación?¿Cluster?
III. Principales conceptos y definiciones para la selección de reglas
IV. Selección de reglas usando Confianza, Soporte y algunas otras métricas
V. Una muy breve introducción a los algoritmos de análisis de asociación

ANEXO I: Consideraciones sobre el formato de datos de entrada


ANEXO II: CÓMO APRIORI "ENCUENTRA AGUJAS EN UN PAJAR"

1
OBTENCIÓN Y ANÁLISIS DE DATOS

I. Fundamentos del análisis de asociación


Definición

 El análisis de asociación (análisis de afinidad / aprendizaje de reglas de asociación)


consiste en un grupo de algoritmos, de la familia de los métodos basados en reglas 1,
comúnmente utilizados para encontrar (1) cadenas de eventos (1) no obvios, (2) no
triviales y (3) no espurios que parecen ocurrir juntos de manera "frecuente".

 Estas técnicas se denominan a menudo análisis de la cesta de la compra (Market


Basket) porque se desarrollaron para analizar las pautas de compra de los
consumidores identificando grupos de productos que suelen aparecer juntos en un
porcentaje no trivial de casos. Por ejemplo, se puede extraer la siguiente regla:

{Tomate Frito, Mozzarella}  {Base de Pizza}

 Esta regla sugeriría que estos tres productos se venden frecuentemente juntos, dentro
de la misma compra/ticket o por el mismo comprador 2. Los productos {Tomate Frito,
Mozzarella} se denominan "antecedentes" de la regla y la {Base de Pizza} se conoce
como ”consecuente” 3.

 Los minoristas pueden utilizar ese tipo de reglas para identificar nuevas oportunidades
de venta cruzada o up-sell, para diseñar promociones (por afinidad), optimizar el
diseño de la tienda o de un sitio web, etc .

 Además de los objetivos orientados al mercado, este tipo de análisis se utiliza


comúnmente en otros campos como la detección de fraudes (combinaciones
inusuales de reclamaciones de seguros pueden interpretarse como un signo de
fraude), el mantenimiento predictivo (para detectar la siguiente pieza que falla en una
línea de montaje), el diagnóstico médico (combinaciones de síntomas asociados a
ciertas enfermedades o complicaciones) o la minería web (reconocimiento de
secuencias de clics en la web).

 ¿Por qué necesitamos ALGORITMOS de asociación?: "Buscando agujas en un pajar".


Es fácil describir lo que es una combinación frecuente de artículos, pero no es tan fácil
buscar combinaciones frecuentes entre millones de tickets que contienen cientos de

1
Métodos para descubrir las relaciones entre VARIABLES en grandes bases de datos.
Extraído del material en línea del curso Machine Learning for Data Science, Universidad de Columbia, primavera de 2015 por
el profesor John Paisley.
Gráfico de Pang-Ning Tan, et al. Introducción a la minería de datos. Capítulo 6: Análisis de asociación: Conceptos básicos y
algoritmos.

2
Se puede entender que la co - ocurrencia de eventos (compras de productos) ha sucedido en el mismo instante (misma
compra, mismo ticket) o durante un lapso de tiempo más largo (para el mismo cliente siendo observado durante un período
de tiempo).
3
Probablemente el ejemplo más conocido es la historia de los pañales para bebés y las cervezas, una combinación de
productos que se compran frecuentemente juntos.
2
OBTENCIÓN Y ANÁLISIS DE DATOS

miles de artículos. En efecto, descubrir patrones de un gran conjunto de datos de


transacciones puede ser costoso desde el punto de vista computacional 4: los
algoritmos de asociación pueden hacerlo mucho más rápido y pueden explorar
patrones más complejos ocultos en grandes conjuntos de datos.

II. Conexiones con otras técnicas: ¿Clasificación?


¿Cluster?

Encontrar una regla es "descubrir" un conjunto de eventos que normalmente se presentan en


la forma:

{Tomate Frito, Mozzarella}  {Base de Pizza}

Dado que la regla asocia un consecuente específico a un conjunto de antecedentes, la técnica


podría utilizarse para predecir un consecuente en presencia de antecedentes. En este sentido,
la asociación podría entenderse de alguna manera como un análisis predictivo
(encontraremos un conjunto de antecedentes “predictivos” de un determinado
"consecuente").

Sin embargo, hay algunas diferencias claras entre el análisis predictivo y la Asociación:

 A diferencia de la Clasificación, cuando realizamos un análisis de Asociación NO es tan


frecuente tener un "objetivo" claro (consecuente) sino que simplemente buscamos
reglas y el algoritmo encuentra antecedentes y consecuentes. En ese sentido, la
Asociación es una técnica no supervisada, capaz de encontrar consecuentes y
antecedentes al mismo tiempo.

 La segunda diferencia es que el análisis de asociación no explora la causalidad: dos


eventos o productos que aparecen juntos pueden no tener ninguna dependencia
causal. En el contexto de la asociación, no tenemos verdadero interés en la
interpretación del resultado en el sentido estricto de una relación causal.

El análisis de asociación puede entenderse como una herramienta para agrupar productos
que se compran juntos, pero debemos decir que la conexión con el análisis de clusters es
algo incidental. Incluso si pudiéramos beneficiarnos del análisis de asociación de esa manera,
normalmente no utilizamos algoritmos basados en reglas para agrupar de forma íntegra una
base de clientes, productos o transacciones sino para encontrar en estas bases un número
reducido, selecto, de combinaciones específicas con un interés particular.

4
A partir de un conjunto de datos que contiene “d” ítems, el número total de reglas posibles que pueden ser extraídas es:
#R=3^d-2^(d+1)+1. Por ejemplo, sólo para 6 artículos, obtendríamos 602 reglas posibles y para 600 referencias el número
asciende a 7,5 ·10287.

3
OBTENCIÓN Y ANÁLISIS DE DATOS

III. Principales conceptos y definiciones para la


selección de reglas

Los algoritmos de asociación pueden generar inicialmente una multitud de reglas y por
tanto necesitamos alguna forma de seleccionar las reglas más interesantes de entre esa
multitud. Por supuesto podemos aplicar criterios subjetivos (a veces una pauta extraña revela
información inesperada sobre los datos o proporciona conocimientos útiles que pueden
conducir a acciones rentables), sin embargo, si queremos considerar normas objetivas,
necesitamos calcular algunas medidas también objetivas para determinar si una regla es
interesante o no.

Como dijimos antes, las reglas se presentan normalmente en forma de:

{Antecedente 1, Atecedente 2, Antecedente 3}  {Consecuente}

De acuerdo con esta idea, podemos definir algunos términos útiles, clave para entender el
análisis de salida:

 INSTANCIAS (#): es el número de registros en el conjunto de datos que cumplen con


los antecedentes.
 SOPORTE de los antecedentes (%): es el porcentaje de registros que cumplen con los
antecedentes (#instancias/muestra total). Es probable que una regla con poco soporte
no sea interesante desde el punto de vista empresarial porque puede no ser rentable
promocionar artículos que los clientes rara vez compran.

freq ( Antec)
Soporte=
N
 CONFIANZA (%): es el porcentaje de #instancias que contienen el consecuente. Para
una regla dada, cuanto mayor sea la confianza, más probable es que el consecuente
esté presente en las transacciones que contienen antecedentes (una especie de
estimación de la probabilidad condicional de un consecuente dado un conjunto de
antecedentes)

freq ( Antec ∩ Consec )


Confianza=
freq( Antec)
 SOPORTE de la regla (%): porcentaje de registros TOTALES que cumplen la regla, tanto
los antecedentes como los consecuentes. Buscaremos, obviamente, reglas con alto
soporte.

freq( Antec ∩ Consec)


Soporte de Regla=
N

4
OBTENCIÓN Y ANÁLISIS DE DATOS

Considere el siguiente ejemplo de una muestra de 10.000 personas (tickets en las cajas de
varias gasolineras). Entre esos 10.000 tickets, encontramos lo siguiente:

1. 4.000 de esos 10.000 compraron periódicos


2. 3.000 compraron combustible así como chocolate
3. De esos 3.000, 2.400 también compraron periódicos

Imaginemos que queremos considerar los periódicos como consecuente:

- Consecuente: periódicos
- Antecedentes: combustible y chocolate
- Instancias: 3,000
- Soporte de antecedentes: 30% (3,000 / 10,000)

 Confianza de la regla: 80% (2,400 / 3,000)  tienen chocolate y periodico


 Soporte de la regla: 24% (2,400 / 10,000)

Como ejercicio, trata de calcular los conceptos anteriores para el siguiente conjunto de
datos tabulares considerando la regla

{Pan,Verduras}{Leche}:

ID (Ticket) Pan Verduras Lech Cervez Coca-Cola Tabaco


e a
1 1 0 1 1 0 0
2 0 1 1 1 0 0
3 0 0 1 1 1 0
4 1 0 0 1 0 1
5 11 11 11 1 1 1

Regal que utilizamos es pan, verduras como antecedente


 Instances(Nº de ticket que solo tien lso antecedents): 1
 Antecedent Support (%): 1/5  20%
 Confidence (%): 1  100% de los que tienen los antecedents tambien tienen el
consecuente
 Rule support (%) (frecuencia relativa con la que aparece la regla): 20%

¿Tiene esta regla las mismas “métricas” que la regla {Pan,Leche} {Verdura}:
 Instances(Nº de ticket que solo tiene los antecedents): 2
 Antecedent Support (%): 2/5  40%
 Confidence (%): 1/2  50% de los que tienen los antecedents tambien tienen el
consecuente

5
OBTENCIÓN Y ANÁLISIS DE DATOS

 Rule support (%) (frecuencia relativa con la que aparece la regla): 1/5  20% en
el total de las compras cuantas veces aparece los antecedents y el consecuente.

IV. Selección de reglas usando Confianza, Soporte y


algunas otras métricas
Normalmente, la mayoría de los algoritmos tienden a buscar reglas con un alto soporte de
antecedentes y una alta confianza y soporte de regla. No es demasiado difícil entender las
razones que hay detrás del uso de Soporte y Confianza: perseguimos eventos que ocurren a
menudo y no por casualidad y de todas las reglas encontradas preferimos centrarnos en
aquellas con suficiente frecuencia de aparición.

No obstante, hay otras métricas que se utilizan ampliamente para evaluar la calidad de las
reglas de asociación, porque utilizar un mínimo de soporte y confianza como criterio de
selección de la norma tiene algunos inconvenientes claros:

 Utilizando un umbral mínimo de Soporte podríamos pasar por alto patrones


potencialmente interesantes que implican artículos de bajo soporte (los productos
sin gluten podrían no ser un producto de gran soporte pero los celíacos podrían ser un
grupo interesante de clientes).
Si pongo umbrales muy altos puede que no aparezcan algunas variables en el estudio.

 Podríamos encontrar muchas reglas triviales si nos limitamos a antecedentes y/o


consecuentes muy comunes. Seleccionando antecedentes con alto soporte nos
concentramos sólo en reglas con productos muy comunes como antecedentes (agua,
leche, pan, ...) Seleccionando reglas con soporte alto, tendemos de nuevo a
concentrarnos en las reglas con productos muy comunes como consecuencia (agua,
leche, pan,...)
No es lo mismo clasificar categorías (cítricos), secciones (frutas, verduras,…) y
segmentos (limas y limones)
El resultado es que, al final, podemos encontrar reglas del tipo "pan + leche" con alta
confianza (75% por ejemplo) que sin embargo no muestran una asociación interesante
(la fracción de personas que toman pan, independientemente de si compran leche,
también es muy alta). Imagina que la regla "té de café" tiene un 75% de confianza; si la
confianza previa del té fuera del 72%, la regla no es muy interesante, a pesar del hecho
de que habría sido seleccionada usando la confianza simple el soporte de la regla.

 Además, al utilizar un umbral de confianza mínimo, podríamos pasar por alto las
reglas negativas/inversas: reglas en las que la confianza para un determinado soporte
de antecedentes es menor (no mayor) que la confianza para todo el conjunto de datos.
Junto con la fruta, el queso se compra con menos frecuencia de la que se compra en
total.

6
OBTENCIÓN Y ANÁLISIS DE DATOS

A fin de eludir algunas de las limitaciones anteriores, se han utilizado comúnmente algunas
otras medidas para la selección de las reglas. Para comprenderlas mejor, utilizaremos dos
definiciones básicas:

 Confianza a priori: la frecuencia relativa global del consecuente, cuando aparece el


consecuente en términos generales.
 Confianza a posteriori: confianza de una regla con uno o más antecedentes, cuanto
aparece los antecedentes asociados. (en la misma cesta aparee un vino
dependiendo de las variables antecedentes).

Teniendo estos dos conceptos en cuenta, podemos seleccionar reglas interesantes


centrándonos en aquellas con grandes diferencias en la confianza a priori y posteriori,
independientemente del nivel del soporte o la confianza. De acuerdo con esa idea veamos
tres de los criterios de selección más populares:

 Elevación (Lift): La ratio de la confianza a posteriori entre la confianza a priori

Posterior Confidence
Lift = Si antecedentes y consecuentes fueran independientes, el
Prior Confidence
numerador y el denominador serían iguales, por lo tanto, el “lift” sería 1. Cuanto más
alto sea el valor, mayor será la asociación entre ambos.

 Apalancamiento (Leverage)= La diferencia entre la frecuencia de una regla y la


frecuencia esperada si los elementos fueran independientes entre sí.

Leverage=Soporte de Regla ( frecuencia ) −Soporte Consecuente∗freq (C) Es similar a la


medida del “lift”, sin embargo, al ser una ratio, el “lift” puede encontrar asociaciones
muy fuertes para artículos poco frecuentes (con poco soporte), mientras que el
“leverage” tiende a priorizar la selección de reglas para artículos con
frecuencias/soportes más altos en el conjunto de datos.

 Diferencia de confianza: basada en la diferencia absoluta entre la confianza posterior y


la anterior (también llamada apalancamiento):

Diferencia de Confianza=|Confianza a posterioi−Confianza a priori|


(fijando un umbral mí nimo)
Esta medida aporta un criterio extra para seleccionar o descartar algunas reglas:

o Permite seleccionar reglas negativas5, ya que se utiliza el valor absoluto de


la diferencia.
o Permite descartar reglas obvias. Por lo tanto, una regla que casi siempre es
verdadera sólo se seleccionará si su confianza previa es baja 6.

5
freq ( Antec∩ Consec )∗N
También puede escribirse en términos de frecuencias: Lift =
freq ( Antec )∗freq ( Consec )
7
OBTENCIÓN Y ANÁLISIS DE DATOS

 Ratio de confianza: Otra forma sencilla de comparar la confianza a priori y posteriori


es calcular su proporción (min entre el máximo) y restarla de 1:

min ( Conf . Posteriori , Conf . priori )


Confidence Ratio=1− (fijando un umbral mí nimo)
max ( Conf . Posteriori ,Conf . priori )
Dado que este método utiliza una proporción, a diferencia de la medida de la
diferencia de confianza, es más sensible a las proporciones en las regiones de menor
confianza. La proporción entre el 30% (anterior) y el 40% (posterior) es mayor que la
existente entre el 70% (anterior) y el 80% (posterior), aunque la diferencia absoluta es
idéntica).

La métrica suele encontrar reglas tanto positivas como negativas a través de una
gama de confidencias previas. Además encuentra reglas para artículos con bajo
soporte dado que, aunque la confianza a priori sea baja, sólo se requiere un pequeño
cambio en la confianza a posteriori para seleccionar una regla, incluso para los valores
negativos.

Hay algunos otros criterios para medir la asociación, pero normalmente se utilizan menos:

 Diferencia de información (diferencia en la ganancia de información producida por el


conocimiento de los antecedentes en comparación con el conocimiento de la
confianza previa del consecuente),
 Chi-cuadrado normalizado (índice estadístico de asociación entre antecedentes y
consecuentes, normalizado en un rango de 0-1),
 Medidas simétricas (Coseno, índice Jaccard, etc.),
 Medidas Asimétricas (Laplace, medida J, etc.) y otros.

EJEMPLO. Para nuestro ejemplo anterior, las 3 medidas principales previamente


revisadas se calcularían de la siguiente manera:

Considerando:
- Confianza a priori= Frecuencia relativa consecuente (40%)
- Confianza a posteriori = Confianza de la regla (80%)
Tenemos:

- Lift= (80%/40%)
- Diferencia de confianza = 40% (valor abs de (80-40%))
- Ratio de confianza = 50 ((1-40%/80%)*100)
- Leverage = 12% (24% - 30% * 4.000)

freq ( A ∩C )−freq ( A )∗freq (C)


6
Leverage ¿
N
8
OBTENCIÓN Y ANÁLISIS DE DATOS

EL DESAFÍO DE AMAZON PARA EL ANÁLISIS DE RECOMENDACION

Una gran parte del éxito de AMAZON se basa en su estrategia de recomendación.


AMAZON integra las recomendaciones de diferentes maneras, utilizando
diferentes canales de estímulo en casi todas las etapas del proceso de compra.

¿Qué crees que está haciendo AMAZON? ¿Busca clientes similares? ¿Busca
productos similares? ¿Ambas cosas?

Técnicamente, el desafío de construir un motor de recomendación factible es


enorme por varias razones:

 "La enorme cantidad de datos: decenas de millones de clientes y millones de


artículos de catálogo distintos. “
 "Los resultados deben ser generados en tiempo real, en no más de medio segundo,
sin dejar de producir recomendaciones de alta calidad. “
 "Los nuevos clientes suelen tener una información muy limitada, basada en unas
pocas compras o calificaciones de productos. “
 "Los clientes más antiguos pueden tener un exceso de información, basada en
miles de compras y calificaciones. “
 "Los datos de los clientes son volátiles: Cada interacción proporciona datos
valiosos de los clientes, y el algoritmo debe responder inmediatamente a la nueva
información".

Los algoritmos de recomendación tradicionales no se podían escalar a las decenas


de millones de clientes y productos de Amazon, así que desarrollaron los suyos
propios. En su interesante informe7 describieron inicialmente el procedimiento,
introdujeron su algoritmo de "Item-to-Item Collaborative Filtering”. La idea que
subyace a este algoritmo es que, en lugar de hacer coincidir los clientes, hace
coincidir los artículos comprados, los artículos que los clientes tienden a comprar
juntos, y luego calcula la similitud de esos artículos entre los clientes 8 y los
combina en listas de recomendación.

7
For instance, if buying fruit decreases the frequency of buying cheese
8
Imagine que la regla "té de café" tiene un 75% de confianza; si la confianza previa del té fuera del 72%, la regla no es muy
interesante, a pesar del hecho de que habría sido seleccionada usando la confianza simple el soporte de la regla.

9
OBTENCIÓN Y ANÁLISIS DE DATOS

I. Una muy breve introducción a los algoritmos de


Asociación

Existen en este campo muchos algoritmos y enfoques diferentes. Comentaremos algunos de


los más relevantes, aunque, para el ejemplo de la práctica, nos centraremos en el más popular
(con diferencia), el algoritmo Apriori.

APRIOR fue desarrollado en 1994 por Agrawal y Srikant 9. Se considera un gran logro en la
historia de las normas de las asociaciones en minería de datos y actualmente está incorporado
en la mayoría de los programas informáticos comerciales. Utiliza un principio simple pero
muy popular: "Si un conjunto de elementos es frecuente, entonces todos sus subconjuntos
también deben ser frecuentes". Por el contrario, si un conjunto de elementos es poco
frecuente, entonces todos sus subconjuntos deben ser también poco frecuentes. Tiene un
enfoque ligeramente más eficiente para la detección de asociaciones que otros métodos
conocidos y es rápido de entrenar para grandes conjuntos de datos. Otra ventaja es que
podemos seleccionar los consecuentes con antelación. (Ver cómo funciona APRIORI en el
ANEXO DE ESTE DOCUMENTO)

La complejidad de APRIORI se ve afectada por el volumen de las bases de datos, la anchura


media de las transacciones y la dimensionalidad del conjunto de datos (número de elementos
existentes). No obstante, se recomienda APRIORI si:

 Deseamos concentrarnos sólo en determinados consecuentes o antecedentes (Apriori


puede proporcionar un mayor control).
 Deseamos crear reglas negativas.
 Tenemos conjuntos de datos con campos numéricos (Apriori puede manejar campos
numéricos como antecedentes en las reglas)
 Queremos tener más control sobre el método de selección de reglas (Apriori te da más
opciones en la configuración de selección avanzada)
 Queremos centrarnos en la frecuencia de los antecedentes (no sólo en el soporte de
las reglas)

Las estrategias seguidas por otros algoritmos se centran en reducir el número de conjuntos de
artículos candidatos, el número de transacciones o el número de comparaciones

9
https://www.semanticscholar.org/paper/Amazon-com-Recommendations-Item-to-Item-Collaborat-Linden-Smith/
da8b0378174bc25ed174be36a1c725787b81854d
10
OBTENCIÓN Y ANÁLISIS DE DATOS

(almacenándolos, por ejemplo, en estructuras de “hash buckets”). Algunos otros, aparte de


APRIORI son:

 Carma (Continuous Association Rule Mining Algorithm - 1999): Basado en la


búsqueda de conjuntos de elementos frecuentes, ofrece configuraciones de
construcción para el soporte de reglas en lugar de soporte de antecedentes. Carma,
utiliza sólo dos pases de datos. En el primero, identifica conjuntos de elementos
frecuentes en los datos, y crea un árbol jerárquico de conjuntos de elementos padre e
hijo. Luego, en una segunda etapa, se calculan las frecuencias exactas de los conjuntos
de artículos candidatos, y se conservan los que cumplen con los criterios de apoyo y
confianza. Permite reglas con múltiples consecuencias, lo que constituye una de sus
principales ventajas; sin embargo, no es posible distinguir entre antecedentes y
consecuencias antes de ejecutar el análisis. CARMA limita el tamaño de los conjuntos
de artículos a 10 y no es capaz de encontrar reglas para los valores "negativos" de los
campos .

 AIS. El primer algoritmo publicado (1993), con el objetivo principal de generar todos
los grandes "itemsets" (conjuntos de artículos) en una base de datos de transacciones.
Realiza múltiples pasadas por toda la base de datos por lo que con conjuntos de
muchos elementos no resulta adecuado. También tiene otro importante
inconveniente: genera demasiadas reglas candidatas que luego resultan ser inútiles.
Además, sólo puede ocuparse de un consecuente.

 Apriori-TID (1994). Desarrollado por el mismo autor que Apriori, la principal diferencia
es que no utiliza la base de datos para contar el soporte después de la primera pasada.
Más bien, utiliza una codificación de los conjuntos de elementos candidatos revelados
en la primera etapa. La ventaja de utilizar esta estrategia de codificación es que en las
sucesivas pasadas el tamaño de la función de codificación se hace más y más pequeño
que la base de datos, con lo que se ahorra mucho esfuerzo de lectura.

 OCD (1994), Partición (1995) y Muestreo (1996). Estos tres algoritmos hacen dos
pases de base de datos y son aplicables para los grandes conjuntos de datos. La
principal diferencia entre ellos es la forma en que el algoritmo explora el conjunto de
las transacciones. El OCD examina todas las transacciones de la base de datos. Con
“Muestreo”, se examina un subconjunto de la base de datos (muestra) antes de
procesar la base de datos completa. El “Partición” divide la base de datos en
particiones y escanea la base de datos por separado y en orden.

 FP-Growth (2000). Este algoritmo adopta un enfoque radicalmente diferente al de


Apriori para descubrir conjuntos de elementos frecuentes e intenta superar sus dos
principales inconvenientes (el complejo proceso de generación de candidatos que
utiliza la mayor parte del tiempo, el espacio y la memoria, y el hecho de que requiere
múltiples escaneos de la base de datos). FP codifica el conjunto de datos utilizando una
estructura compacta llamada árbol FP y extrae conjuntos de elementos frecuentes
directamente de él. Por lo tanto, requiere solo dos pasadas. Utiliza la estrategia de
"divide y vencerás". Primero calcula una lista de elementos frecuentes ordenados por
frecuencia en orden descendente (F-List) y durante su primer escaneo de la base de

11
OBTENCIÓN Y ANÁLISIS DE DATOS

datos. En la segunda, la base de datos se comprime en un árbol FP. Se ha demostrado


que para ciertos conjuntos de datos de transacciones, supera a Apriori.

 Secuencia (1996): Se considera un tipo muy especial de análisis de asociación. Los


métodos de detección de secuencias buscan patrones secuenciales en datos
estructurados en el tiempo. Se centran en secuencias ordenadas en el tiempo, más
que en la asociación general.

 Enfoques paralelos y distribuidos. Se basan en Apriori y se clasifican según su


estrategia de equilibrio de carga, arquitectura y paralelismo. El paralelismo puede ser
de datos o de tareas. Ambos difieren en si el conjunto de candidatos está distribuido a
través de los procesadores o no. En el paralelismo de datos, cada nodo cuenta el
mismo conjunto de candidatos. En el paralelismo de tareas, el conjunto de candidatos
se divide y distribuye entre los procesadores, y cada nodo cuenta un conjunto
diferente de candidatos. La base de datos, sin embargo, puede o no estar particionada
en cualquiera de las dos opciones teóricamente. En la práctica, la base de datos se
divide y distribuye entre los procesadores. Los algoritmos de paralelismo de datos
pueden ser CD, PDM, DMA o CCPD. Entre los de paralelismo de tareas encontramos
DD, IDD, HPA o PAR. Tanto los paradigmas de datos como los de tareas tienen ventajas
y desventajas. Son apropiados para ciertas situaciones. También hay algoritmos
híbridos eficientes (SH y HD).

12
OBTENCIÓN Y ANÁLISIS DE DATOS

ANEXO I: Consideraciones sobre los formatos de datos.

Para trabajar con algoritmos de asociación (ya sea utilizando software de código abierto o
comercial), suele ser necesario reestructurar los datos para que se ajusten a un formato
específico: transaccional o tabular:

 Transaccional. Cada registro representa una transacción (si pensamos en el análisis de


la cesta de la compra, cada registro sería un artículo de modo que cada ticket podría
tener más de una línea de registro). Este formato debería contener al menos DOS
variables: una que identifique cómo agrupar o vincular transacciones (tickets, clientes)
y una segunda que codifique o describa el artículo.

 Tabular. Esta estructura de datos representa cada evento (o artículo en el caso de una
cesta) en un campo (generalmente tipo “marca” 0/1) que almacena información sobre
si el evento o producto ha ocurrido o no (si el artículo se ha comprado en el ejemplo
de la cesta). Cada registro representa un conjunto completo de artículos asociados.

Si los datos no están en ninguno de los dos formatos, entonces suele requerirse una operación
de reestructuración.

Cada formato tiene ventajas e inconvenientes. Dado que en los datos tabulares cada registro
representa un cliente o un ticket resulta más sencillo manipular los datos durante la ejecución
de la técnica y durante el “scoring” posterior. Sin embargo, la anchura de una base de datos es
computacionalmente más “pesada”.

13
OBTENCIÓN Y ANÁLISIS DE DATOS

ANEXO II: CÓMO APRIORI "ENCUENTRA LAS AGUJAS"

APRIORI puede ser el algoritmo más popular para la detección de reglas y,


sorprendentemente, funciona de manera muy simple usando una secuencia jerárquica.

1. Primer paso: detectar conjuntos de elementos frecuentes (dado un umbral mínimo de


SOPORTE)

 Basándose en el carácter monotónico 10 de la idea de “dependencia de la frecuencia”,


APRIORI utiliza un popular algoritmo basado en la búsqueda de gráficos llamado BFS
(breadth - first search) 11 como estrategia central, aunque se incorporan algunos
ajustes al BFS estándar para acelerar el proceso12.

 APRIORI comienza generando pares de artículos (sin distinguir antecedentes o


consecuentes) y comprueba su soporte con los datos, manteniendo sólo los que se
ajustan a los criterios mínimos especificados y descartando el resto. Cuando un par se
descarta se descartan también todos los conjuntos de mayor dimensión que contienen
ese subconjunto. Esta idea se basa en la simple lógica de la dependencia de la
frecuencia: un conjunto de artículos frecuentes sólo puede estar compuesto por
conjuntos de subítems frecuentes. Así, si una pareja se “poda” porque no alcanza un
soporte suficientemente grande, los conjuntos de orden superior (superconjuntos) que
contienen el par “podado” tampoco pueden considerarse como candidatos.

Celosía correspondiente a un conjunto de 5 elementos {a,b,c,d,e} que representan todos los


conjuntos de elementos posibles.
Una rama entera se poda porque un conjunto de elementos poco frecuentes (a,b) 13

10
La similitud de los productos A y B puede calcularse, por ejemplo, utilizando la medida del coseno para los vectores A y B,
donde las dimensiones de estos vectores corresponden a los clientes que han comprado ese artículo.
11
http://www.vldb.org/conf/1994/P487.PDF
12
El apoyo a un conjunto de artículos como criterio de selección es monótono: al añadir nuevos artículos a un conjunto
anterior no podemos aumentar la frecuencia del conjunto de artículos resultante.
13
For a formal (but cool) on-line lecture of how Breadth - First works in the broad context of graph – based algorithms, visit
MIT Introduction to Algorithms class at https://www.youtube.com/watch?v=s-CYnVz-uh4
14
OBTENCIÓN Y ANÁLISIS DE DATOS

 En la siguiente pasada, sólo se amplían los pares seleccionados añadiendo un tercer


elemento adicional (este proceso se denomina especialización). El algoritmo generará
entonces de forma iterativa nuevos conjuntos de elementos candidatos de tamaño 3
utilizando sólo los conjuntos de elementos frecuentes de tamaño 2 que se encuentran
en la iteración anterior.

 Los conjuntos de artículos almacenados se validan de nuevo con los datos y la


especialización continúa hasta que ningún conjunto de artículos cumple los criterios
mínimos, o se alcanza el número máximo de antecedentes.

15
OBTENCIÓN Y ANÁLISIS DE DATOS

2. Segundo paso: generar reglas de asociación (según el umbral mínimo de CONFIANZA)

 Una vez que se identifican los conjuntos de artículos frecuente se evalúan en la base
de transacciones. Para un conjunto de artículos frecuentes de tamaño "k", pueden ser
posibles hasta 2k-2 reglas de asociación de ese tamaño. Para {a,b,c} se pueden evaluar
las siguientes seis reglas candidatas: {a,b}c; {a,c}b;
{b,c}a;a{b,c};c{b,a};b{a,c}

 APRIORI seleccionará primero las reglas con un solo consecuente que se ajusten a los
criterios mínimos de confianza. El cálculo de la confianza para cada subconjunto puede
parecer difícil, pero no es necesario volver a escanear los datos porque las frecuencias
de aparición de los subconjuntos con los que se forman las reglas (necesarias para
calcular la confianza) ya se calcularon en el primer paso al seleccionar conjuntos de
elementos frecuentes.

 Hecho esto, se identifican las reglas de más de un consecuente. Para esa tarea:

o Una vez más se aplica una interesante regla de filtrado: Si una regla con un solo
consecuente no logra una confianza mínima, entonces todas las reglas de dos
consecuentes para el mismo conjunto de artículos pueden ser directamente
podadas

Poda de reglas de asociación utilizando la medida de confianza 14

o APRIORI utiliza además un enfoque inteligente para detectar reglas de múltiples


consecuencias. La idea es fusionar las reglas de alta confianza de un solo
consecuente en reglas de dos consecuentes fusionando todos esos
consecuentes. Si {acd}{b} y {abd}{c} son reglas de alta confianza, entonces la
regla del candidato {ad}{bc} se genera fusionando las consecuencias de ambas
reglas.
14
Por ejemplo, los conjuntos de artículos seleccionados se almacenan en un “hash tree” con el fin de acelerar el proceso

16

También podría gustarte