Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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:
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
1
OBTENCIÓN Y ANÁLISIS DE DATOS
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 .
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
Sin embargo, hay algunas diferencias claras entre el análisis predictivo y la Asociación:
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
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.
De acuerdo con esta idea, podemos definir algunos términos útiles, clave para entender el
análisis de salida:
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)
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:
- Consecuente: periódicos
- Antecedentes: combustible y chocolate
- Instancias: 3,000
- Soporte de antecedentes: 30% (3,000 / 10,000)
Como ejercicio, trata de calcular los conceptos anteriores para el siguiente conjunto de
datos tabulares considerando la regla
{Pan,Verduras}{Leche}:
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.
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:
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:
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.
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
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:
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)
¿Qué crees que está haciendo AMAZON? ¿Busca clientes similares? ¿Busca
productos similares? ¿Ambas cosas?
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
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)
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
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.
11
OBTENCIÓN Y ANÁLISIS DE DATOS
12
OBTENCIÓN Y ANÁLISIS 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:
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
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
15
OBTENCIÓN Y ANÁLISIS DE DATOS
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
16