• No se han encontrado resultados

Análisis de algoritmos de clustering para datos categóricos

N/A
N/A
Protected

Academic year: 2021

Share "Análisis de algoritmos de clustering para datos categóricos"

Copied!
58
0
0

Texto completo

(1)

An´ alisis de algoritmos de clustering para datos categ´ oricos

Juan Felipe Cer´ on Uribe

Proyecto de grado de Matem´aticas

Asesor: Adolfo Jos´e Quiroz Salazar Departamento de Matem´aticas

Universidad de los Andes Bogot´a, Colombia 5 de diciembre de 2018

(2)

An´alisis del ROCK

y otros algoritmos de clustering de datos categ´oricos

Juan Felipe Cer´on Uribe

Resumen

En el campo de la estad´ıstica, el an´alisis de clusters se puede definir como la tarea de encontrar grupos relevantes de una poblaci´on a partir de una muestra, de modo que los miembros de cada grupo sean m´as similares entre si que con respecto a los miembros de otros grupos en alg´un sentido. Nuestro objetivo principal para este proyecto fue analizar algoritmos de clustering adaptados a datos con atributos ca- teg´oricos. Con este fin, realizamos una lectura cr´ıtica del planteamiento del algoritmo ROCK, un algoritmo moderno basado en la atractiva idea de considerar la vecindad que rodea a cada uno de los datos. Finalmente, propusimos una modificaci´on a este algoritmo y comparamos su desempe˜no con el original (y otros algoritmos cl´asicos de clustering) mediante conjuntos de datos simulados.

(3)

Agradecimientos

Gracias a mis pap´as, a mis amigos y a mis hermanos por hacer de mi mundo un lugar feliz y tranquilo. A Adolfo Quiroz, gracias por guiarme en este y tantos otros proyectos acad´emicos; te debo mucho.

(4)

´Indice general

Abstract ii

Acknowledgements iii

1. El problema de an´alisis de clusters 1

1.1. Definiciones del problema . . . . 1

1.1.1. Homogeneidad y separaci´on . . . . 2

1.1.2. Identificaci´on de subpoblaciones . . . . 4

1.1.3. El problema de plantear el problema . . . . 5

1.2. Clasificaci´on del an´alisis de clusters . . . . 6

1.3. Algoritmos Cl´asicos . . . . 6

1.3.1. Algoritmos jer´arquicos . . . . 6

1.3.2. Clustering the k medias . . . . 9

1.4. Determinaci´on del n´umero de clusters . . . . 11

1.5. Medidas de similaridad de datos categ´oricos . . . . 13

2. ROCK: Un algoritmo robusto de clustering de datos categ´oricos 16 2.1. Modelos de clusters de canastas de mercado . . . . 17

2.2. Caracterizaci´on de homogeneidad y separaci´on . . . . 18

2.2.1. El n´umero de enlaces . . . . 18

2.2.2. Criterio de bondad de un clustering . . . . 20

2.2.3. Aproximaci´on de E[links(C)] . . . . 20

2.3. Algoritmo aglomerativo . . . . 21

2.4. Reevaluaci´on de la aproximaci´on de E[links(C)] . . . . 23

2.4.1. Factibilidad del modelo . . . . 23

(5)

´Indice general v

2.4.2. alculo de E[links(C)] . . . . 23

2.5. Modificaci´on del algoritmo . . . . 29

3. Comparaci´on de algoritmos de clustering de datos categ´oricos 31 3.1. Distancia entre clusterings . . . . 32

3.1.1. El concepto de entrop´ıa . . . . 32

3.1.2. La entrop´ıa condicional . . . . 34

3.1.3. La variaci´on de la informaci´on . . . . 36

3.2. Enunciado del problema . . . . 39

3.3. Descripci´on de las simulaciones . . . . 40

3.4. Algoritmos a comparar . . . . 41

3.5. Resultados . . . . 43

3.6. Discusi´on . . . . 45

3.6.1. Single linkage . . . . 45

3.6.2. Complete linkage . . . . 46

3.6.3. Average linkage . . . . 47

3.6.4. CROCK . . . . 48

3.6.5. ROCK . . . . 50

3.7. Conclusiones . . . . 50

(6)

´Indice de figuras

1.1. Dendrogramas del clustering de la base de datos simulada obtenidos a partir de single, average y complete linkage. . . . 8 1.2. Dendrograma de la ejecuci´on de complete linkage sobre un conjunto

de datos de distribuci´on normal, la mitad con media 0 y la otra con media 50. . . . 10 1.3. Suma interna de cuadrados total en el resultado del algoritmo de

k-medias. Los datos corresponden a una mezcla de 4 distribuciones normales con medias 10, 20, 30 y 40. . . . 11 2.1. Valores emp´ıricos de links(C)/ log n para clusters de cada modelo,

con θ fijo y n variable. . . . 24 2.2. Error relativo del n´umero de links observado en cada uno de los clus-

ters simulados. . . . 29 3.1. Ultimas 25 aglomeraciones de la ejecuci´´ on de average linkage con el

umero de enlaces como medida. . . . 42 3.2. Comparaci´on del ´ındice V I del resultado de cada algoritmo al variar

el tama˜no del conjunto de datos. . . . 43 3.3. Comparaci´on del ´ındice V I del resultado de cada algoritmo al variar

el grado de exclusividad de cada cluster. . . . 44 3.4. ´Indice V I del resultado de cada algoritmo en cuatro escenarios de

sobrerrepresentaci´on de algunas de las poblaciones. . . . 46

(7)

Cap´ıtulo 1

El problema de an´ alisis de clusters

Este cap´ıtulo es una introducci´on a la teor´ıa b´asica del an´alisis de clusters. Da- do que este tipo de problema suele presentarse informalmente, comenzaremos por presentar algunas de las formas disponibles en la literatura de definirlo con rigor ma- tem´atico. En particular, estableceremos definiciones de cluster y de clustering. Luego presentaremos algunos algoritmos comunes de clustering. Finalmente, discutiremos las caracter´ısticas de diferentes medidas de similaridad entre datos categ´oricos. Es- to ´ultimo servir´a de introducci´on al contexto del clustering de datos con atributos categ´oricos, que es el tema central de este trabajo.

Para este cap´ıtulo, considere X un multiconjunto de datos en Rd de tama˜no n (contando multiplicidades).

1.1. Definiciones del problema

El an´alisis de clusters o clustering se puede describir informalmente como la tarea de presentar una partici´on informativa de un conjunto de datos. Formalmente:

Definici´on 1.1 SeaX un multiconjunto de datos. Un clustering de X es una partici´on de X . Llamamos clusters a cada uno de sus elementos.

Para facilitar el lenguaje a lo largo de este trabajo, en adelante utilizaremos los erminos conjunto y subconjunto para referirnos a multiconjuntos y submulticonjuntos de datos u observaciones.

(8)

1.1. Definiciones del problema 2

Notablemente, la anterior descripci´on no delimita el problema satisfactoriamente;

¿qu´e tipo de partici´on estamos buscando? Existen varias posibilidades porque la necesidad de particiones informativas ha surgido en varios contextos. De modo que se tienen varias formas de especificar (totalmente) el problema, ninguna de las cuales pretende ser aplicable en todos los contextos de lo que actualmente se considera an´alisis de clusters.

A lo largo de la literatura consultada, existen dos perspectivas principales a par- tir de las cuales es posible formalizar el problema. La primera consiste en buscar un clustering que maximice criterios tanto de cohesi´on interna como de mutua exclusi´on de los clusters. La segunda consiste en identificar subpoblaciones en la distribuci´on de la cual provienen los datos. En las pr´oximas subsecciones citaremos algunas de las definiciones formales que surgen a partir de cada una de estas perspectivas. Fi- nalmente discutiremos La dificultad de plantear un problema matem´atico de an´alisis de clusters que se adapte a las necesidades de una aplicaci´on en particular.

1.1.1. Homogeneidad y separaci´on

Varios criterios de la calidad de un clustering se basan en los conceptos de homogeneidad y separaci´on. En un clustering, el primero se refiere a la cohesividad interna de cada uno de los clusters, y el segundo a su mutuo aislamiento. Podemos juzgar la calidad de un clustering a trav´es de ´ındices que midan estas propiedades.

En el cuadro 1.1 citamos algunos de estos ´ındices, los cuales se definen a partir de una medida de disimilitud entre datos δ ∶ X × X → R. Con respecto a la selecci´on de la ´ultima, Gower y Legendre se˜nalan que esta debe estar bien adaptada a la naturaleza de los datos y al tipo de an´alisis que se pretende realizar [5].

Los primeros; h1, h2 y h3, miden la heterogeneidad, o ausencia de homogeneidad de un cluster. Los ´ultimos; s1 y s2, miden la separaci´on de un cluster del resto en una partici´on. La agregaci´on de estos ´ındices a trav´es de los clusters de un clustering resulta en indicadores de la homogeneidad y de separaci´on del mismo. Cualquiera de estos, o una agregaci´on de ellos, podr´ıa utilizarse para formalizar el problema de an´alisis de clusters:

(9)

1.1. Definiciones del problema 3

Criterio Medida de

h1(C) = ∑

p,q∈C

δ(p, q) Heterogeneidad h2(C) = m´axp,q∈Cδ(p, q) Heterogeneidad h3(C) = m´ın

p∈C

q∈C

δ(p, q) Heterogeneidad s1(Ci) = ∑

p∈Ci

j /=i

q∈Cj

δ(p, q) Separaci´on s2(Ci) = m´ınp∈C

i,q∈Cj

j /=i

δ(p, q) Separaci´on

Cuadro 1.1: Criterios de bondad de un cluster C de un clustering C = {C1, . . . , Ck}, seg´un los describe Everitt [1].

Ejemplo 1.1 Dado un conjunto de datosX y k ∈ N, hallar el clustering C = {C1, . . . , Ck} que minimice

c1(C) = ∑

C∈C

h(C).

En el anterior ejemplo buscamos un clustering de tama˜no k de clusters altamente homog´eneos. Existe una descripci´on famosa del problema que sigue este formato, conocida como el clustering the k medias:

Ejemplo 1.2 Dado un conjunto de datos x1, . . . , xn∈ Rd y k∈ N, hallar el clustering C = {C1, . . . , Ck} que minimice la suma interna de cuadrados en los clusters. Esta est´a dada por

c2(C) = ∑

C∈ C

x∈ C

∥x − µC2, donde µC es el promedio de los puntos de C.

En este la medida de heterogeneidad h(C) es la suma de cuadrados interna de cada cluster. Tambi´en es posible formular criterios que tengan en cuenta tanto la homogeneidad como la separaci´on de los clusters.

Ejemplo 1.3 Dado un conjunto de datos X y α, β ∈ R≥0, hallar el clustering C = {C1, . . . , Ck} que minimice

c3(C) = α m´ax

i=1,...,kh(Ci) − β m´ın

i=1,...,ks(Ci).

(10)

1.1. Definiciones del problema 4

1.1.2. Identificaci´on de subpoblaciones

Desde esta perspectiva, el problema de an´alisis de clusters consiste en identificar las clases naturales de individuos en la poblaci´on de la cual provienen los datos, si es que estas existen [12]. Siguiendo este paradigma, Meil˘a y Heckerman [8] presentan el problema de an´alisis de clusters mediante su modelo de clustering, en el cu´al, si X se compone de observaciones de la variable aleatoria X, la distribuci´on de esta

´

ultima es de la forma

P(X ∈ A) =k

i=1

λiP(X ∈ A∣clase = i) (1.1.1)

k

i=1

λi= 1 , λi> 0.

El problema se describe entonces como, dada la muestra X , encontrar el modelo (n´umero de clases y distribuci´on de cada una) que mejor se acomode a la muestra seg´un alg´un criterio. En el siguiente ejemplo veremos una instancia de este problema, tomado del libro de Duda [10].

Ejemplo 1.4 Suponga que la muestra X proviene de la densidad mezclada pX(x, ⃗θ) =k

i=1

pX(x∣ci, θi)P(ci) acerca de la cual:

Conocemos el n´umero de clases y la probabilidad P(ci) de pertenencia a cada clase.

Conocemos la forma de cada funci´on de densidad pX(x∣ci, θi), dependiente de ci y θi.

No conocemos ninguno de los par´ametros θi.

Estime el vector de par´ametros ⃗θ. Una aproximaci´on natural a este problema es buscar el vector de par´ametros ⃗θ que maximiza la funci´on de verosimilitud de los datos.

En muchas aplicaciones del an´alisis de clustering, definir a priori la forma de la distribuci´on de cada clase, como se hace en el ejemplo anterior, puede no ser factible.

(11)

1.1. Definiciones del problema 5

Sin embargo, de no imponer restricciones sobre las distribuciones P(X ∈ A∣clase = i), las soluciones que encontremos para el problema de clustering (seg´un lo plantea Meil˘a) son vulnerables al sobreajuste. Suponga, por ejemplo, que seleccionamos cualquier partici´on C1, . . . , CkdeX y, para cada Ci, declaramos que este corresponde a los representantes de una clase (es un cluster). Luego afirmamos que la distribuci´on de esta clase es la distribuci´on muestral de Ci. Bajo muchos criterios, incluyendo la axima verosimilitud, el modelo se ajusta mejor a los datos que cualquier modelo con densidades continuas. Sin embargo, esta metodolog´ıa no describir´a una estructura presente en la distribuci´on de los datos en casi ning´un caso.

Una forma de restringir estas distribuciones es exigirles cierto tipo de suavidad.

Teniendo esto en cuenta, la optimizaci´on de criterios de homogeneidad y separaci´on se puede ver como una heur´ıstica para encontrar las subpoblaciones presentes en una muestra. En este caso nos limitar´ıamos a la b´usqueda de subpoblaciones unimodales y bien separadas entre si.

1.1.3. El problema de plantear el problema

En la mayor´ıa de sus aplicaciones por fuera de las matem´aticas, un investigador aplica el an´alisis de clusters para ganar alguna intuici´on ´util sobre un conjunto de datos. Sin embargo, puede ser imposible dar una noci´on general de lo que un investigador considere ´util. Por esta raz´on, varios autores coinciden en que una definici´on formal del an´alisis de clusters no vendr´ıa al caso. Bonner [2], por ejemplo, considera que una concepci´on de cluster o de clustering es buena si produce una respuesta valiosa para un investigador.

Hemos visto varios ejemplos de c´omo plantear matem´aticamente un problema de an´alisis de clustering. Sin embargo, en cualquier contexto de aplicaci´on, una de las dificultades principales es precisamente especificar un problema matem´atico de an´alisis de clusters cuya soluci´on sea subjetivamente valiosa para el investigador.

En este sentido se podr´ıa decir que el problema de an´alisis de clusters consiste en primero plantear el problema matem´aticamente, y despu´es resolverlo.

(12)

1.2. Clasificaci´on del an´alisis de clusters 6

1.2. Clasificaci´on del an´alisis de clusters

El an´alisis de clusters pertenece a la categor´ıa de aprendizaje no supervisado. En este tipo de problema se busca describir la estructura de un conjunto de datos que no cuentan con una clasificaci´on. Otros ejemplos de esta son el an´alisis de componentes principales (PCA) y el aprendizaje por refuerzo (mejor conocido como reinforcement learning).

Tambi´en guarda una relaci´on con el problema de clasificaci´on estad´ıstica, pues un clustering puede verse tambi´en como una clasificaci´on de los datos. Sin embargo es importante tener en cuenta que una poblaci´on puede tener muchas subclasificaciones relevantes. Por ejemplo, una poblaci´on de personas se puede clasificar seg´un su etnicidad, grupo de edad, nivel de ingreso econ´omico, etc. Por esta raz´on, juzgar la calidad de un clustering mediante una clasificaci´on preexistente en los datos no siempre es apropiado.

1.3. Algoritmos Cl´asicos

En esta secci´on discutimos algunos algoritmos cl´asicos de clustering. Recuerde que X es un multiconjunto de datos en Rd de tama˜no n (contando multiplicidades).

1.3.1. Algoritmos jer´arquicos

Se trata de una familia de algoritmos que generan iterativamente una secuencia de clusterings C1, . . . ,Cn de X donde Ck se obtiene de Ck+1 al unir dos de sus elementos ∀k = 1, . . . , m − 1. En particular C1 = {X } y Cn = {{x} ∶ x ∈ X }. Estos buscan optimizar heur´ısticamente medidas de homogeneidad y separaci´on en los clusterings resultantes mediante algoritmos greedy, los cuales se caracterizan por tomar desiciones localmente ´optimas en la b´usqueda de un ´optimo global. En el caso de los algoritmos jer´arquicos estas desiciones locales pueden ser aglomerar dos clusters o dividir uno en dos, con la expectativa de al final obtener un clustering que maximice alguna medida globalmente.

Esta categor´ıa se subdivide en m´etodos aglomerativos y divisivos:

(13)

1.3. Algoritmos Cl´asicos 7

Algoritmo aglomerativo

Aglomera puntos cercanos deX sucesivamente seg´un alguna noci´on de distancia entre clusters D ∶ 2X × 2X → R (no necesariamente es una m´etrica). El siguiente algoritmo fue tomado del libro de H¨ardle [12]:

1. Inicialmente declarar que cada observaci´on enX es un cluster de un elemento.

Se obtiene un primer clustering C de X .

2. Calcular la distancia D entre cada par de clusters en C.

3. Encontrar dos clusters con la menor distancia D y juntarlos.

4. Iterar sobre los pasos 2, 3 y 4 hasta haber combinado todas las observaciones en un solo cluster.

La mayor´ıa de distancias entre clusters D en la literatura provienen de una distancia entre puntos δ ∶ Rd× Rd → R. Esta, a su vez, suele tomarse como la distancia euclidiana. Sean C1, C2∈ 2X, algunas formas comunes de definir D, vistas en el libro de Everitt [1], son:

Single linkage: D(C1, C2) = m´ın{δ(x, y) ∶ x ∈ C1, y∈ C2}.

Complete linkage: D(C1, C2) = m´ax{δ(x, y) ∶ x ∈ C1, y∈ C2}.

Average linkage: D(C1, C2) =∣C11∣∣C2x∈C1,y∈C2δ(x, y).

Centroid: Podemos definir el centroide de Ci como µ(Ci) = ∣C1ix∈Cix. A partir de esto definimos D(C1, C2) = δ(µ(C1), µ(C2)).

Median: D(C1, C2) = δ(c(C1), c(C2)) donde c se define as´ı: Si en una iteraci´on unimos C1 y C2 para formar C3, entonces c(C3) = c(C1)+c(C2 2). Para un singleton definimos c({x}) = x. Esto previene que los elementos del cluster m´as numeroso entre C1 y C2 dominen a los elementos del otro.

(14)

1.3. Algoritmos Cl´asicos 8

Algoritmos divisivos

Los algoritmos divisivos proceden en el orden contrario; dividiendo un elemento de la actual partici´on deX en dos en cada iteraci´on. No discutimos ning´un algoritmo divisivo pues son poco comunes en la literatura.

Dendrogramas

El procedimiento habitual tras la ejecuci´on de estos algoritmos es visualizar la estructura jer´arquica de particiones resultante. Esto es posible mediante un den- drograma; un diagrama en forma de ´arbol que muestra cada aglomeraci´on o divisi´on realizada durante la ejecuci´on y el valor de D entre los clusters aglomerados, lo cual se conoce como su altura.

A modo de ejemplo presentamos los dendrogramas obtenidos al aplicar los algo- ritmos de single, average y complete linkage a un conjunto de datos cuyos primeros 10 elementos son observaciones de la distribuci´on normal est´andar y los siguientes 10 de la normal con media 3 y desviaci´on est´andar 5.

Figura 1.1: Dendrogramas del clustering de la base de datos simulada obtenidos a partir de single, average y complete linkage.

El comportamiento observado en los dendrogramas es el t´ıpico al comparar estos algoritmos. En single linkage los clusters grandes tienden a unirse r´apidamente y

(15)

1.3. Algoritmos Cl´asicos 9

los puntos m´as lejanos son aislados hasta el final. Esto nos impide identificar las dos poblaciones presentes en el conjunto de datos, pero puede ser ´util para identificar datos aislados o outliers. Complete linkage favorece clusters de tama˜no similar en cada partici´on. Average linkage es un punto intermedio entre single y complete linkage en cuanto al tama˜no relativo de los clusters que se forman.

Selecci´on de una partici´on

El clustering jer´arquico resulta en una estructura de varias particiones, de las cuales nos interesa elegir una por como hemos planteado el problema de clustering.

En la secci´on 1.4 discutiremos algunos m´etodos formales para determinar el n´umero de clusters que existe en la muestra. Ahora veremos c´omo utilizar el dendrograma informalmente para este prop´osito.

Esta t´ecnica consiste en identificar las l´ıneas verticales m´as largas en el dendro- grama, y declarar que lo que hay debajo de cada una es un cluster. La longitud de cada vertical representa el cambio de altura entre la aglomeraci´on que conform´o a un cluster y la que lo unir´ıa a otro. Entonces una vertical larga indica que la siguiente aglomeraci´on de un cluster (los elementos debajo de la linea) implic´o una p´erdida de cohesividad relativamente mayor a las aglomeraciones que lo conformaron.

Para ejemplificar este proceso simulamos un conjunto de 40 datos provenientes de distrubuciones normales de varianza 1, la mitad con media 0 y la otra mitad con media 50. La figura 1.2 muestra el dendrograma obtenido de la ejecuci´on de complete linkage sobre estos datos. Note que los cambios de altura asociados a las aglomeraciones de cada submuestra son peque˜nos con respecto al cambio de altura asociado a la aglomeraci´on de las dos, lo cual ocurre en el ´ultimo paso.

Esto nos indica que en la pen´ultima iteraci´on del algoritmo quedaban dos clusters internamente cohesivos y mutuamente separados, lo cual como vimos es un criterio com´un en el an´alisis de clusters.

1.3.2. Clustering the k medias

Este t´ermino se utiliza para referirse tanto a un problema de an´alisis de clus- tering, como a su soluci´on heur´ıstica m´as conocida. En este problema, buscamos un

(16)

1.3. Algoritmos Cl´asicos 10

Figura 1.2: Dendrograma de la ejecuci´on de complete linkage sobre un conjunto de datos de distribuci´on normal, la mitad con media 0 y la otra con media 50.

clustering C de X que minimice la suma interna de cuadrados de cada cluster, es decir, buscamos

arg m´ın

∣C∣=k

C∈C

x∈C

∥x − µC2.

Como antes, µC es el promedio de las observaciones del cluster C. Este problema es NP-complejo, sin embargo se han planteado algoritmos heur´ısticos de complejidad computacional razonable. El algoritmo est´andar se conoce como el algoritmo de k medias. En este, los clusters Ci ∈ C son representados por sus medias µC. Dado un conjunto inicial de centroides m1, . . . , mk, el algoritmo consiste en la iteraci´on de un paso de asignaci´on, seguido de un paso de actualizaci´on, hasta alcanzar la convergencia:

Paso de asignaci´on: Asignar cada x∈ X al cluster cuyo centroide se encuentra a menor distancia euclidiana de x.

Paso de actualizaci´on: Calcular el promedio de cada cluster y actualizar los centroides con estos valores, es decir, mi ← µCi.

Consideramos que el algoritmo ha convergido cuando las nuevas asignaciones no cambian el conjunto de centroides. En cuanto a la elecci´on inicial del conjunto de centroides, los m´etodos m´as comunes son la elecci´on aleatoria de k elementos deX , y la partici´on aleatoria deX en k clusters, seguida de un paso inicial de actualizaci´on.

(17)

1.4. Determinaci´on del n´umero de clusters 11

1.4. Determinaci´on del n´umero de clusters

En muchas de las aplicaciones del an´alisis de clusters, no se tiene una preferencia sobre el tama˜no k que debe tener el clustering resultante. Existen m´etodos formales e informales de selecci´on del par´ametro k, comenzaremos por uno informal.

Si contamos con un algoritmo de clustering que tiene a k como par´ametro, una estrategia razonable es obtener clusterings de varios tama˜nos (por ejemplo a trav´es del m´etodo de k-medias) y compararlos seg´un alguna medida de homogeneidad. Sin embargo, la gran mayor´ıa de medidas de homogeneidad disponibles en la literatura decrecen trivialmente a medida que incrementamos k; mientras m´as clusters podamos formar, mayor ser´a la homogeneidad interna de cada uno. La figura 1.3 ejemplifica este fen´omeno en la aplicaci´on del algoritmo de k-medias.

Figura 1.3: Suma interna de cuadrados total en el resultado del algoritmo de k- medias. Los datos corresponden a una mezcla de 4 distribuciones normales con me- dias 10, 20, 30 y 40.

El conjunto de datos que corresponde a esta figura es una mezcla de 4 distribu- ciones normales. En esta, note que la disminuci´on en la suma interna de cuadrados al aumentar k en 1 se hace muy peque˜na para k ≥ 4. Esto implica que los clusters obtenidos no se hacen mucho m´as homog´eneos de lo que ya eran al aumentar k m´as

(18)

1.4. Determinaci´on del n´umero de clusters 12

all´a de 4, y por lo tanto sugiere la selecci´on informal de k= 4. Podemos aplicar este etodo siempre que contemos con una medida de homogeneidad bien adaptada al problema en cuesti´on.

En cuanto a m´etodos formales de selecci´on de k, Milligan y Copper [9] realizaron un extenso an´alisis comparativo, incluyendo 30 procedimientos diferentes. La mayor´ıa de estos son aplicables ´unicamente si los datos toman valores continuos. Ya que este trabajo est´a dirigido al clustering de datos con atributos categ´oricos, presentaremos el ´ındice con el mejor desempe˜no seg´un el estudio de Milligan y Copper que adem´as es aplicable a este tipo de datos.

El ´ındice Gamma de Baker-Hubert se basa en el ordenamiento de las similia- ridades entre cada par de puntos en el conjunto de datos. Este se define, para un clustering C de un conjunto de datos X dada una medida de similaridad entre datos s. Sea ⃗a el vector de similaridades sij entre parejas de datos en X . Un segundo vector ⃗b es un vector binario de la misma longitud de ⃗a tal que, en la coordenada que corresponde al par (i, j) de datos, este es 1 si los datos pertenecen al mismo cluster enC, y 0 de lo contrario.

Definici´on 1.2 Sean ⃗a y ⃗b dos vectores de igual longitud. Para dos ´ındices i y j, decimos que(i, j) son concordantes si ai < aj∧bi< bj, o discordante si ai< aj∧bi > bj. En otras palabras, C cuenta el n´umero de ocasiones en las cuales una pareja de datos del mismo cluster en C es m´as similar que una pareja de diferentes clusters.

An´alogamente, D cuenta en n´umero de ocasiones en las cuales dos datos de dife- rentes clusters son m´as similares entre si que dos que est´an en el mismo cluster. Ya que es deseable un clustering en el cual el mayor grado de similaridad se encuen- tra entre parejas de datos del mismo cluster, es quisieramos que C sea grande con respecto a D.

Definici´on 1.3 Sean⃗a y ⃗b vectores como los describimos anteriormente (⃗a es el vector de similaridades, . . . ). Sea C el n´umero de pares de ´ındices concordantes entre ⃗a y

⃗b, y D el n´umero de pares discordantes. El ´ındice de Gamma de Baker-Hubert del clustering C y la medida s est´a dado por

Γ(C, s) = C− D C+ D.

(19)

1.5. Medidas de similaridad de datos categ´oricos 13

Este ´ındice toma valores en [−1, 1]. Su valor m´aximo corresponde a la situaci´on en la cual la similaridad entre cualquier pareja de puntos de un mismo cluster es mayor a la de cualquier pareja de puntos de clusters diferentes. Para utilizarlo como regla de desici´on del par´ametro k (el n´umero de clusters presentes en un conjunto de datos), primero obtenemos el clustering optimo para varios tama˜nos∣Cj∣ = j. Luego seleccionamos k como

arg m´ın

j Γ(Cj, s).

1.5. Medidas de similaridad de datos categ´oricos

La gran mayor´ıa de los m´etodos de clustering disponibles en la literatura parten de una noci´on de similaridad entre las observaciones enX . De modo que contar con una que refleje la similaridad intuitiva entre dos datos juega un papel fundamental en el an´alisis de clustering, considerando que queremos que los clusters resultantes sean intuitivamente similares internamente.

En una proporci´on considerable de las aplicaciones del an´alisis de clusters, el conjunto de observaciones se compone de vectores de variables categ´oricas. El si- guiente ejemplo busca ilustrar la importancia de elegir una noci´on de similaridad bien adaptada a las caracter´ısticas de los datos, en lugar de utilizar la distancia euclidiana por defecto.

Ejemplo 1.5 Suponga que las observaciones deX ⊂ {0, 1}3 corresponden a los pro- ductos comprados por los clientes de un supermercado que ofrece tres productos, donde un 1 en la coordenada i significa que el cliente adquiri´o el producto i. Con- sidere las observaciones x= (1, 0, 0), y = (0, 0, 1), u = (1, 1, 0) y v = (0, 1, 1). Si d es la distancia euclidiana tendremos que

d(x, y) = d(u, v) = 2.

Sin embargo, las transacciones u y v tienen un producto en com´un, mientras que x y y no tienen nada en com´un. De modo que, intuitivamente, dir´ıamos que u y v son as similares entre si que x y y, lo cual no es reflejado por la distancia d.

(20)

1.5. Medidas de similaridad de datos categ´oricos 14

Una variable categ´orica X de c categor´ıas se puede expresar como un vector binario Xb ∈ {0, 1}c, donde Xib = 1 ⇐⇒ X = i. Por esta raz´on restringiremos esta discusi´on a vectores binarios. Sean x y y vectores binarios de dimensi´on n.

Para este tipo de datos, tal vez el factor m´as importante que diferencia a una medida de similaridad de otra es el efecto de las coincidencias xi = yi = 0. Por ejemplo, en el contexto de las transacciones de un supermercado que ofrece miles de productos, que dos transacciones coincidan en la no compra de un producto (xi = yi = 0) no las hace tan similares como la coincidencia en una compra (xi= yi = 1). En cambio, si los datos representan una encuesta de preguntas de respuesta positiva o negativa, es razonable que cualquier coincidencia, sea negativa o positiva, tenga el mismo peso sobre el nivel de similaridad.

Por lo discutido anteriormente, las medidas de similaridad presentadas en el cuadro 1.2 se expresan en t´erminos de los siguientes conteos:

a es el n´umero de ´ındices i tales que xi = yi = 1.

b es el n´umero de ´ındices i tales que xi= 1 ∧ yi= 0.

c es el n´umero de ´ındices i tales que xi= 0 ∧ yi= 1.

d es el n´umero de ´ındices i tales que xi = yi= 0.

Medida ormula

S1: Coeficiente de coincidencia (a + d)/(a + b + c + d) S2: Coeficiente de Jaccard a/(a + b + c)

S3: Rogers y Tanimoto (a + d)/[a + 2(b + c) + d]

S4: Sneath y Sokal a/[a + 2(b + c)]

Cuadro 1.2: Medidas de similaridad entre datos binarios descritas por Everitt [1].

El coeficiente de coincidencia describe la proporci´on de coincidencias sobre el umero total de bits. Es aplicable cuando la ausencia de un bit en x y y es tan infor- mativa como su presencia en ambos, como en el caso de la encuesta. El coeficiente de Jaccard, en cambio, no considera informativas las mutuas ausencias de un bit. Este

(21)

1.5. Medidas de similaridad de datos categ´oricos 15

ser´ıa m´as apropiado para datos como los del supermercado. Podemos enunciar este coeficiente de forma intuitiva si consideramos a x y y como subconjuntos A y B de {1, . . . , n}, donde i ∈ A ⇐⇒ xi = 1 y B se define an´alogamente. Entonces podemos escribir el coeficiente de Jaccard como

J(x, y) = ∣A∩ B∣

∣A ∪ B∣.

Las medidas S3 y S4 son muy similares a S1 y S2, respectivamente. Sin em- bargo estas dan un peso mayor a las no coincidencias. Como estos, existen muchos coeficientes que asignan diferentes pesos a las coincidencias y no coincidencias, siguiendo las necesidades de los diferentes contextos de aplicaci´on del an´alisis de clusters. En la secci´on ?? veremos una ´ultima medida de similaridad entre datos ca- teg´oricos, en la cual no solo son relevantes los dos puntos en cuesti´on, sino tambi´en sus vecindades.

(22)

Cap´ıtulo 2

ROCK: Un algoritmo robusto de clustering de datos categ´ oricos

En este cap´ıtulo presentamos el algoritmo de clustering de datos categ´oricos ROCK (A Robust Clustering Algorithm for Categorical Attributes), desarrollado por Sudipto Guha, Rajeev Rastogi y Kyuseok Shim [11]. Este es de particular inter´es pues, adem´as de ser reciente, se apoya en la idea intuitiva de considerar la inter- secci´on entre las vecindades de dos puntos para medir su similaridad. Esta idea, adem´as, ha sido aplicada con gran ´exito fuera del an´alisis de clustering, por ejemplo en la identificaci´on de la dimensionalidad intr´ınseca de un conjunto de datos [3] y como aproximaci´on al problema de dos muestras [6].

Este algoritmo fue dise˜nado para tratar el problema de clustering de canastas de mercado, el cual podemos enunciar de la siguiente manera: Sea X un conjunto de datos en {0, 1}M. Llamaremos transacciones a estas observaciones, y diremos que x∈ X contiene al i-´esimo producto si y solo si xi = 1. De modo que podemos ver cada transacci´on como un vector en {0, 1}M o como un conjunto de productos. Queremos obtener un clustering informativo de este multiconjunto de observaciones.

Como vimos en la secci´on 1.1.3, el primer paso es definir un problema matem´atico que se ajuste a nuestra intuici´on de lo que podr´ıa ser un buen clustering de las transacciones de un supermercado. ROCK, en particular, es una heur´ıstica de maxi- mizaci´on de un criterio de homogeneidad y mutua separacion de los clusters en C, el cual presentaremos en la secci´on 2.2.2.

(23)

2.1. Modelos de clusters de canastas de mercado 17

2.1. Modelos de clusters de canastas de mercado

Como lo hace Guha [11], un tipo razonable de cluster que podr´ıamos buscar en el contexto de canastas de mercado es un conjunto de transacciones C cuyos productos se tomaron aleatoriamente de un subconjunto de tama˜no m≤ M del conjunto de todos los productos disponibles. Este modelo de cluster es congruente con la concepci´on probabil´ıstica del an´alisis de clusters vista en la secci´on 1.1.2, pues describe (aunque incompletamente) la distribuci´on de una subpoblaci´on. En esta secci´on planteamos tres modelos simples pero razonables de dicha aleatoreidad. En cada uno de ellos, el cluster C se compone de observaciones iid de una variable aleatoria T . Dado su tama˜no ∣T∣ = t ≤ m, T se distribuye uniformemente sobre todos los subconjuntos de tama˜no t del conjunto de m productos que define a C. En cada uno de los modelos asumiremos que cada transacci´on tiene al menos un producto, pues no es razonable registrar una compra vac´ıa. En todos los casos E[∣T∣] = t.

Modelo con tama˜no de transaccion constante

El modelo m´as simple de este tipo es aquel en el cual todas las transacciones en C tienen un tama˜no fijo 0< t ≤ m. Este es el modelo considerado por Guha en la construcci´on del algoritmo ROCK [11].

Modelo con tama˜no de transacci´on binomial

En este modelo, el tama˜no de cada transacci´on tiene una distribuci´on binomial (pero no permitimos transacciones vac´ıas) con m ensayos, cada uno con probabilidad t/m de ´exito, independiente de los dem´as. La l´ogica detr´as de este modelo es que cada uno de los m productos que definen a C tiene una probabilidad igual de ser inclu´ıda en la transacci´on T , independientemente de los dem´as productos y bajo la condici´on de que al menos un producto sea inclu´ıdo en la canasta.

Modelo con tama˜no de transacci´on Poisson

En este ´ultimo modelo concebimos a T como el resultado de un proceso de compra durante el cual un cliente atraviesa un supermercado, y en cada instante

(24)

2.2. Caracterizaci´on de homogeneidad y separaci´on 18

tiene una probabilidad infinitesimal de encontrar un producto que quiere a˜nadir a su canasta, permaneciendo en el supermercado por un tiempo fijo para todos los clientes.

Entonces∣T∣ tiene una distribuci´on de Poisson con media t, sujeta a 0 < ∣T∣ ≤ m. Por esta raz´on definimos la distribuci´on de ∣T∣ por

P(∣T∣ = k) =⎧⎪⎪⎪⎪

⎨⎪⎪⎪⎪⎩

0 k /∈ N ∨ k = 0 ∨ k > m

P (P oisson(t)=k)

P (P oisson(t)>m)+P (P oisson(t)=0) 0< k ≤ m

.

En las siguientes secciones discutiremos el algoritmo ROCK de clustering de datos categ´oricos.

2.2. Caracterizaci´on de homogeneidad y separaci´on

Queremos construir un algoritmo de clustering basado en un criterio de homoge- neidad y separaci´on de un cluster que refleje nuestra intuici´on acerca de la bondad de un clustering en el contexto de canastas de mercado. Como vimos en la secci´on 1.1.1, estos suelen definirse a partir de una medida de similaridad entre datos.

2.2.1. El n´umero de enlaces

Comenzaremos por definir una medida de similaridad bien adaptado al contexto del problema. Sean x, y∈ {0, 1}M dos transacciones. Seg´un vimos en la secci´on 1.5, debemos considerar la relevancia de las coincidencias xi = yi = 0. Un supermercado ofrece una enorme variedad de productos, por lo cual es de esperarse que el ta- ma˜no de las transacciones sea muy peque˜no con relaci´on al n´umero de productos M . Entonces para cualquier par de transacciones tendremos un gran n´umero de coinci- dencias de este tipo, lo cual indica que estas no son muy informativas y por lo tanto no debemos tenerlas en cuenta. Esto descarta a las medidas S1 y S3 de la secci´on 1.5.

Por otro lado, dos clientes con patrones muy similares de compra pueden haber adquirido conjuntos peque˜nos de productos sin intersecci´on, pero que pertenecen a una clase de productos que definen un patr´on de compra. Veamos un ejemplo de esta situaci´on.

(25)

2.2. Caracterizaci´on de homogeneidad y separaci´on 19

Ejemplo 2.1 Suponga que el producto 1 es un jab´on y el producto 2 es un shampoo, y que x = (1, 0, . . . , 0) y y = (0, 1, 0, . . . , 0). Suponga, adem´as, que el conjunto de datos contiene un gran n´umero de transacciones z1 = ⋅ ⋅ ⋅ = zN = (1, 1, 0, . . . , 0). Por virtud de las transacciones zi, es razonable pensar que x y y son representantes de un patr´on de compra de elementos de aseo personal, a pesar de que x∩ y = ∅.

Para capturar este tipo de asociaci´on entre datos, Guha [11] formul´o el concepto de n´umero de enlaces o n´umero de links. En la siguiente definici´on, recuerde que los datos enX est´an en {0, 1}M.

Definici´on 2.1 Considere una medida de similaridad entre datos binarios sim {0, 1}M × {0, 1}M → [0, 1] y θ ∈ [0, 1]. Decimos que el dato x es un vecino de y, lo cual denotaremos por x∼ y, si

sim(x, y) ≥ θ.

Definimos el n´umero de enlaces entre x y y como su n´umero de vecinos en com´un en el conjunto total de datosX :

links(x, y) = #{z ∈ X ∣ x ∼ z ∧ y ∼ z}.

Definici´on 2.2 Para C ⊂ X , definimos su n´umero interno de enlaces por links(C) = ∑

(x,y)∈C2

links(x, y).

En la anterior definici´on, note que, ya que x ∈ X es vecino de si mismo en todas las definiciones razonables de sim, x tiene un enlace con si mismo, a trav´es de si mismo. Entonces links(C) ≥ ∣C∣. Para datos de canasta de mercado, tomaremos el coeficiente de Jaccard descrito en la secci´on 1.5 como medida de similaridad:

sim(x, y) = J(x, y) = ∣x∩ y∣

∣x ∪ y∣.

Esta elecci´on se debe a que el coeficiente de Jaccard ignora las coincidencias xi = yi = 0, las cuales vimos que no suelen ser informativas para datos de canastas de mercado. A continuaci´on definiremos un criterio de homogeneidad para un clustering C basado en el n´umero interno de enlaces de cada cluster.

(26)

2.2. Caracterizaci´on de homogeneidad y separaci´on 20

2.2.2. Criterio de bondad de un clustering

Sea C un clustering de X . La funci´on criterio descrita por Guha [11] para el problema en cuesi´on est´a dada por

El= ∑

C∈ C

nClinks(C)

n1+2f (θ)C , (2.2.1)

donde nC = ∣C∣. Analicemos este criterio. Comenzamos por sumar el n´umero de links internos de cada cluster, pues queremos una alta conectividad entre los puntos de cada uno. Esta suma es m´axima si agrupamos todos los puntos en un solo cluster, por lo cual normalizamos cada t´ermino links(C) por n1+2f (θ)C . Este t´ermino es una aproximaci´on gruesa del valor esperado de links(C), dado que C es un cluster ho- mog´eneo y bien separado de los dem´as. En adelante denotaremos esta esperanza por E[links(C)]. En la siguiente secci´on explicaremos la derivaci´on de esta aproxi- maci´on. Finalmente, multiplicamos cada t´ermino por nC para favorecer la formaci´on de clusters grandes, los cuales suelen ser m´as informativos.

2.2.3. Aproximaci´on de E[links(C)]

En esta secci´on discutimos la aproximaci´on E[links(C)] ≈ n1+2f (θ)C seg´un aparece en [11], la cual se basa en nociones intuitivas de homogeneidad y separaci´on en cuanto al n´umero de enlaces en C. Suponga que existe una funci´on f(θ), dependiente del tipo de clusters que buscamos, tal que cada punto de un cluster homog´eneo C tiene aproximadamente nf (θ)C vecinos en C (en un cluster no homog´eneo este n´umero ser´a menor con relaci´on a nC). Si, adem´as, C est´a bien separado de los dem´as clusters, podemos asumir que existen pocos enlaces entre dos puntos de C que pasan por un punto fuera de este conjunto. Entonces cada punto de C contribuye n2f (θ)C enlaces a trav´es de si mismo al n´umero total de enlaces internos, uno por cada pareja de sus vecinos. Sumamos esta cantidad para cada uno de los puntos de C para obtener E[links(C)] ≈ n1+2f (θ)C .

Una derivaci´on informal de f(θ)

Guha [11] presenta una posible derivaci´on de f(θ), la cual buscaremos contro- vertir. Esta se obtiene al asumir que todas las transacciones en C son del mismo

(27)

2.3. Algoritmo aglomerativo 21

tama˜no t, y se distribuyen uniformemente entre m productos que definen al cluster C. El autor comienza por afirmar que existe una constante c≤ 1 tal que nC ≈ (mct).

Sin embargo, para que el coeficiente binomial tenga sentido, debe ser el caso que mc∈ N. Para mc grande, a´un la m´ınima variaci´on de c tal que mc ∈ N causa una gran variaci´on de (mct), de modo que muy probablemente no exista dicho c para nC

y t dados. La tabla 2.1 busca ilustrar este fen´omeno.

mc=16, t=5 mc=15, t=10 mc=25, t=20 (165) = 4368 (1510) = 3003 (2520) = 53130 (155) = 3003 (1410) = 1001 (2420) = 10626 (145) = 2002 (1310) = 286 (2320) = 1771 (135) = 1287 (1210) = 66 (2220) = 231

Cuadro 2.1: Impacto de la variaci´on de c en (mct ) para ciertos valores de mc y t.

Observe, por ejemplo, que entre(2520) y (2420) hay una diferencia de m´as de 40000.

De modo que si t= 20 y nC = 30000, no es posible afirmar que existe c tal que (mct) aproxima a nC para alg´un m. Luego, el autor utiliza otras aproximaciones gruesas para concluir que, si C sigue el modelo de cluster descrito, cada punto de C tiene

≈ nC1−θ1+θ vecinos en C, de donde se obtiene que f(θ) = 1−θ1+θ.

De modo que, hasta el momento, queda por resolver el problema de c´omo encontrar una funci´on f(θ) que tenga la caracter´ıstica de aproximaci´on deseada (para un cluster homog´eneo y bien separado de los dem´as, E[links(C)] ≈ n1+2f (θ)C ). En la secci´on 2.4.1 exploraremos experimentalmente si en realidad existe una funci´on como esta para los modelos de cluster presentados en la secci´on 2.1.

2.3. Algoritmo aglomerativo

El algoritmo ROCK es un algoritmo jer´arquico que busca, heur´ısticamente, un clustering deX con un alto valor del criterio El. Con este prop´osito, en cada iteraci´on aglomeramos dos clusters con un gran n´umero de enlaces entre puntos en cada uno.

Definici´on 2.3 Sean C1, C2 dos clusters de un clustering deX . Definimos su n´umero

Referencias

Documento similar

[r]

SECUNDARIA COMPRENDE LOS

[r]

D) El equipamiento constitucional para la recepción de las Comisiones Reguladoras: a) La estructura de la administración nacional, b) La su- prema autoridad administrativa

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

•cero que suplo con arreglo á lo que dice el autor en el Prólogo de su obra impresa: «Ya estaba estendida esta Noticia, año de 1750; y pareció forzo- so detener su impresión

por unidad de tiempo (throughput) en estado estacionario de las transiciones.. de una red de Petri

La primera opción como algoritmo de compresión para secuencias biológicas que sugirió la directora del proyecto fue la adaptación de los algoritmos de Lempel-Ziv al alfabeto formado