0% encontró este documento útil (0 votos)
6 vistas36 páginas

Tema2 - Metodos Jerarquicos

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 36

Tema 1

Análisis de Cluster
Parte I: Métodos Jerárquicos

Análisis de datos y métodos de clasificación

3o Grado en Ciencia e Ingenierı́a de Datos


Contenidos
1 Introducción al análisis de cluster.

2 Medidas de Asociación.

3 Métodos jerárquicos.

4 Métodos no jerárquicos. El método de K-medias. (Parte II)


1. Introducción al análisis de cluster

Las acciones de nombrar, ordenar, agrupar y clasificar en categorı́as


son de las actividades más primitivas del hombre. Este proceso
fomentó el uso y estructura del lenguaje, puesto que fueron
necesarias palabras que ayudasen a recordar o reconocer los
diferentes tipos de objectos.

La clasificación es una herramienta que se aplica en muchas ramas de


las ciencias. Por ejemplo en biologı́a, la clasificación taxonómica de
organismos vivos. Trabajos que se remontan de Aristóteles, Teofrátes
hasta Carlos Linneo se centraron en la clasificación taxonómica
de animales y plantas. En particular Linneo dejó establecidos
los cimientos para que posteriores investigadores desarrollaran un
método cientı́fico basado en caracterı́sticas de los objetos para
clasificarlos.
Por ejemplo, algunas frutas comunes (ciruela, cereza, melocotón,
albaricoque, pera, manzana, nı́spero) pertenecen a la familia de las
Rosáceas, sin embargo estas frutas a su vez pueden clasificarse según
su género y especie:
Punto de partida

El punto de partida en el análisis de cluster o por conglomerados es,


en general, una matriz de datos X = (X1 , X2 , . . . Xp )′ :

 
x11 x12 . . . x1p
 x21 x22 . . . x2p 
X=
 
.. .. . . .
. ..

 . . 
xn1 xn2 . . . xnp

donde n es el número de individuos y p el número de variables


observadas.

Los métodos de cluster pueden enfocarse en la clasificación de los n


individuos (clasificación por filas) o clasificar los datos por variables
(clasificación por columnas).
¿Qué es un conglomerado?

En general, se entiende que un conglomerado lo forman individuos


mucho más similares entre sı́ que los de otros. Un conglomerado
tiene cohesión interna y se diferencia claramente de los demás
conglomerados. Por tanto es necesario establecer una medida de
“similitud” entre individuos o variables.
Objetivo

El objetivo para este curso es agrupar individuos u objetos


representados por las filas de X:
 
x11 x12 . . . x1p
 x21 x22 . . . x2p 
X= .
 
. .. . . .. 
 . . . . 
xn1 xn2 . . . xnp

Dado se estudiará cómo agrupar individuos representados por filas,


entonces definimos el vector fila xi para i = 1, 2, . . . , n:

xi = (xi1 , xi2 , . . . , xip )′

Definimos el conjunto ξ = {x1 , x2 , . . . , xn } compuesto por las n filas


del conjunto de datos X.
Objetivo

El objetivo del análisis por conglomerados (cluster) es la clasificación


(no supervisada) de elementos de ξ, es decir su agrupación en clases
disjuntas, que se denominan conglomerados (o clusters). Existen dos
tipos de métodos de clasificación en el análisis de cluster:
1 Métodos jerárquicos: Estos métodos tienen por objetivo agrupar
clusters para formar uno nuevo o bien separar alguno ya
existente para dar origen a otros dos, de tal forma que se
minimice alguna función de distancia o bien se maximice alguna
medida de similitud. En esta sección estudiaremos los métodos
linkage.
2 Métodos no jerárquicos: Se usan para agrupar objetos, en un
conjunto de k clusters ya predeterminado. No se tiene que
especificar una matriz de distancias ni similutudes. Se parte
de un conjunto inicial de clusters elegidos al azar, que son los
representantes de todos ellos; luego se van cambiando de modo
iterativo. Estudiaremos el método de las k-medias.
Medidas de Asociación

En varias técnicas de cluster a los elementos de ξ se les ha de


calcular alguna medida de similitud o distancias para construir los
conglomerados.

Las medidas de similitud y distancias se dividirán en tres casos:

1 Medidas de distancia para datos continuos.


2 Medidas de similitud para datos binarios.
3 Medidas de similitud para datos mixtos.
Medidas de distancia para datos continuos
En situaciones donde todos los datos son continuos, generalmente
se emplean medidas de disimilitud, especı́ficamente distancias, para
cuantificar cuán “cercano” está un individuo de otro.

Definimos una función distancia δ : ξ × ξ → R que cumple las


siguientes propiedades:

1 δij = δ(xi , xj ) ≥ 0.
2 δ(xi , xj ) = 0 si y solo si xi = xj .
3 δ(xi , xj ) = δ(xj , xi ).
4 δ(xi , xk ) ≤ δ(xi , xj ) + δ( xj , xk ) (desigualdad triangular).
Adicionalmente, si se cumple la siguiente propiedad, se dice que la
distancia δ es ultramétrica:
δik ≤ máx {δij , δjk }
En la literatura se encuentran multitud de distancias propuestas para
valores continuos.
• Distancia Euclidiana.
v
q u p
uX
d2 (xi , xj ) = ∥xi − xj ∥2 = ′
(xi − xj ) (xi − xj ) = t (xil − xjl )2
l=1

• Distancia de Minkowski.
p
!1
X r
r
dr (xi , xj ) = ∥xi − xj ∥r = |xil − xjl |
l=1

• Distancia Manhattan.
p
X
d1 (xi , xj ) = ∥xi − xj ∥1 = |xil − xjl |
l=1

• Distancia de Mahalanobis.
q
dm (xi , xj ) = ∥xi − xj ∥m = (xi − xj )′ S−1 (xi − xj )
• La medida de distancia más habitual es la distancia euclı́dea
(d2 ), pues corresponde con la distancia fı́sica entre dos puntos
p−dimensionales en el espacio euclı́deo.
• También es común emplear la distancia rectilı́nea o de
Manhattan (d1 ), que interpreta distancias en configuración
rectilı́nea, como si el espacio se tratara de calles dispuestas en
una cuadrı́cula.
• Tanto la distancia euclı́dea como la de Manhattan son casos
particulares de la distancia de Minkowski (dp ).
• Finalmente, en la distancia de Mahalanobis, las variables se
ponderan según el grado de relación que exista entre ellas, es
decir, si están más o menos correlacionadas. Si la correlación es
nula y las variables están estandarizadas, se obtiene la distancia
euclı́dea.
Medidas de similitud para datos binarios

Para el tipo de dato categórico más sencillo, el binario, se han


propuesto multitud de medidas. Todas ellas están definidas en
términos de las entradas de una tabla de contingencia que registra
las frecuencias absolutas de las coincidencias y discrepancias entre
las p variables para dos individuos.
xi \xj 1 0 Total
1 a b a+b
0 c d c +d
Total a+c b+d m =a+b+c +d
 
1 1 0 0 1
Ejemplo: Sea X(2×5) = . Calcular su tabla de
0 1 0 1 0
contingencia.
• Coeficiente de coincidencia.
(a + d)
(a + b + c + d)
• Coeficiente de Jaccard.
a
(a + b + c)
• Indice de Dice-Sorensen.
2a
(2a + b + c)
• Rogers y Tanimoto.
(a + d)
(a + 2(b + c) + d)
• Medida de Russell y Rao.
a a
=
a+b+c +d m
Medidas de similitud para datos mixtos

Hay varios métodos para construir medidas de similitud para datos


mixtos, es decir, datos compuestos tanto por variables continuas
como categóricas.
Una posibilidad es convertir las variables continuas en categóricas
mediante rangos de valores y aplicar una medida de similitud para
datos categóricos.
También es posible lo contrario, codificar cada categórica como un
valor numérico, haciendo uso de algún orden natural presente, y
entonces emplear distancias para todas las variables.
Sin embargo, el enfoque más habitual y más correcto es elegir
una medida para cada tipo de variable y combinarlas, con o sin
ponderación, en un único coeficiente. De esta manera, no se altera
ni se pierde parte de la información.
En esta sección se explicará la medida propuesta por Gower (1971).
Para denotar la diferencia entre variables categóricas y variables
numéricas, vamos a re-ordenar el vector xi .

Las primeras p1 variables serán numéricas y las últimas p − p1


variables serán categóricas. La medida de similitud de Gower viene
dada por:
  
p1 p
1 X  |xik − xjk | X
SG (xi , xj ) = 1− + 1{xik =xjk } 
p Rk
k=1 k=p1 +1

donde Rk es el rango de observaciones de la k−ésima variable


numérica. La medida de similitud para la parte numérica es la que
se obtiene al restar 1 menos la distancia de Manhattan escalada al
intervalo (0, 1). La medida para la parte categórica cuenta el número
de coincidencias.
Ejemplo: Supongamos que tenemos el siguiente dataset. Calcular
SG (x2 , x3 ):
Medidas de proximidad entre grupos

La proximidad entre dos grupos puede estar definida por un


resumen adecuado de las distancias entre cada par de individuos
pertenecientes a cada grupo.
Podrı́amos, por ejemplo, tomar la mı́nima disimilitud entre dos
individuos cualesquiera, uno de cada grupo. Este método se conoce
como single linkage (enlace único) o como nearest-neighbour (vecino
más próximo).
Asimismo, la proximidad entre grupos se puede definir de manera
opuesta, con la máxima disimilitud entre cada par de individuos, lo
cual se conoce como complete linkage (enlace completo) o furthest-
neighbour (vecino más alejado).
Adicionalmente, en vez de usar los extremos, también se puede usar
la disimilitud promedio entre cada par de individuos, conocida como
average linkage (enlace promedio).
Los métodos jerárquicos (que veremos más adelante) son capaces
de emplear cualquier tipo de medidas de proximidad entre grupos.
Métodos Jerárquicos

En la práctica, no se pueden examinar todas las posibilidades de


agrupar los elementos, incluso con los ordenadores más rápidos. Una
posible solución se encuentra en los llamados métodos jerárquicos
de tipo aglomerativo.

En los algoritmos de tipo aglomerativo, se comienza con los objetos


o individuos de modo individual; de este modo, se tienen tantos
clusters iniciales como objetos. Luego se van agrupando de modo
que los primeros en hacerlo son los más similares y al final, todos
los subgrupos se unen en un único cluster.

Con este algoritmo se deriva un dendograma, que es un gráfico que


ilustra cómo se van haciendo las subdivisiones o los agrupamientos,
etapa a etapa.
Algoritmos de tipo aglomerativo

Se dispone de una matriz de distancias o similutudes entre los


objetos D = (δij )1≤i,j≤n . La idea es que se juntan los elementos
o conglomerados más próximos, y se procura obtener distancias
ultramétricas (en el caso de tener datos continuos).
1 Se empieza por particionar el conjunto de individuos ξ = {1} +
{2} + . . . + {n}, es decir, se comienza con n conjuntos de un
solo elemento.
2 Sean i, j los dos elementos más próximos, es decir, δij = mı́n δkl .
Éstos se unen dando lugar a un nuevo conglomerado:
{i} ∩ {j} = {i, j}
y se define la distancia del conglomerado {i, j} al resto de
elementos de ξ:

δk,(i,j) = f (δik , δjk ) k ̸= i, j,
donde f es una función adecuada.
3 Se considera la nueva partición: ξ = {1}+. . .+{i, j}+. . .+{n}
y se repiten los pasos 2 y 3, hasta que todos los elementos estén
contenidos en un único conglomerado.
4 Finalmente se construye un dendograma.

La función f del paso 2, se define adecuadamente de manera


que se cumpla la propiedad ultramétrica. Los distintos métodos de
clasificación jerárquica dependen de la elección de la función f :

1 Método del mı́nimo (o single linkage). Se toma f igual al


mı́nimo:

δk,(i,j) ̸ i, j
= mı́n(δik , δjk ), k =
2 Método del mı́nimo (o complete linkage). Se toma f igual al
máximo:

δk,(i,j) = máx(δik , δjk ), k ̸= i, j
3 Método de la media (average linkage):

′ 1
δk,(i,j) = (δik + δjk ), k ̸= i, j
2
Si la matriz D no cumple la propiedad ultramétrica, los distintos
métodos de clasificación darán lugar a que matrices ultramétricas
distintas, y por tanto, a representaciones jerárquicas distintas.
Ejemplo: Sea la matriz de distancias entre 5 objetos la dada por:
 
0
 9 0 
 
D=  3 7 0


 6 5 9 0 
11 10 2 8 0
Usando la mı́nima distancia (simple linkage) construir un
dendograma.
La distancia mı́nima no funciona bien cuando los objetos están
próximos.
Se obtienen dendogramas similares si se utiliza la distancia máxima,
o la distancia media, aunque las distancias a las que se van uniendo
los objetos en los clusters varı́an en cada caso.

Problemas
• Las fuentes de error y variación no entran en consideración con
los métodos jerárquicos. Esto implica una gran sensibilidad a
observaciones anómalas o outliers.
• Si un objeto se ha colocado erróneamente en un grupo al
principio del proceso, ya no se puede arreglar en una etapa
posterior.
• Un sistema de trabajo conveniente es usar varias distancias o
similitudes con los mismos objetos y observar si se mantienen
los mismos clusters o grupos. Ası́, se comprueba la existencia
de grupos naturales.
Ejemplo (Indicadores económicos y sociales): El conjunto de
datos (paises.txt) contiene 11 indicadores económicos y sociales
de 96 paı́ses. Las variables observadas son:

growth Tasa anual de crecimiento de la población


child mortailty Tasa de mortalidad infantil
women emp Porcentaje de mujeres en población activa
gdp Producto interior bruto
energy prod Producción de energı́a
phone lines Número de lı́neas telefónicas
water consum Consumo de agua
forest area Proporición de superficie de bosques
deforestation Proporción de deforestación anual
energy consum Consumo de energı́a
co2 Emisión de CO2 per cápita
paises<-read.table("paises.txt", header=T, sep="\t")
summary(paises)
library(GGally)
ggpairs(scale(paises))+ theme(axis.text =
element_text(size = 5))+ theme_grey(base_size=5)
library(tidyverse); library(factoextra);
library(ggplot2); library(ggdendro)

# transformamos los datos a tibble


paises <- paises %> % as_tibble
# calculamos la matriz D de distancias
dist_D <- dist(scale(paises), method = "euclidean")
Nótese que en la instrucción dist D está contenida la matriz de
distancias calculada mediante la distancia euclideana. Sin embargo
estará guardada en un formato diferente a los arrays (matrices) tal
cual como los conocemos. Si queremos verla en forma matricial,
podemos usar la instrucción
as.matrix(dist_D)
Las primeras 4 filas y columnas de dist D son:
Método del mı́nimo
single_clust <- hclust(dist_D, method="single")
ggdendrogram(single_clust)
Método del máximo
complete_clust <- hclust(dist_D, method="complete")
ggdendrogram(complete_clust)
Método de la media
average_clust <- hclust(dist_D, method="average")
ggdendrogram(average_clust)
Escogemos 5 conglomerados mediante el método del máximo. Esto
después de investigar que con los demás métodos no se aprecian
grupos o clusters de forma clara.

clust<- cutree(complete_clust, k = 5)
fviz_cluster(list(data = paises,
cluster = clust))

También podría gustarte