lunes, 2 de mayo de 2011

Análisis de vínculos I

El análisis de vínculos es una aproximación descriptiva para la exploración de datos que puede ayudar a identificar relaciones entre los valores en una base de datos. Las dos técnicas más comunes para el análisis de vínculos son el descubrimiento asociativo y el descubrimiento secuencial. El descubrimiento asociativo encuentra reglas en los ítems que aparecen juntos en un evento como una transacción de compra, el análisis de una cesta de mercado es un ejemplo conocido del descubrimiento asociativo. Por otra parte, el descubrimiento secuencial es muy parecido, de hecho una secuencia es una asociación relacionada a través del tiempo.

Las asociaciones se escriben como A => B, donde A es llamado el antecedente ó lado izquierdo (LHS, por sus palabras en ingles Left-Hand-Side), y B es llamado consecuencia ó lado derecho (RHS, por sus palabras en ingles Right-Hand-Side). Por ejemplo, en la regla de asociación “Si la gente compra palomitas de maíz entonces compra gaseosa”, el antecedente es “compra palomitas de maíz” y la consecuencia es “compra gaseosa”.

Es fácil determinar que proporción de transacciones contienen un ítem o un conjunto de ítems en particular. La frecuencia con la que una asociación en particular (Ej., el conjunto de ítems “palomitas de maíz y gaseosa”) aparece en la base de datos es llamada soporte ó prevalencia. A modo de ejemplo, si 4 transacciones de cada 1000 son de “palomitas de maíz y gaseosa”, el soporte de esta asociación seria de 0.4%. Un bajo nivel de soporte (una transacción por cada millón) puede indicar que la asociación en particular no es muy importante o que se cuentan con malos datos (Ej., “hombre y embarazado”).

Para descubrir reglas que dominen los datos y que tengan significado para el analista, también se debe observar la frecuencia relativa de los ítems y sus combinaciones. Dada una ocurrencia de un ítem A (El antecedente), cada cuanto el ítem B (la consecuencia) ocurre?. Es decir cual es la previsibilidad condicional de B, dado A?. Usando el ejemplo anterior es como formuláramos la pregunta “Cuando la gente compra palomitas de maíz, cada cuanto también compran gaseosa?”. Otro indicador para la previsibilidad condicional es la confianza (confidence), la confianza es calculada como un radio: (frecuencia de A y B)/(frecuencia de A).

Ejemplo:

Total de transacciones supermercado: 1,000
Número que incluyen “palomitas de maíz”: 60
Número que incluyen “gaseosa”: 120
Número que incluyen “papas”: 70
Número que incluyen “palomitas de maíz y gaseosa”: 30
Número que incluyen “palomitas de maíz y papas”: 15
Número que incluyen “papas y gaseosa”: 35
Número que incluyen “papas, gaseosa y palomitas de maíz”: 10

Indicadores:

Soporte para “palomitas de maíz y gaseosa” = 3.0% (30/1,000)
Soporte para “papas, gaseosa y palomitas de maíz” = 1.0% (10/1,000)

Confianza de “palomitas de maíz => gaseosa” = 50% (30/60)
Confianza de “gaseosa => palomitas de maíz” = 25% (30/120)
Confianza de “palomitas de maíz y gaseosa => papas” = 33% (10/30)
Confianza de “papas => palomitas de maíz y gaseosa” = 14.3% (10/70)

Así podemos ver que un cliente que compre palomitas de maíz tiene más posibilidad de comprar una gaseosa (50%) que una persona que compra gaseosa comprar palomitas de maíz (25%). El soporte para la asociación “palomitas de maíz y gaseosa” (3.0%) es suficiente para sugerir una regla significativa.

martes, 29 de marzo de 2011

Qué es clusterizar (clustering)?

La clusterización (clustering) divide una base de datos en grupos diferentes, la meta principal de realizar el proceso de clusterización es encontrar grupos que son diferentes de los otros, y que sus miembros sean similares entre si. En la siguiente figura se puede observar un ejemplo de clusterización.

Fuente: Autor

No se debe confundir el concepto de clusterización con el concepto de segmentación. La segmentación hace referencia al problema de identificar grupos que tienen características comunes, en cambio, la clusterización es una forma de segmentar datos en grupos que no han sido predefinidos, por otra parte la clasificación es un modo de segmentar datos asignándolos a grupos que ya han sido definidos.

lunes, 28 de marzo de 2011

Mineria de datos y data warehousing

Una pregunta que surge comúnmente respecto a la minería de datos es la relación que existe entre el data warehousing y la minería de datos. Mas aun si es necesario contar con un data Warehouse para poder hacer minería de datos. Este post pretende realizar la aclaración en estos aspectos.


Frecuentemente, los datos en los cuales se realiza la minería son extraídos inicialmente en un data warehouse empresarial para posteriormente ingresarlos en una base de datos de minería o un data mart (Figura 1). Esto es debido a que los problemas de la limpieza de los datos para data warehouse y para minería de datos son muy similares y existen beneficios si los datos que se van a analizar ya son parte de un data Warehouse. Así, si los datos ya han sido limpiados para un data warehouse, es mas probable que no se necesite hacer una limpieza para hacer minería.

Figura1. Data mart extraído de data warehouse (1).

Sin embargo un data warehouse no es un requerimiento para la minería de datos. Preparar un data warehouse que consolide datos de diferentes fuentes, resuelve problemas de integridad de los datos. Pero, es posible extraer datos de minería de una o varias bases de datos mediante una base de datos de solo lectura, esta nueva base de datos se puede comportar como un data mart (Figura 2).


Figura2. Data mart extraído de las fuentes de datos (1).
1. Tomado de: Introduction to Data Mining and Knowledge Discovery, Two Crows Corporation, Third Edition.