Analisis de Clusters - Universidad de San Andrés

Anuncio
Analisis de Clusters
Walter Sosa Escudero
([email protected])
Universidad de San Andres y CEDLAS/UNLP
Walter Sosa Escudero
Analisis de Clusters
Ideas generales
X matriz de N filas y p columnas.
Cada fila es un ‘punto’ de p dimensiones.
Filas: observacines, objetos, puntos.
Cada columna se corresponde con una variable o atributo.
Ejemplo: 40 alumnos, cuatro preguntas en un examen (cada
alumno es un ‘punto’).
Cluster: grupo de puntos
Objetivo: dividir los puntos en clusters de modo que los
puntos dentro de un cluster sean similares y a su vez distintos
a los de cualquier otro cluster.
Walter Sosa Escudero
Analisis de Clusters
Dissimilarity
Central a la idea de clusters es la idea de dissimilarity.
y, z ∈ <p . Como medir cuan disimiles son y y z, dado que
tienen p coordendas cada uno?
Para variables cuantitativas, un ejemplo comun es la distancia
euclidea:

1/2
p
X
d(x, z) =  (xj − yj )2 
j=1
Es la agregacion de las disimilitudes para cada atributo.
Distancia de Minkowski:

1/m
p
X
d(x, z) = 
|xj − yj |m 
j=1
Walter Sosa Escudero
Analisis de Clusters
Variables binarias:
Pp
2
j=1 (xj − yj ) = numero de coincidencias.
En varias ocasiones es relevante ponderar los aciertos en
forma distinta (ejemplo: personas que hablan griego).
Ver Tabla 12.2 Johnson y Wichern para varias alternativas.
Walter Sosa Escudero
Analisis de Clusters
Dissimilarity Matrix: D. matriz N × N donde Dij = D(xi , xj )
Este es el ‘input’ del analisis de clusters.
Idealmente las Dij son verdaderas distancias, de modo que D
es simetrica y con diagonal principal nula, no es siempre el
caso.
El analisis es muy sensible a la eleccion de D.
Walter Sosa Escudero
Analisis de Clusters
Cluster analysis
Cada punto, observacion, esta indizada por i ∈ {1, . . . , N }.
Supongamos que sabemos de antemano que hay K clusters.
Visitadores medicos? Clases sociales? Pobres?
Cada cluster esta indizado por k ∈ {1, . . . , K}.
Un mecanismo de clusters asigna cada punto a un solo cluster:
k = C(i)
C(i) = ‘enconder’. Asigna cada punto a un cluster, de modo
que C(i) : {1, . . . , N } → {1, . . . , K}
Analisis de Cluster: encontrar C ∗ (i) optimo, en base a la matriz
de dissimilarities.
Walter Sosa Escudero
Analisis de Clusters
Una alternativa es la siguiente funcion de perdida:


K
X
X
1

d(xi , xj )
W (C) =
2
k=1
i,j/C(i)=C(j)=k
Intuitivamente: agrega las disimilitudes dentro de cada cluster.
Notar que
T =
1X
2
i,j
dij =
K
1X

2

k=1

X
d(xi , xj ) +
i,j/C(i)=C(j)=k
X
d(xi , xj )
i/C(i)=k,j/C(j)6=k
T = W (C) + B(C)
T es la disimilitud total, entre todas las observaciones (no depende de la
clusterizacion). BC es la agregacion de las distancias entre clusters.
Entonces, minimizar W (C) es equivalente a maximizar B(C).
Walter Sosa Escudero
Analisis de Clusters
Algoritmos combinatorios
Minimizar W (C) chequeando todas las posibles
clusterizaciones.
Ventaja: conduce a un minimo global.
Desventaja: computacionalmente impensable en la practica.
S(N, K) : cantidad de clusterizaciones en base a N puntos y
K clusters.
K
X
1
=
(−1)K−k
S(N, K) =
K!
k=1
S(10, 4) = 34.105, S(19, 4) = 1010 .
Walter Sosa Escudero
Analisis de Clusters
K
k
kN
K−medias
Supongamos que como dissimilarity usamos el cuadrado de la
distancia euclidea. La funcion de perdida es:


K
X
X
1

W (C) =
||xi − xj ||2 
2
k=1
i,j/C(i)=C(j)=k
Pp
2 1/2
con ||xi − xj || =
s=1 (xis − xjs )
Es facil mostrar que


K
X
X
W (C) =
Nk 
||xi − x̄k ||2 
k=1
i/C(i)=k
con x̄k = (x̄1k , . . . , x̄pk ), es el vector de p medias de todas las
variables para cada cluster.
Walter Sosa Escudero
Analisis de Clusters
El problema entonces es:
C ∗ = min
C
K
X

Nk 
k=1

X
||xi − x̄k ||2 
i/C(i)=k
Notar que para cualquier conjunto S de observaciones:
x̄S = argmin
m
X
||xi − m||2
i∈S
Lo que sugiere el algoritmo de K−medias.
Walter Sosa Escudero
Analisis de Clusters
Algoritmo de K−medias:
1
Para una clusterizacion C, computar los K vectores de medias
para cada variable.
2
Reasignar las observaciones al cluster mas cercano en base a
las medias computadas anteriormente
3
Iterar hasta que no haya reasignaciones.
Idea: el mecanismo optimiza primero dentro del cluster (elige las
medias) y luego optimiza reasignando las observaciones, dejando
quietas las medias.
Problema: es convergente, pero puede hacerlo a un minimo local.
Walter Sosa Escudero
Analisis de Clusters
Walter Sosa Escudero
Analisis de Clusters
K-mediods
1
Para una clusterizacion C encontrar la observacion dentro del
cluster que minimiza la distancia con respecto a los puntos
restantes. (la ‘observacion central’).
2
Reasignar los puntos con respecto a la observacion central.
3
Iterar hasta que no haya reasignaciones.
La media como ‘centroide’ es poco robusta (sensible a outliers).
Es computacionalmente mas costoso. Alternativa: K−medianas.
Walter Sosa Escudero
Analisis de Clusters
Cuestiones Practicas
Inicializacion: puede ser en base a clusters o medias. Stata
elige por default K observaciones al azar como centro (similar
a K-mediods).
Numero de clusters: No hay un mecanismo comunmente
aceptado. En algunos casos es exogeno (visitadores medicos,
pobreza?).
Cuestion: La within dissimilarity W (C) cae con el numero de
clusters (en el extremo cuanto da?).
K optimo se correponde con un quiebre en el dibujo de W (C)
incrementando la cantidad de clusters.
Gap statistic (Tibshirani (2001): Comparar la curva log W (C)
para los datos actuales, con la curva correspondiente de un
conjunto de ‘pseudo-datos’ uniformemente distribuidos el
(hiper) rectangulo que contiene a los datos actuales. El K
optimo corresponde a la maxima distancia
Walter Sosa Escudero
Analisis de Clusters
Walter Sosa Escudero
Analisis de Clusters
Seleccion de Variables
Fraiman, Justel y Svarc (JASA, 2008)
Una aproximacion alternativa al problema de reducir
dimensionalidad.
Supongamos que X es una matriz de datos que induce una
clusterizacion ‘satisfactoria’.
Idea: encontrar el minimo grupo de variables que permiten
resproducir esta clusterizacion de la mejor manera posible.
Ventaja: El ‘output’ es un grupo de variables, directamente
interpretable (a diferencia del analisis de factores).
Presupone que la clusterizacion y el numero de clusters es
‘adecuado’
Walter Sosa Escudero
Analisis de Clusters
Reduccion de variables
Que significa que ciertas variables ‘sobren’
Que ciertas variables esten muy relacionadas con otras que ya
inducen una clusterizacion adecuada (pensar en factor
analysis).
Que ciertas variables solo agreguen ‘ruido’.
Supongamos que hay solo dos variables, Y y X. Y ‘sobra’ si:
Esta muy correlacionada con X (y por ende no agrega
informacion a la clusterizacion).
Y es independiente de X y no agrega informacion a la
clusterizacion.
Walter Sosa Escudero
Analisis de Clusters
La clusterizacion depende solo de X, Y solo agrega ruido.
Walter Sosa Escudero
Analisis de Clusters
Si esta X, la clusterizacion no cambia mucho si Y no esta.
Walter Sosa Escudero
Analisis de Clusters
Blinding
Fraiman et al: si la clusterizacion inducida por X es ‘satisfactoria’,
la clusterizacion no cambia si dentro de cada cluster reemplazamos
Y por su mejor prediccion en base a X.
Si X esta muy correlacionaca con Y , dentro de cada cluster
reemplazamos Y por E(Y |X). (pensar que en el extremo,
estamos ‘duplicando’ X, ergo no altera la clusterizacion
inducida por X).
Si Y no esta relacionada con X, E(Y |X) es una constante.
Estamos reemplazando las variables redundantes o ruidosas por
una version que altera de la menor manera posible la informacion
de clusterizacion que esta contenida en X.
A este proceso de reemplazar Y por E(Y |X) se lo llama blinding.
Walter Sosa Escudero
Analisis de Clusters
X es un vector de p variables.
f : <p → {1, . . . , K} es el ‘enconder’ que asigna cada punto a un
solo cluster. El mecanismo que asigna clusters supondremos que es
K−medias.
I ⊂ 1, . . . , p es un subconjunto de indices. Z I es un vector de p
variables construido de la siguiente forma:
ZiI = Xi si i ∈ I
ZiI = E(Xi |X[I]) en caso contrario, X[I] son todas las
variables Xj |j ∈ I.
Z I es un vector ‘menos informativo’ contiene un subconjunto de
las variables originales y el resto son variables ‘blinded’
(reemplazadas por sus esperanzas condicionales).
Walter Sosa Escudero
Analisis de Clusters
Objetivo: encontrar I de modo que el algoritmo de K-medias
aplicado sobre Z I induzca una clusterizacion lo mas parecida a la
inducida si es aplicado sobre X.
Para un entero d < p, en donde #I = d, la funcion objetivo
poblacional es:
h(I) =
K
X
P (f (X) = k, f (Z I ) = k)
k=1
La version empirica para n observaciones es:
K
hn (I) =
n
1 XX
I[fn (Xj ) = k] I[fn (ZjI ) = k]
n
k=1 j=1
La idea consiste en buscar el I que maximice las coincidencias de
clusterizacion.
Walter Sosa Escudero
Analisis de Clusters
Cuestiones practicas
Efficiency: porcentaje de matches de clusterizacion explicados
por Z I
En el caso de dependencias (colinealidad), el problema es
reemplazar las variables redundantes por sus esperanzas
condicioanales: metodo no parametrico.
En el caso de variables ruidosas, reemplazamos por la media
muestral dentro del cluster (mucho mas rapido, funciona peor
con dependencias).
Busqueda exhaustiva: todas los posibles subconjuntos, puede
ser costoso. Algoritmos ‘forward’ y ‘backward’
Walter Sosa Escudero
Analisis de Clusters
Ejemplo: Calidad de la educacion
Llach et al (2006).
98 escuelas de Buenos Aires
Clusterizar escuelas en base a un cuestionario de 15 preguntas
sobre calidad.
3 clusters. Chequear si son ‘apropiados’: GKE (examen de
conocimiento general), SEL (status socioeconomico de
alumnos)
Objetivo: buscar un subconjunto de variables que reproduzcan
la clusterizacion ‘adecuada’ de la mejor manera posible.
Walter Sosa Escudero
Analisis de Clusters
Clusterizacion en base a 15 variables:
Los clusters parecen corresponderse con calidades (alta, media,
baja).
Walter Sosa Escudero
Analisis de Clusters
Las variables 3,4,7,8,9,11,12 y 14 reproducen la clusterizacion
original en un 100%.
Para una eficiencia de 97%, alcanza con las variables 3,4,7,11
y 14.
Para una eficiencia de 91%, alcanza con las variables 4,7 y 14.
4 (opinion del director de la escuela sobre el estado de los
edificios), 7 (relaciones entre directores y padres), 14
(relaciones entre maestros y padres).
Walter Sosa Escudero
Analisis de Clusters
CART
Y es una variable de interes, X es un vector de variables
(input, atributos).
La idea es construir un modelo muy flexible e interpretable
para la relacion entre Y y X.
Los metodos basados en arboles intentan partir el espacio de
atributos en rectangulos, y ajustar un modelo simple para Y
en cada uno de ellos.
Para que? no-linealidades, clasificacion, altas interacciones,
reduccion de la dimensionalidad, prediccion.
CART: Classification and Regression Tree
Walter Sosa Escudero
Analisis de Clusters
Un ejemplo simple
Hastie, Tibshirani y Friedman (2001).
Supongamos que la respuesta es Y y que los inputs son X1 y
X2 .
Partimos el espacio X1 , X2 en dos regiones, en base a una
sola variable (particion horizontal o vertical).
Dentro de cada region proponemos como prediccion la media
muestral de Y en cada region.
El punto consiste en elegir la varaible y el punto de particion
de manera optima (mejor ajuste global).
Continuar partiendo las regiones, con el mismo criterio.
Esto implica una particion recursiva binaria del espacio de
atributos.
Walter Sosa Escudero
Analisis de Clusters
Walter Sosa Escudero
Analisis de Clusters
En este caso, el proceso parte el espacio de atributos en cinco
regiones R1 , R2 , . . . , R5 y en cada region Rm , el modelo ajustado
es una constante cm .
O sea, el modelo ajustado es:
Ŷ = fˆ(X) =
5
X
cm I[(X1 , X2 )] ∈ Rm
i=1
El modelo ajustado se puede representar en forma de arbol. La
ventaja de esta ultima representacion es que vale aun para mas de
tres dimensiones.
Pensar que hace CART en dos dimensiones.
Cual es la ventaja?
Walter Sosa Escudero
Analisis de Clusters
Regression Trees
Y , X, un vector de p variables, observables para n observaciones.
El algoritmo elige cual variable usar para la particion y que punto
de esa variable usar para la particion.
Dentro de cada region, el mejor ajuste constante lo provee cm .
Greedy algotithm
j es la variable de particion y el punto de particion es s.
Definamos los siguientes semi‘planos’
R1 (j, s) = {X | Xj ≤ s}
y
R2 (j, s) = {X | Xj > s}
El problema es buscar la variable de particion j y el punto de
particion s que resuelvan


X
X
min min
(yi − c1 )2 + min
(yi − c2 )2 
j,s
c1
xi ∈R1 (j,s)
Walter Sosa Escudero
c2
xi ∈R2 (j,s)
Analisis de Clusters
Para cada varible de particion y punto de particion, la
minimizacion interna se corresponde con las medias dentro de
cada region.
El proceso se repite dentro de las regiones.
Como parar?
Un arbol demasiado extenso ‘sobreajusta’ los datos (es como
poner una dummy para cada observacion).
Estrategia: ajustar un arbol grande y luego ‘podarlo’ (prune)
usando un criterio de cost-complexity.
Walter Sosa Escudero
Analisis de Clusters
Tree pruning
Supongamos que los distintos arboles son indicados con T . Un
subarbol T ⊂ T0 es un arbol que se obtiene colapsando los nodos
terminales de otro arbol (cortando ramas).
[T ] = numero de nodos terminales del arbol T
El criterio de cost-complexity del arbol T se define como
Cα (T ) =
[T ]
X
nm Qm (T ) + α[T ]
m=1
n−1
m
2
con Qm (T ) =
xi ∈Rm (yi − ĉm ) . Qm (T ) penaliza la
heterogenidad (‘impureza’) dentro de cada region, y el segundo
termino la cantidad de regiones. El objetivo es, para un α dado,
encontrar la ‘poda’ optima que minimiza Cα (T )
P
Walter Sosa Escudero
Analisis de Clusters
Weakest link pruning: Mecanismo de busqueda de Tα (poda
optima dado α).
Resultado: para cada α hay un unico subarbol Tα que
minimiza Cα (T ).
Weakest link: eliminar sucesivamente las ramas que producen
P[T ]
el minimo incremento en m=1 nm Qm (T ). (sacar ramas es
colapsar, esto aumenta la varianza, ergo, colapsamos la
particion menos necesaria).
Esto eventualmente colapsa en el nodo inicial, pero ‘pasa’ por
una sucesion de arboles, desde el mas grande, hasta el mas
chico, por el proceso de weakest link pruning.
Breiman et al. (1984): Tα pertenece a esta sucesion.
Reducir la busqueda a esta sucesion de subarboles.
Walter Sosa Escudero
Analisis de Clusters
Eleccion de α: Cross Validation
Es una tecnica general para elegir modelos. Supongamos que el
error esperado de prediccion es
E[Y − fˆ(X)]2
El mecanismo de K−fold cross validation propone:
Dividir la muestra original en K grupos aproximadamente
iguales.
Estimar el modelo dejando de lado una de las partes, y usar el
modelo estimado para predecir Y usando las X de las
observaciones no usadas, computar el error de prediccion.
Repetir el proceso dejando de lado sucesivamente cada una de
los grupos.
Walter Sosa Escudero
Analisis de Clusters
La estimacion por cross-validation del error de prediccion es
n
CV =
1X
(yi − fˆCV (xi ))2
n
i=1
en donde fˆCV son las predicciones por cross validation.
En nuestro caso, la idea es computar CV para distintos valores de
α y elegir el que induzca menor CV .
Walter Sosa Escudero
Analisis de Clusters
Classification Trees
Y ahora toma un conjunto de valores fijos {1, 2, . . . , K} denotando
pertenencia a alguna clasificacion (no necesariamente ordinal).
En principio, la media por region no funciona. Cambiaremos la
prediccion. Definamos:
p̂mk =
1 X
I(yi = k)
nm
xi ∈Rm
Es la proporcion de observaciones en la ‘clase’ k en la region m.
La idea es clasificar a todas las observaciones en la region Rm a la
clase
k(m) = argmaxk p̂mk
o sea, clasificar todas las observaciones en la region m de acuerdo
a la clase correspondiente a la mayoria.
Walter Sosa Escudero
Analisis de Clusters
A partir de esta definicion, hay varias alternativas para la funcion
de impureza en la region:
Luego el procedimiento es identico al anterior.
Walter Sosa Escudero
Analisis de Clusters
Ejemplo: preferencias por la redistribucion
Keely y Tan (2008): relacion entre caracteristicas de las personas y
sus preferencias por la redistribucion.
Problema: implica un modelo en particular. No linealidades y
heterogeneidad.
Variables (identity markers): sex, race reg16, born, madeg,
age, etc.
Variable dependiente: eqwlth (escala 1 a 7, uno esta muy de
acuerdo con que el gobierno redistibuya para mejorar la
distribucion, 7 si muy poco de acuerdo).
13024 observaciones.
Walter Sosa Escudero
Analisis de Clusters
Walter Sosa Escudero
Analisis de Clusters
Descargar