You are on page 1of 25

Anlisis Clster

Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Anlisis
lisis Clster
Clster
Clustering (anlisis de conglomerados) se refiere a la tarea de agrupar un conjunto de objetos de
tal forma que se obtengan grupos (clsteres)
(
) lo ms similares entre s. Al detenernos un momento
a reflexionar lo anterior se nos presenta la pregunta qu es similar? Ms adelante intentaremos
clarificar esta pregunta, de momento revisemos la definicin propuesta por Everitt:
El
El anlisis clster es un conjunto de mtodos para construir (con suerte) una clasificacin sensible
e informativa de un conjunto de datos sin clasificar usando los valores de las variables observados
en cada individuo
individuo
El objetivo del anlisis clster es partir un conjunto de datos en grupos, si bien esto suena simple,
llevarlo a cabo es una compleja tarea.
La estructura de nuestro estudio en el tema para este curso puede resumirse como sigue:

Seleccin de
variables
VARCLUS
Grficos
PRINCOMP MDS

Clustering
discreto

Jerrquico

De optimizacin

Dentro de la minera de datos, el anlisis clster ingresa en la categora de aprendizaje no


supervisado debido a la ausencia de variable objetivo.

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Introduccin a Clustering Jerrquico


Jerrquico
La tcnica consiste en crear clsteres que estn jerrquicamente anidados dentro de los clsteres
en iteraciones previas y se clasifican en dos tipos: Aglomerativo y divisivo.

Los mtodos aglomerativos funcionan como sigue:


1.
2.
3.
4.

Asigna cada observacin


observacin a su propio clster
cl
Computa la similitud entre cada clster
Fusiona los dos clsteres ms similares
Repite 2 y 3 hasta formar un solo clster

Los divisivos:
1.
2.
3.
4.

Asignar todas las observaciones a un solo clster


Computar la similitud entre cada uno de los clsteres
steres
Particionar los dos clsteres menos similares
Repetir 2 y 3 hasta que cada observacin pertenezca a su propio clster

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Si bien el clster jerrquico es la columna vertebral del anlisis clster, no est exento de
problemas:

No escala bien con el nmero


nmero de observaciones (propaga el error al cuadrado o cubo del
nmero de observaciones)
Una vez que se ha hecho una divisin, sta
sta es irrevocable
Ningn mtodo en particular destaca de otro, todos tienen ventajas y desventajas

Ahora revisaremos la cuestin


cuestin fundamental en el anlisis clster, la similitud.
Similitud
Es clave en nuestro estudio pensar en la similitud, aunque a menudo es muy difcil cuantificarla.
Por ejemplo, qu es ms similar a un pato? Un cuervo o un pingino? La respuesta es tan
ambigua
ua como la pregunta: a ambos.
Para que una mtrica de similitud sea satisfactoria, debe cumplir con los siguientes principios:
, 
1. Simetra  ,
   
   0  
2. Distinguibilidad no idntica,
idntica si  ,
   0  
3. No distinguibilidad idntica,
idntica si  ,
Medidas de similitud

Distancia eucldea


      


Distancia cityblock
cityblock (Manhattan)

Mtrica de Minkowski

  |
   |





    |
DM  |



Adems de las anteriores, revisaremos las mtricas


mtricas de similitud basadas en densidad
densidad.
Un clster puede verse como un rea
rea de densidad de observaciones incrementada. La similitud es
una funcin de la distancia entre las burbujas de densidad identificadas (hiper-esferas)
esferas).

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

La densidad en el punto ! est dada por:

#%$ 

"

Donde  es el nmero de observaciones


observaciones dentro del radio de la hiperesfera centrada en
en !, es el
nmero total de observaciones y " es el volumen de la ! sima
sima hiperesfera de radio ' y 
dimensiones dado por:
&  ' 
 
"
)2 + 1
1

Analicemos un ejemplo mediante SAS. Contamos con una tabla con 15 observaciones que
contiene los dividendos otorgados por las acciones de ciertas empresas del sector energtico de
los EEUU.

Si queremos calcular la distancia entre las compaas, usaremos PROC DISTANCE, el res
resultado
ultado del
clculo lo enviaremos a un DATASET llamado DIST
PROC DISTANCE
DATA=AA.STOCK
=AA.STOCK
METHOD=EUCLID
=EUCLID
OUT=DIST
=DIST
;
VAR INTERVAL(DIV_:)
INTERVA (DIV_:)
;
RUN;

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Lo anterior carecer de sentido prctico per-se,


per se, por lo que recurriremos a la representacin grfica
que funge
unge como uno de los prerrequisitos ms importantes en la mayora de los anlisis
estadsticos. El anlisis grfico es particularmente
particularmente relevant
relevantee en clustering, ya que eell ojo humano es
todava una de las herramientas ms poderosas para evaluar la estructura de los clsteres. La
forma ms comn de representar las relaciones entre dos variables continuas es un diagrama de
dispersin (scatter plot)

Desafortunadamente, en la prctica no siempre se encuentran clsteres compactos y bien


separados. Los clsteres difieren
ifieren en tamao y forma, adems se traslapan. Para empeorar las
cosas, muchos mtodos estn sesgados a encontrar clusters de cierto tamao, forma o dispersin.
Los diagramas de dispersin ayudan a identificar la forma de los clusters y proporcionan una gua
para elegir el mejor mtodo de clusterizacin.
Revisemos un ejemplo con dos dimensiones. Usaremos un DATASET que recolecta los datos de un
dispositivo de reconocimiento de escritura a mano, contiene dos variables X1 y X10 adems del
dgito que pretenda
pretenda ser ingresado al dispositivo (por simplicidad solo se tienen los dgitos 1,9 y 7)

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Para graficar el diagrama de dispersin usaremos PROC GPLOT.


PROC GPLOT
DATA=AA.PENDATA;
=AA.PENDATA;
PLOT X10*X1=DIGIT;
RUN;
El grfico resultante se muestra a continuacin.

Ell grfico nos muestra la forma y posibles regiones de iinfluencia


nfluencia de cada uno de los clsteres
clsteres.
Desafortunadamente,
Desafortunadamente en minera de datos es muy poco probable encontrar un problema
bidimensional por lo que recurriremos a dos artificios para encontrar la forma de los clsteres en
el hiperespacio.
Cuando los datos presentan ms de dos dimensiones, los datos multivariados pueden ser
convertidos a un sistema bidimensional que fungir como sistema coordenado. Para tal propsito,
nos valdremos de dos tcnicas:

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Anlisis
sis de componentes principales (PCA)
Escalamiento multidimensional (MDS)

PCA
Como habamos revisado anteriormente, el anlisis de componentes principales es un mtodo
para transformar un conjunto de variables en un nuevo conjunto de variables ortogonales
conservando
onservando la mayor cantidad de varianza posible contenida en los datos. Cuando trabajamos en
el hiperespacio, las primeras 2 componentes principales pueden ser utilizadas como ejes para
ayudarnos a localizar visualmente los clsteres.
clsteres
MDS
Es una tcnica matemtica de reduccin de dimensiones que mapea las distancias entre las
observaciones en un espacio de ms alta dimensin en otro de ms baja. MDS localiza las
observaciones un espacio dimensional reducido tal que las diferencias entre pares de puntos en el
espacio dimensional ms bajo coinciden lo ms cercano posible. MDS no hace ningn supuesto
estadstico pero es vulnerable a mnimos locales. En particular MDS minimiza la siguiente funcin
de error:
/

2.
1 3
.

 . 5
.

1 3
. .

Donde . es la distancia entre la !-sima


sima y la 4-sima
sima observacin en el espacio original mientras
de . es la distancia entre el mismo par de puntos pero en el espacio reducido.

En el siguiente ejemplo utilizamos ambos mtodos para graficar la forma de los clsteres en el
DATASET STOCK.
Primero usaremos componentes principales:
PROC PRINCOMP
DATA=AA.
=AA.STOCK
OUT=PRIN
=PRIN
;
VAR DIV:
;
RUN;
PROC GPLOT
DATA=PRIN;
=PRIN;
PLOT PRIN2*PRIN1=COMPANY;
RUN;

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Mientras que con escalamiento multidimensional:


PROC DISTANCE
DATA=AA.STOCK
=AA.STOCK
METHOD=EUCLID
=EUCLID
OUT=DIST
=DIST
;
VAR INTERVAl(DIV_:
INTERVAl(DIV_: /STD=RANGE);
/
=RANGE);
COPY COMPANY;
RUN;
PROC MDS
DATA=DIST
=DIST
LEVEL=ABSOLUTE
=ABSOLUTE
OUT=MDSOUT
=MDSOUT
;
VAR DIST:
;
ID COMPANY
;
RUN;
PROC GPLOT
DATA=MDSOUT(
=MDSOUT(WHERE
WHERE=(_NAME_^=
=(_NAME_^=''));
PLOT DIM2*DIM1=COMPANY;
RUN;

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Clustering Jerrquico
Los mtodos jerrquicos son la columna vertebral del anlisis clster. Parte de su popularidad
recae en que no son afectados por el llamado efecto de orden aunado a que no se necesita
intuir a priori cuntos clsteres estn presentes en los datos. Los mtodos jerrquicos no escalan
bien con el nmero de observaciones
observaciones (el error escala al cuadrado o cubo). No existe un mtodo
considerado como el mejor, esto no quiere decir que todos los mtodos sean equivalentes,
simplemente poseen distintas caractersticas. La implementacin en SAS PROC CLUSTER realiza
clustering jerrquico
jerrquico aglomerativo.
PROC CLUSTER proporciona 11 mtodos distintos para el anlisis, a saber:
1.
2.
3.
4.
5.
6.

Average Linkage
Centroid Linkage
Complete Linkage
Density Linkage
Equal variance mximum likelihood (EML)
Flexible beta

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

7.
8.
9.
10.
11.

Mc Quittys similarity analysis


Median
an Linkage
Single Linkage
Two stage density linkage
Wards minimum variance

El procedimiento
procedimiento clster
clster normalmente se parea con el procedimiento TREE ya sea para dibujar el
dendograma o asignar la pertenencia al clster
clster de cada observacin.
Ahora centrmonos
centrmonos en los mtodos de clasificacin, en nuestro estudio revisaremos 3: Average,
Centroid y Ward.
Average
La distancia entre clsteres es la distancia promedio entre pares de observaciones. El mtodo
tiende a unir clsteres con varianzas pequeas y sesga a pr
producir clsteres con varianza igual. Otra
caracterstica es que es menos influenciado por valores atpicos que la mayora de los mtodos,
adems computacionalmente es ms rpido que la mayora de los mtodos.

67 

6 7

  22  , . 5

9; .9:

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Centroid
La distancia entre los clsteres es la distancia eucldea cuadrada de cada uno de los centroides de
los clsteres.
clsteres

>>>>
>>>> 
67  =
6  =7

En este mtodo los datos extremos tampoco afectan demasiado, se trabaja directamente con los
datos coordenados y si los grupos a fusionar son de tamaos muy distintos, el centroide del nuevo
grupo estar muy cerca del centroide del grupo ms grande.
Ward
El mtodo de la mnima varianza de Ward une clsteres tales que en cada generacin es
minimizada la suma de cuadrados dentro del clster sobre todas las particiones obtenidas al
fusionar dos clsteres de cada generacin previa. En este mtodo se realiza un anlisis de var
varianza
ianza
(ANOVA) en cada fusin de la jerarqua y tiende a unir clsteres con un nmero pequeo de
observaciones sesgando a producir clsteres esfricos con aproximadamente el mismo tamao. Es
muy sensible a datos atpicos.

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Donde >>
>>
6 es el vector de medias y
respectivamente.
respectivamente

67 
?



>>>>
>>>
6 
7>
1
1
) + ?

es el nmero de observaciones en del clster A

Clustering de optimizacin
El clustering
lustering de optimizacin particiona un conjunto de datos al optimizar algn criterio especfico
(funcin de error). A diferencia de los mtodos jerrquicos, el error escala linealmente con el
nmero de observaciones por lo que estos mtodos son tiles en grandes conjuntos de datos. El
nmero de particiones debe especificarse a priori.
pri
En teora se puede generar y calificar cada posible particin de tamao en @ grupos, asegurando
as la obtencin de un mnimo global. Problemas no triviales ocasionaran una explosin
combinatoria de particiones insostenible, por tanto, se desarrollaron algoritmos de bsqueda
heurstica que realizan el trabajo de forma eficiente
efi ciente en el espacio de particiones potenciales
usando la siguiente metodologa:

1. Encontrar una particin inicial de observaciones en @ grupos (clsteres)


2. Calcular el cambio en el criterio de clusterizacin producido al mover cada observacin de
su grupo
o actual a otro grupo haciendo el cambio que proporcione la mxima mejora en el
criterio
3. Repetir 2 hasta que los movimientos no produzcan mejora.

Desafortunadamente, lo anterior no garantiza la obtencin de un ptimo global, en la prctica,


aplicar lo anterior
anterior a una muestra diferente o incluso al mismo conjunto en distinto orden puede
resultar en soluciones clster completamente diferentes.

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

El objetivo de la clusterizacin de optimizacin es maximizar o minimizar algn criterio especfico


tal como:

Separacin
Homogeneidad intra-clster
intra clster

La variacin entre clsteres se define como la suma de las disimilitudes entre las observaciones en
el clster y las observaciones fuera de l. De manera ms formal, dada alguna medida HBI ,BK de la
disimilitud
litud entre las observaciones ! y 4 en el clster C es:
1F

Donde

1J

   ) HBI ,B
BK  ?EB .,.E
.

es el nmero de casos en el clster C y

es el nmero de casos en el clster A.

La distancia inter-clster
clster define la separacin entre los clsteres como la mnima disimilitud entre
un caso en el clster C y uno fuera
L

C! ) HBI ,BK -

Homogeneidad

El criterio est basado en grupos que tienen una estructura relativamente cohesiva midie
midiendo
ndo la
similitud de observaciones en el mismo clster, dos ejemplos son:

Variacin dentro del clster: suma de disimilitudes entre dos observaciones en el mismo
clster, puede usarse para reflejar la cohesin del clster
1F

1F


D C
   ) HBI ,BK - ; ' N1
1,2O
 .
,.E

Dimetro del clster: la mxima disimilitud entre dos observaciones del mismo clster,
puede ser usada para medir homogeneidad.
L

D C  CG ) HBI ,BK - ; ' N1,,2O

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Variabilidad
Variabi
La variabilidad total del clster puede ser partida en variabilidad dentro del clster y variabilidad
entre clsteres, es decir: P  Q + R,, donde:
S 1F

P   2 .  5522 .  5
 .

S

R


S 1F

U$
 

 U$  Z
 

Q   2 .  U$ 52
52 .  U$ 5


 .

En las ecuaciones
ecuaciones previas, . es el 4-simo
simo miembro del cl
clster !, U$ es la media del clster
clster ! y es
el vector de las medias de cada variable.
Lo anterior conduce a dos criterios naturales de agrupacin:

Minimizar la suma de cuadrados dentro del grupo


Maximizar la suma de cuadrados entre grupos

Para minimizar la variabilidad dentro del clster se puede usar la funcin de la traza
traza:
VWXY

   
P'


Tanto PROC FASTCLUS como PROC CLUSTER utilizan esta funcin.

Minimizar P' es equivalente a minimizar la suma de la


lass distancias eucldeas al cuadr
cuadrado entre
un grupo de observaciones y la media del grupo.
grupo P' es dependient
dependientee de la escala
escala.
K-means
means clustering

Es el ms comn de los algoritmos de clustering de optimizacin y se implementa en SAS mediante


el procedimiento FASTCLUS,
FASTCLUS, consiste en los siguientes pasos:
1. Un conjunto de puntos conocido como semillas es seleccionado
ionado como las medias de los
clsteres finales
2. Cada observacin es asignada a la semilla ms cercana formando clsteres temporales. Las
semillas son reemplazadas por las medias de los clsteres te
temporales
mporales y se repite el
proceso hasta que ocurra un cambio
cambio no significativo en la posicin de los centros.
3. Forma los clsteres finales asignando cada observacin al centroide ms cercano.

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Los primeros dos pasos son el algoritmo de bsqueda heurstica. El paso 3 es la iteracin extra que
realiza las asignaciones
asignaciones finales a cada clster.
Preparacin para clustering
Una vez realizado el anlisis factorial correspondiente, un paso fundamental previo a cualquier
trabajo analtico consiste en investigar
investigar la multicolinealidad de las variables
variables,, para ello utilizaremos
una tcnica llamada clustering de variables. La solucin de SAS nos p
proporciona
oporciona PROC VARCLUS
para llevar a cabo dicha tarea.
tarea
PROC VARCLUS divide un conjunto
conjunto de variables numricas en clsteres
steres jerrquicos o disjuntos.
Con cada clster
cl ster se asocia una combinacin lineal
l ineal de las variables en el cl
clster.
ster. Dicha combinacin
lineal puede ser la primera componente principal (obtenida
obtenida por anlisis oblicuo de componentes)
o la componente centroide. PROC VARCLUS intenta maximizar la varianza que es eexplicada
xplicada por los
componentes clster,
clster, as, VARCLUS nos permite reducir la dimensin y la multicolinealidad de las
variables. El resumen de VARCLUS nos da el nmero de variables en cada clster y la varianz
varianza
explicada por el componente clster. ste ltimo es similar a la varianza explicada por factores,
pero incluye nicamente contribuciones de las variables en el clster en lugar de contribuciones
de todas las variables como lo hara PROC FACTOR.
Para poder
poder determinar la seleccin de variables, VARCLUS hace el cmputo de dos medidas
cuadradas de correlacin: Own Cluster y Next Closest que representan la correlacin de la
variable con su mismo clster y con el clster ms cercano respectivamente. Lo ante
anterior
rior nos
permite calcular el ratio 1  [  dado por:

1  [LX\]



1  []^1

1  [1_`\
1_`\ aW]Y_Y\

Cundo el ratio es pequeo nos indica buen clustering, las variables con menor ratio sern
seleccionadas como representante de las variables dentro de su clster.
Para concluir nuestro aprendizaje en el tema,
tem , realizaremos un ejercicio es SAS Enterprise Miner
Miner.

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Ejemplo: Utilice el DATASET PIZZA para realizar un ejercicio de cl


clustering
stering con los mtodos
revisados.
evisados. Reduzca las variables mediante clustering de variables.
Iniciamos E-Miner,
E Miner, en la pantalla de inicio seleccionamos nuevo proyecto:

Despus se selecciona el servidor en el que trabajaremos:

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

La siguiente
uiente pantalla nos permitir configurar
configurar el nombre de nuestro proyecto
proyecto:

En el siguiente paso omitimos cambios.

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Por ltimo, tenemos un resumen de nuestro proyecto.

Una vez dentro de la aplicacin debemos dar de alta la librera donde trabajaremos:

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Escribimos el cdigo de nuestra librera:

Creamos un diagrama de trabajo:

Ahora necesitamos cargar nuestros datos:

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Un asistente nos guiar en


en el proceso, lo ms importante es el paso 5 donde se asignan los roles y
escalas de nuestras variables:
variables

En este ejemplo solo modificaremos el rol de la variable Brand a Rechazado


Rechazado

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Una vez que hemos cargado nuestros datos procederemos a construir nuestro diagrama de
anlisis
lisis arrastrando los nodos desde el panel derecho:

Agregaremos el DATASET PIZZA, un nodo CLUSTERING DE VARIABLES que se encuentra en la


pestaa exploracin y seis nodos CLUSTER que est
e dentro de la misma.

Los parmetros dell nodo CLUSTERING DE VARIABLES:


VARIABLES

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Los parmetros de los nodos CLUSTER

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

El diagrama final
fina XML debe quedar as:

Los resultados:

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera

Con SAS E-Guide


E
tambin podemos realizar anlisis cl
clster,, veamos el ejemplo del DATASET
STOCK:

Anlisis Clster
Anlisis Multivariado
FES Acatln UNAM
Jos Gustavo Fuentes Cabrera