José-María Montero
$^{a}$Universidad de Castilla-La Mancha
\index{tecnicas@técnicas de agrupación}
El origen de la actividad agrupatoria, hoy en día conocida como análisis clúster o de conglomerados (AC), taxonomía numérica o reconocimiento de patrones, entre otras denominaciones, se remonta a tiempos de Aristóteles y su discípulo Teofrasto. Por tanto, tiene unas profundas raíces y hoy en día se aplica en todos los campos del saber. Se ha evitado la palabra "clasificación" porque existe una pequeña diferencia entre agrupación y clasificación. En la actividad clasificatoria se conoce el número de grupos y qué observaciones del conjunto de datos pertenecen a cada uno, siendo el objetivo clasificar nuevas observaciones en los grupos ya existentes. En la actividad agrupatoria, el número de grupos puede ser conocido (normalmente no lo es), pero no las observaciones que pertenecen a cada uno de ellos, siendo el objetivo la asignación de dichas observaciones a diferentes grupos. Este y el siguiente capítulo se centran en este último problema, al cual se hará referencia por su denominación más popular: AC.
\index{análisis!clúster} \index{clusterización} \index{clusterización!jerárquica} \index{clusterización!no jerárquica} \index{agrupación} \index{clasificación}
El AC está orientado a la síntesis de la información contenida en un conjunto de datos, normalmente una muestra relativa a objetos, individuos o, en general, elementos, definidos por una serie de características, con vistas a establecer una agrupación de los mismos en función de su mayor o menor homogeneidad. En otros términos, el AC trata de agrupar dichos elementos en grupos mutuamente excluyentes, de tal forma que los elementos de cada grupo sean lo más parecidos posible entre sí y lo más diferentes posible de los pertenecientes a otros grupos (Fig. @ref(fig:cluster-sim-ch27)).
Para llevar a cabo un AC, se debe tomar una serie de decisiones:
- Selección de las variables en función de las cuales se van a agrupar los elementos.
- Elección del tipo de distancia o medida de similitud que se va a utilizar para medir la disimilitud entre los elementos objeto de clasificación.
- Elección de la técnica para formar los grupos o conglomerados.
- Determinación del número óptimo de clústeres (si no se determina a priori).
En este capítulo se abordarán la primera y, sobre todo, la segunda cuestión, dejando las otras dos para el capítulo siguiente.
Como ilustración práctica, se utilizará la base de datos TIC2021
del paquete CDR
, relativa a las estadísticas de uso de las TIC en la Unión Europea en 2021.
La selección de las
Elemento |
|||||
Elemento |
|||||
Elemento |
|||||
Elemento |
: (#tab:info-muestral) Información muestral
En definitiva, la información de partida (véase Tabla @ref(tab:info-muestral)) es una matriz
Una cuestión a tener en cuenta es el número de variables a considerar en el AC. La exclusión de variables relevantes generará una agrupación deficiente. La inclusión de variables irrelevantes complicará el proceso de agrupamiento sin procurar ganancias sustantivas. Dado que el miedo del investigador vendrá por el lado de la exclusión de variables relevantes, tenderá a incluir un número excesivo de variables (muchas de ellas correlacionadas). Por ello, se recomienda realizar previamente un análisis de componentes principales (véase Cap. @ref(acp)), lo que reduce la dimensionalidad del problema, y llevar a cabo el AC a partir de las componentes principales retenidas (incorrelacionadas, evitando así redundancias). La eliminación de información redundante es una cuestión importante en el proceso de clusterización, porque dicha información estaría sobreponderada en el resultado obtenido. Una solución menos drástica a este problema es la utilización de la distancia de Mahalanobis, que, como se verá posteriormente, corrige estas redundancias.
\index{componentes principales}
Otra cuestión importante en este momento es decidir si las variables (o componentes principales en su caso) seleccionadas se utilizarán estandarizadas o no. No existe consenso sobre la cuestión, si bien se suele recomendar su estandarización para evitar consecuencias no deseadas derivadas de la distinta escala y/o unidades de medida. No obstante, autores tan relevantes como @edelbrock1979mixture y @brian1993cluster están en contra y proponen las siguientes alternativas: (
Una vez se dispone de la matriz de información
\index{distancia} \index{matriz! de distancias} \index{disimilaridad}
En caso de variables cuantitativas, la distancia entre dos elementos en un espacio de
-
$d({\bf x}r;{\bf{x}}{s}) \geq0$,
-
$d({\bf x}r;{\bf{x}}{s})=0$ si y solo si ${\bf{x}}{r}={\bf x}{s}$,
-
$d({\bf x}r;{\bf{x}}{s})=d({\bf x}s;{\bf{x}}{r})$,
-
$d({\bf x}r;{\bf{x}}{s})+d({\bf x}j;{\bf{x}}{h}) \geq d({\bf x}r;{\bf{x}}{h}), \quad \forall{\bf{x}}_{k} \in \mathbb{R}^{p}$.
Con variables cualitativas, la similitud entre dos elementos, $s({\bf x}r;{\bf{x}}{s})$, es una función que
asocia un número real a cada dos puntos de
-
$s({\bf x}_r;{\bf{x}}_s) \leq s_0$ , donde$s_0$ es un número real finito arbitrario (normalmente 1), - $s({\bf x}r;{\bf{x}}{s})=s_0$ si y solo si ${\bf{x}}{r}={\bf x}{s}$,
- $s({\bf x}r;{\bf{x}}{s})=s({\bf x}s;{\bf{x}}{r})$,
- $|s({\bf x}r;{\bf{x}}{s})+s({\bf x}s;{\bf{x}}{h})|s({\bf x}r;{\bf{x}}{h}) \geq s({\bf x}r;{\bf{x}}{s})s({\bf x}s;{\bf{x}}{h}) \quad \forall{\bf{x}}_{h}\in \mathbb{R}^{p}$.
Las formas de medir la distancia o similaridad entre dos elementos que satisfacen las condiciones expuestas son muy numerosas. Las más populares son las siguientes:
Variables cuantitativas
- Distancia euclídea. \index{distancia!euclídea} Se define como: \begin{equation} d_{e}({\bf x}r;{\bf{x}}{s})=\sqrt{\sum_{j=1}^{p}\left( x_{jr}-x_{js}\right) ^{2}}. \end{equation} \index{distancia!euclídea} \index{distancia!euclídea al cuadrado}
Ignora las unidades de medida de las variables y, en consecuencia, aunque es invariante a los cambios de origen, no lo es a los cambios de escala. También ignora las relaciones entre ellas. Resulta de utilidad con variables cuantitativas incorrelacionadas y medidas en las mismas unidades. El cuadrado de la distancia euclídea \index{distancia!euclídea al cuadrado} también suele utilizarse como distancia. Para el conjunto de datos TIC2021
, la distancia euclídea se obtiene ejecutando el siguiente código:
library("CDR")
data("TIC2021")
library("factoextra")
tic <- scale(TIC2021) # estandariza las variables
d_euclidea <- get_dist(x = tic, method = "euclidea")
as.matrix(d_euclidea)[1:5, 1:5]
#> BE BG CZ DK DE
#> BE 0.000000 6.421631 2.417212 1.870962 2.304686
#> BG 6.421631 0.000000 4.616177 7.988106 4.871235
#> CZ 2.417212 4.616177 0.000000 3.765714 1.366011
#> DK 1.870962 7.988106 3.765714 0.000000 3.607589
#> DE 2.304686 4.871235 1.366011 3.607589 0.000000
fviz_dist(dist.obj = d_euclidea, lab_size = 10)
La Fig. @ref(fig:plot-dist-euclidea) muestra un heatmap3 de distancias euclídeas entre los países de la UE-27 a partir de las estadísticas de uso de las TIC en 2021.
- Distancia Manhattan o city block. \index{distancia!Manhattan} Se define como: \begin{equation} d_{MAN}({\bf x}r;{\bf{x}}{s})=\sum_{j=1}^{p}\left\vert x_{jr}-x_{js}\right\vert. \end{equation} \index{distancia!Manhattan} \index{heatmap@\textit{heatmap}}
Viene afectada por los cambios de escala en alguna de las variables y es menos sensible que la distancia euclídea a los valores extremos. Por ello, es recomendable cuando las variables son cuantitativas, con las mismas unidades de medida, sin relaciones entre ellas y con valores extremos.
- Distancia de Minkowski. Se define como:\index{distancia!de Minkowski} \begin{equation} d_{MIN}({\bf x}r;{\bf{x}}{s})=\left( \sum_{j=1}^{p}\left\vert x_{jr}-x_{js}\right\vert ^{\lambda}\right) ^{\frac{1}{\lambda}}. \end{equation} \index{distancia!de Minkowski}
Las distancias euclídea y Manhattan son casos particulares de la distancia de Minkowski. En la distancia euclídea
- Norma del supremo o distancia de Chebyshev. Su expresión es: \begin{equation} d_{CHE}({\bf x}r;{\bf{x}}{s})=\max_{1\leq j\leq p}\sum_{j=1}^{p}\left\vert x_{jr} - x_{js}\right\vert. \end{equation}
Únicamente influye en ella la variable con los valores más extremos y, en este sentido, es muy sensible a los cambios de escala en una de las variables.
\index{distancia!de Chebyshev}
- Distancia de Mahalanobis. Se define como: \index{distancia!de Mahalanobis} \begin{equation} d_{MAH}=({\bf x}r;{\bf{x}}{s})=(\mathbf{x}{r}-\mathbf{x}{s})^{\prime}\mathbf{S}^{-1} (\mathbf{x}{r}-\mathbf{x}{s}). \end{equation}
\index{distancia!de Mahalanobis}
Coincide con la distancia euclídea calculada sobre las componentes principales. Es invariante a cambios de origen y de escala (por tanto, la matriz de covarianzas entre las variables agrupadoras,
Su principal desventaja es que
- Coeficiente de correlación de Pearson. Se define como: \begin{equation} d_{P}({\bf x}r;{\bf{x}}{s})=\frac{\sum_{j=1}^{p}\left( x_{jr}-\overline{x}{r}\right) \left( x{js}-\overline{x}{s}\right) }{\sqrt{\sum{j=1} ^{p}\left( x_{rj}-\overline{x}{r}\right) ^{2}\sum{j=1}^{p}\left( x_{sj}-\overline{x}_{s}\right) ^{2}}}. \end{equation}
\index{distancia!coseno} \index{coeficiente!de correlación!de Pearson} \index{coeficiente!de congruencia} En realidad no es una distancia, sino un indicador de similitud. Por tanto, valores altos indican elementos similares y valores bajos, elementos distintos.
Su campo de variación es
Tiene un inconveniente importante: un valor unitario no significa que los dos elementos sean iguales, puesto que también pueden obtenerse valores unitarios cuando los valores de las
Se utiliza en escasas ocasiones y preferentemente con datos cuantitativos y con el algoritmo de distancia mínima. Los coeficientes de correlación por rangos de Kendall y Spearman se utilizan también en casos de variables ordinales.
\index{coeficiente!de correlación!de Kendall} \index{coeficiente!de correlación!de Spearman}
A efectos prácticos, cambiando el argumento method
de la función get_dist
(euclidea
, maximum
, manhattan
, minkowski
, pearson
, spearman
, kendall
) se obtienen distintas matrices de distancias entre los elementos.
Variables cualitativas (dicotómicas)
En este caso, se pueden establecer distintas medidas de similaridad en base a una tabla de contingencia
Elem. |
||||
---|---|---|---|---|
Presencia | Ausencia | Total | ||
Elem. |
Presencia | |||
Ausencia | ||||
Total |
: (#tab:vle-cualitativas) Tabla de contingencia 2
A partir de la Tabla @ref(tab:vle-cualitativas), la similaridad entre dos elementos se puede medir a partir de las coincidencias, ya sea tanto de presencias y ausencias como de solo presencias.
Entre las medidas de similaridad que involucran tanto presencias como ausencias comunes están:
- El coeficiente de coincidencias simple:
$c_{cs}=\frac{(n_{11} + n_{22})} {2}$ . - El coeficiente de Rogers-Tanimoto:
$c_{RT}=\frac{(n_{11} + n_{22})} {2 (n_{11} + n_{22})+ n_{12}+n_{21}}$ .
\index{coeficiente!de coincidencias simple} \index{coeficiente!de Rogers-Tanimoto}
Estos dos coeficientes tienen una relación monotónica (si la distancia entre dos elementos es igual o superior a la distancia entre otros dos con una de las medidas, también lo es con la otra). Esta circunstancia es realmente importante, dado que algunos procedimientos de agrupación no se ven afectados por la medida utilizada siempre y cuando el ordenamiento establecido por ellas sea el mismo.
Entre aquellas que identifican similaridad con presencias destacan:
-
El coeficiente de Jaccard:
$c_J=\frac{n_{11}} {n_{11} + n_{12}+ n_{21}}$ . -
El coeficiente de Czekanowski:
$c_{C}=\frac{2 n_{11}} {2n_{11} + n_{12}+ n_{21}}$ . -
El coeficiente de Sokal y Sneath:
$c_{SS}=\frac{n_{11} } {n_{11} + 2(n_{12}+n_{21})}$ . -
El coeficiente de Russell y Rao:
$c_{RR}=\frac {n_{11}}{p}$ .
\index{coeficiente!de Jaccard} \index{coeficiente!de Czekanowski} \index{coeficiente!de Sokal y Sneath} \index{coeficiente!de Russell y Rao}
Los tres primeros coeficientes tienen una relación de monotonicidad en el sentido anteriormente apuntado, siendo las dos primeros los más utilizados en la práctica.
También se usan como indicadores de similitud las medidas de asociación para tablas
\index{medidas de asociación!en tablas
Variables cualitativas (politómicas)
Cuando todas las variables son cualitativas y alguna es politómica, para estas últimas se generan tantas variables dicotómicas como categorías tienen, denotando con 1 la presencia y con 0 la ausencia.
Variables cuantitativas y cualitativas
Si las variables no son del mismo tipo, se utiliza la medida de similaridad de Gower: \index{coeficiente!de Gower}
\begin{equation} S_{rs}({\bf x}r;{\bf{x}}{s})=\frac{\sum_{j=1}^{p}s_{rs}}{\sum_{j=1}^{p}w_{rs}}, \end{equation}
donde
En cuanto al valor de
- Variables cualitativas de más de dos niveles: 1 si ambos elementos son iguales en la j-ésima variable; 0 si son diferentes.
- Variables dicotómicas: 1 si la variable considerada está presente en ambos elementos; 0 en los demás casos.
- Variables cuantitativas:
$1-\frac {|x_{jr}-x_{js}|}{R_j}$ , donde$R$ es el rango de la j-ésima variable.
No es recomendable cuando las variables cuantitativas sean muy asimétricas. En este caso, hay dos procedimientos aproximados:
-
$(i)$ calcular medidas separadas para las variables cuantitativas y cualitativas y combinarlas estableciendo algún tipo de de ponderación, y -
$(ii)$ pasar las variables cuantitativas a cualitativas y utilizar las medidas propuestas para este tipo de variables.
Técnicas de agrupación jerárquicas \index{tecnicas@técnicas de agrupación!jerárquicas} \index{tecnicas@técnicas de agrupación!no jerárquicas}
Una vez seleccionadas las variables en función de las cuales se van a agrupar los elementos disponibles en clústeres o conglomerados, así como la a distancia utilizar para tal propósito, el siguiente paso del AC es la selección de un criterio o técnica de agrupamiento para formar los conglomerados. Dichas técnicas se pueden clasificar en
::: {.infobox data-latex=""} TÉCNICAS DE CLUSTERIZACIÓN
-
Jerárquicas
-
Aglomerativas
- Vecino más cercano o encadenamiento simple.
- Vecino más lejano o encadenamiento completo.
- Método de la distancia media.
- Método de la distancia entre centroides.
- Método de la mediana.
- Método de Ward.
- Encadenamiento intragrupos.
- Método flexible de Lance y Williams.
-
Divisivas
- Vecino más cercano o encadenamiento simple.
- Vecino más lejano o encadenamiento completo.
- Método de la distancia media.
- Método de la distancia entre centroides.
- Método de la mediana.
- Método de Ward.
- Encadenamiento intragrupos.
- Análisis de la asociación.
- Detector automático de interacciones.
-
Aglomerativas
-
No jerárquicas
-
Técnicas de reasignación
- Basadas en centroides: método de Forgy,
$k$ -medias. - Basadas en medoides:
$k$ -medoides, PAM, CLARA, CLARANS. - Basadas en medianas:
$k$ -medianas.
- Basadas en centroides: método de Forgy,
-
Técnicas basadas en la densidad de elementos (mode-seeking)
- Aproximación tipológica: análisis modal, métodos TaxMap, de Fortin, de Gitman y Levine, de Catel y Coulter.
- Aproximación probabilística: método de Wolf.
- DBSCAN.
-
Otras técnicas no jerárquicas
- Métodos directos:
$block$ -; bi-; co-; two-mode$clustering$ - Métodos de reducción de la dimensionalidad: modelos
$Q$ - y$R$ -factorial. - Clustering difuso.
- Métodos basados en mixturas de modelos. \index{tecnicas@técnicas de agrupación!jerárquicas!aglomerativas} \index{tecnicas@técnicas de agrupación!jerárquicas!divisivas} \index{tecnicas@técnicas de agrupación!no jerárquicas} \index{tecnicas@técnicas de agrupación!no jerárquicas!de reasignación} \index{tecnicas@técnicas de agrupación!no jerárquicas!basadas en la densidad de elementos} \index{tecnicas@técnicas de agrupación!no jerárquicas!otras}
- Métodos directos:
-
Técnicas de reasignación
:::
Los procedimientos jerárquicos no particionan el conjunto de elementos de una sola vez, sino que realizan particiones sucesivas a distintos niveles de agrupamiento; es decir, establecen una jerarquía de clústeres; de ahí su nombre. Forman los conglomerados, bien agrupando los elementos en grupos cada vez más grandes, fusionando grupos en cada paso (jerárquicos aglomerativos), o bien desagregándolos en conglomerados cada vez más pequeños (jerárquicos divisivos).
\index{tecnicas@técnicas de agrupación!jerárquicas} \index{tecnicas@técnicas de agrupación!jerárquicas!aglomerativas} \index{tecnicas@técnicas de agrupación!jerárquicas!divisivas}
Las técnicas no jerárquicas se caracterizan porque
Las técnicas jerárquicas aglomerativas, de amplia utilización, parten de tantos conglomerados como elementos y llegan a un único conglomerado final.
Se parte de un conglomerado constituido por los dos elementos más próximos, de tal manera que en la segunda etapa el conglomerado formado actuará a modo de elemento (como si se tuviesen
La pregunta que surge en este momento es: en el proceso de agrupamiento descrito, ¿cómo se mide la distancia de un elemento a un conglomerado, o entre dos conglomerados?5 Los métodos más populares son los siguientes:
- Método del encadenamiento simple o vecino más cercano \index{metodo@método! del vecino más cercano}
Utiliza el criterio de "la distancia más cercana". Por tanto,
- Método del encadenamiento completo o vecino más lejano \index{metodo@método! del vecino más lejano}
Funciona igual que el anterior, \index{metodo@método! del vecino más lejano} pero ahora el criterio es "la distancia más lejana".
Nótese que, mientras que con el método del vecino más cercano la distancia entre los elementos más próximos de un clúster es siempre menor que la distancia entre elementos de distintos clústeres, con el criterio del vecino más lejano la distancia entre los dos elementos más alejados de un clúster es siempre menor que la distancia entre cualquiera de sus elementos y los elementos más alejados de los demás clústeres. Nótese también que, mientras que el método del vecino más cercano tiende a separar a los individuos en menor medida que la indicada por sus disimilaridades iniciales (es espacio-contractivo), el criterio del vecino más lejano es espacio-dilatante, es decir, tiende a separar a los individuos en mayor medida que la indicada por sus disimilaridades iniciales [@gallardoyvera2004].
- Método de la distancia media \index{metodo@método! de la distancia media} \index{distancia!media}
Surge como una solución a la constricción o dilatación del espacio que provocan los dos métodos anteriores (por eso se dice que es espacio-conservativo y es muy utilizado), utilizando "la distancia promedio", es decir, la distancia entre un elemento y un conglomerado es la media aritmética de las distancias de dicho elemento a cada uno de los elementos del conglomerado. En caso de dos conglomerados, la distancia entre ellos viene dada por el promedio aritmético de las distancias, dos a dos, tomándose un elemento de cada conglomerado. Igual que los dos métodos precedentes, es invariante a transformaciones monótonas de la distancia utilizada.
En la Fig. @ref(fig:cluster-compara) se puede ver la constricción, dilatación y conservación del espacio que producen los métodos del vecino más cercano, más lejano y de la distancia media, respectivamente. En este caso se utiliza como representación gráfica el dendrograma (diagrama de árbol). En figuras posteriores se utilizarán otras alternativas al dendrograma, con el objetivo de mostrar las más populares. \index{dendrograma}
hc_simple <- hcut(tic, k = 3, hc_method = "single")
hc_completo <- hcut(tic, k = 3, hc_method = "complete")
hc_promedio <- hcut(tic, k = 3, hc_method = "average")
library("patchwork")
d1 <- fviz_dend(hc_simple, cex = 0.5, k = 3, main = "Vecino más cercano")
d2 <- fviz_dend(hc_completo, cex = 0.5, k = 3, main = "Vecino más lejano")
d3 <- fviz_dend(hc_promedio, cex = 0.5, k = 3, main = "Distancia promedio")
d1 + d2 + d3
(\#fig:cluster-compara)Clusterización jerárquica con distancias euclídeas (dendrograma): métodos del vecino más cercano, vecino más lejano y distancia media.
Según este método\index{distancia!entre centroides}, la distancia entre dos grupos o conglomerados es la distancia entre sus centroides, entendiendo por centroide del grupo
Igual que el método de la media, este método es también espacio-conservativo. Sin embargo, tiene la limitación de que cuando se agrupan dos conglomerados de diferente tamaño, el conglomerado resultante queda más cerca del conglomerado mayor y más alejado del menor, de forma proporcional a la diferencia de tamaños, lo que lleva a que a lo largo del proceso de clusterización se vayan perdiendo las propiedades de los conglomerados pequeños [@gallardo2022].
- Método de la mediana
\index{metodo@método! de la mediana} Viene a superar la limitación del método del centroide. Para ello, la estrategia natural es suponer que los grupos son de igual tamaño. Dicha estrategia se plasma en suponer que la distancia entre un elemento (o un conglomerado,
La Fig. @ref(fig:cluster-compara2), un tanglegrama o diagrama de laberinto, muestra las agrupaciones producidas por los métodos del centroide y la mediana. En ella se puede observar como el método de la mediana corrige la limitación del método del centroide. \index{tanglegrama} \index{metodo@método! de la mediana} \index{metodo@método! del centroide}
library("dendextend")
library("cluster")
hc_cent_dend <- as.dendrogram(hclust(d_euclidea, method = "centroid"))
hc_med_dend <- as.dendrogram(hclust(d_euclidea, method = "median"))
tanglegram(hc_cent_dend, hc_med_dend)
(\#fig:cluster-compara2)Clusterización jerárquica con distancias euclídeas (tanglegrama): método del centroide vs. método de la mediana.
- Método de Ward
El método de Ward agrupa, en cada etapa, los dos clústeres que producen el menor incremento de la varianza total intraclúster:
\begin{equation} W=\sum_g\sum_{i \in g} (x_{gi}- \bar{x}g)^{\prime} (x{gi}- \bar{x}_g), \end{equation}
donde
Procediendo de esta manera, los grupos formados no distorsionan los datos originales.6 \index{varianza! intraclúster}
Es muy utilizado en la práctica, dado que tiene casi todas las ventajas del método de la media y suele ser más discriminatorio en la determinación de los niveles de agrupación. También suele crear conglomerados muy compactos de tamaño similar. Dado que el menor incremento de
La Fig. @ref(fig:plot-igraph) muestra el filograma, diagrama filético en forma de árbol filogenético, generado por la librería igraph
con el método de agrupación de Ward. \index{filograma}
library("igraph")
set.seed(5665)
hc_ward <- hcut(tic, k = 3, hc_method = "ward.D2")
fviz_dend(
x = hc_ward,
k = 3,
type = "phylogenic"
)
(\#fig:plot-igraph)Clusterización jerárquica con distancias euclídeas al cuadrado (filograma): método de Ward.
- Método del encadenamiento intragrupos \index{metodo@método! del encadenamiento intragrupos}
Según el método de la distancia promedio (o vinculación entre grupos) la distancia entre dos conglomerados se obtenía calculando las distancias de cada elemento de uno de los grupos con todos los del otro y computando, posteriormente, la media aritmética de dichas distancias. Con el método de la vinculación intragrupos se computa la distancia media entre la totalidad de los elementos de los conglomerados susceptibles de agrupación, con independencia de si pertenecen al mismo conglomerado inicial o a distinto conglomerado. Por ejemplo, si un conglomerado está formado por los elementos
- Método flexible de Lance y Williams \index{metodo@método! de Lance y Williams}
Calcula la distancia entre dos conglomerados (el primero formado por la unión de otros dos en la etapa previa) a partir de la siguiente expresión:
Los métodos anteriormente expuestos son casos particulares de este. Denominando
Método | ||||
---|---|---|---|---|
Vecino más cercano | 0,5 | 0,5 | 0 | |
Vecino más lejano | 0,5 | 0,5 | 0 | 0,5 |
Distancia media | 0 | 0 | ||
Distancia entre centroides | 0 | |||
Método de la mediana | 0,5 | 0,5 | -0,25 | 0 |
Ward | 0 | |||
Flexible | 0 |
Table:(#tab:lancewill) Valores de
En este caso, la secuencia de acontecimientos es justo la inversa. Se parte de un único conglomerado formado por todos los elementos y se llega a
Las técnicas divisivas son menos populares que las aglomerativas. Sin embargo, la probabilidad de que lleven a decisiones equivocadas (debido a la variabilidad estadística de los datos) en las etapas iniciales del proceso, lo cual distorsionaría el resultado final del mismo, es menor que en las aglomerativas. En este sentido, los métodos partitivos, al partir del total de elementos, se consideran más seguros que los aglomerativos. Los métodos disociativos más populares son los siguientes:
- Método de la distancia promedio \index{metodo@método! de la distancia promedio} \index{tecnicas@técnicasde agrupación!jerárquicas!divisivas!politéticas}
Dentro de las técnicas politéticas, entre las que se cuentan todas las vistas en la clusterización jerárquica aglomerativa, quizás la más popular es la que utiliza el método de la distancia promedio para la partición. Para ilustrarla, supóngase que se tienen 5 elementos y que su matriz de distancias es la siguiente:
En la primera etapa hay que dividir el grupo de cinco elementos en dos conglomerados. Hay
A partir de la segunda etapa, se procede como sigue (véase Tabla @ref(tab:cluster1)):
-
Se calculan las (cuatro) distancias promedio de cada elemento del conglomerado principal al elemento desgajado;
-
se calculan las (cuatro) distancias promedio de cada elemento del conglomerado principal al resto de elementos del mismo;
-
se computan las diferencias
$(1)-(2)$ para cada uno de los (cuatro) elementos del conglomerado principal; -
de entre aquellos elementos del grupo principal en los que
$(1)-(2)<0$ se selecciona aquel para el cual es máxima. Tras esta segunda etapa los conglomerados son${e_1, e_5}$ y${e_2, e_3, e_4}$ .
Elemento | Distancia promedio al grupo desgajado |
Distancia promedio al grupo principal | Diferencia |
---|---|---|---|
8 | 3 | 5 | |
7 | 3 | 4 | |
6 | 3 | 3 | |
3 | 4,33 | $-$1,33 |
Table:(#tab:cluster1) Distancias entre conglomerados: segunda etapa
En las siguientes etapas se procede de igual manera, hasta que todas las diferencias sean positivas (en el caso que se considera, esto ocurre en la tercera etapa; véase Tabla @ref(tab:cluster2)).
Elemento | Distancia promedio al grupo desgajado |
Distancia promedio al grupo principal | Diferencia |
---|---|---|---|
6 | 2,5 | 3,5 | |
6 | 4 | 2 | |
5 | 2,5 | 2,5 |
Table:(#tab:cluster2) Distancias entre conglomerados: tercera etapa
Cuando esto ocurre, es decir, cuando todos los elementos del conglomerado principal están más cerca de los demás que lo componen que de los del conglomerado disociado, se vuelve a iniciar el algoritmo, pero esta vez para cada uno de los dos conglomerados generados [@macnaughton_et_al1964]. En el caso que nos ocupa, en
A continuación se aplica el algoritmo anteriormente expuesto a cada elemento del grupo principal
Elemento | Distancia promedio al grupo desgajado |
Distancia promedio al grupo principal | Diferencia |
---|---|---|---|
4 | 1 | 3 | |
4 | 1 | 3 |
Table:(#tab:cluster3) Distancia entre conglomerados: etapa final
El algoritmo DIvisive ANAlysis (DIANA) \index{DIANA} permite llevar a cabo la partición anterior utilizando el diámetro de los clústeres para decidir el orden de partición de los clústeres cuando se tienen varios con más de un elemento, véase Cap. 6 de @kauf_1990. Proporciona ?diana.object
), que mide la cantidad de estructura de agrupamiento encontrada; y ?plot.diana
para los detalles de la función). \index{coeficiente!divisivo} \index{pancarta}
Para el ejemplo de los datos TIC2021
, DIANA proporciona el coeficiente divisivo (valores cercanos a 1 sugieren una estructura de agrupación fuerte), y el dendrograma, en este caso circular, representado en la Fig. @ref(fig:diana).
hc_diana <- diana(tic, metric = "euclidea")
hc_diana$dc
#> [1] 0.8043393
fviz_dend(
x = hc_diana,
k = 3,
type = "circular",
ggtheme = theme_minimal()
)
- Análisis de la asociación
En caso de que los elementos vengan caracterizados por variables cualitativas o factores dicotómicos,
\index{tabla!de contingencia!$2\times2$}
Presencia | factor j | |||
SÍ | NO | Total | ||
Presencia | SÍ | |||
factor i | NO | |||
Total | n |
Table:(#tab:cluster-tab-cont) Ejemplo de tabla de contingencia 2
- Método del detector automático de interacciones (AID)
No es propiamente un método de AC, sino de la esfera de los modelos lineales de rango no completo. Sin embargo, se menciona, siquiera mínimamente, porque se utiliza en algunas ocasiones para combinar categorías de los factores utilizados con la finalidad de generar grupos que difieran lo más posible entre sí respecto de los valores de una variable dependiente medida en una escala métrica (con una escala proporcional o de intervalo) o ficticia (dicotómica con valores 0 y 1). Específicamente, el AID realiza divisiones secuenciales dicotómicas de la variable a explicar mediante un análisis de la varianza (ANOVA), dividiendo inicialmente el conjunto de elementos objeto de agrupación en dos grupos según la variable que mejor explica las diferencias en el comportamiento a estudiar (en cada etapa se busca la partición que maximiza la varianza intergrupos y minimiza la varianza intragrupos). Cada uno de los dos grupos formados se vuelve a subdividir de acuerdo con la variable que mejor explica las diferencias entre ellos; este proceso continúa hasta que el tamaño de los grupos dicotómicos alcanza un mínimo preestablecido o hasta que las diferencias entre los valores medios de los grupos no sean significativas.
En este algoritmo, el proceso de subdivisión del conjunto de elementos en grupos dicotómicos continúa hasta que se verifica algún criterio de parada.
Las limitaciones más importantes del AID son las siguientes:
- Tiende a seleccionar como más explicativas las variables con mayor número de categorías. Por eso no conviene utilizarlo cuando las variables explicativas difieran mucho en el número de categorías.
- Las particiones resultantes dependen de la variable elegida en primer lugar, condicionando las sucesivas particiones.
- Su naturaleza exclusivamente dicotómica también es una limitación importante. Si se llevasen a cabo particiones con tres o más ramas produciría una mayor reducción de la varianza residual y, además, se facilitaría una mejor selección de otras variables.
El AID basado en tablas de contingencia y el estadístico Chi-cuadrado (CHAID) \index{metodo@método! CHAID} corrige la mayoría de estas limitaciones. Aunque inicialmente fue diseñado para variables categóricas, posteriormente se incluyó la posibilidad de trabajar con variables categóricas nominales, categóricas ordinales y continuas, permitiendo generar tanto árboles de decisión, para resolver problemas de clasificación, como árboles de regresión. Además, los nodos se pueden dividir en más de dos ramas.
\index{metodo@método! del detector automático de interacciones}
Dado que las técnicas jerárquicas imponen una estructura sobre los datos y pueden producir distorsiones significativas en las relaciones entre los datos originales, una vez realizada la jerarquización de los elementos objeto de clusterización, surge la siguiente pregunta: ¿en qué medida la estructura final obtenida representa las similitudes o diferencias entre dichos objetos? En otros términos, ¿en qué medida el dendrograma (la representación gráfica que sea) representa la matriz de distancias o similitudes original?
El coeficiente de correlación lineal cofenético da respuesta a dichas preguntas. Se define como el coeficiente de correlación lineal entre los
En el ejemplo TIC, el mayor coeficiente cofenético corresponde al método del promedio o del centroide, si bien el de las otras técnicas de agregación es bastante parecido.
# comparación con la distancia euclidea: d_euclidea
cof_simp <- cophenetic(hc_simple)
cof_comp <- cophenetic(hc_completo)
cof_prom <- cophenetic(hc_promedio)
cof_ward <- cophenetic(hc_ward)
cof_dia <- cophenetic(hc_diana)
coef_cofeneticos <- cbind(d_euclidea, cof_simp, cof_comp, cof_prom, cof_ward, cof_dia)
round(cor(coef_cofeneticos)[1, ], 2)
#> d_euclidea cof_simp cof_comp cof_prom cof_ward cof_dia
#> 1.00 0.71 0.61 0.77 0.60 0.65
\index{coeficiente!de correlación lineal!cofenético} \index{matriz! cofenética}
\index{numero@número!óptimo de clústeres}
Acabado el procedimiento de clusterización de los
Para tomar esta decisión, además del sentido común y el conocimiento que se tenga del fenómeno en estudio, se puede echar mano de distintos procedimientos heurísticos:
-
El primero se basa en el dendrograma \index{dendrograma} y, en concreto, en la representación de las distintas etapas del algoritmo y las distancias a la que se producen las agrupaciones o particiones de los clústeres. Para cada distancia, el dendrograma produce un número determinado de clústeres que aumenta (o disminuye) con la misma. Por tanto, el número de clústeres dependerá de la distancia a la que se corte el dendrograma (eje de ordenadas del dendrograma, height). Dicha distancia debería elegirse de tal forma que los conglomerados estuviesen bien determinados y fuesen interpretables. En las primeras etapas del proceso las distancias no varían mucho, pero en las etapas intermedias y, sobre todo, finales, las distancias aumentan mucho entre dos etapas consecutivas. Por ello, se suele cortar el dendrograma a la height a la cual las distancias entre dos etapas consecutivas del proceso empiecen a ser muy grandes, indicador de que los grupos empiezan a ser muy distintos.
-
Otra posibilidad es utilizar el gráfico de sedimentación (Sec. @ref(numcomp)), que relaciona la variablidad entre clústeres (eje de ordenadas) con el número de clústeres (eje de abscisas). Normalmente, decrece bruscamente al principio, y posteriormente más despacio, hasta llegar a la parte de sedimentación (el codo del gráfico), donde el decrecimiento es muy lento. Pues bien, el número óptimo de conglomerados es el correspondiente al codo o comienzo del área de sedimentación del gráfico.
El algoritmo del gráfico de sedimentación es como sigue:
- Clusterícese variando el número de grupos,
$k$ , por ejemplo, de 1 a 10. - Para cada valor de
$k$ , compútese la suma de cuadrados intragrupo (WSS). - Trácese la gráfica de WSS
$vs.$ $k$ . - Determínese el número óptimo de grupos.
Con conjuntos de datos de tamaño pequeño a moderado, este proceso se puede realizar convenientemente con
factoextra::fviz_nbclust()
. \index{grafico@{gráfico}!de sedimentación} - Clusterícese variando el número de grupos,
-
Otra opción es el ancho de silueta promedio. El coeficiente o ancho de silueta se basa en la comparación de la distancia media a elementos en el mismo grupo con la distancia media a elementos en otros grupos. \index{ancho de silueta promedio}
Este método calcula el ancho de silueta promedio (
avg.sil.wid.
) de los elementos objeto de agrupación para diferentes valores de$k$ . Como un valor alto del ancho promedio indica una buena agrupación, el número óptimo de conglomerados es el que lo maximiza. El campo de variación del ancho de silueta es$[-1, 1]$ , donde 1 significa que los elementos están muy cerca de su propio clúster y lejos de otros clústeres, mientras que$-1$ indica que están cerca de los clústeres vecinos. -
El criterio del gap (brecha), similar al método del codo, tiene como finalidad encontrar la mayor diferencia o distancia entre los diferentes grupos de elementos que se van formando en el proceso de clusterización y que se representan normalmente en un dendrograma. Se computan las distancias de cada uno de los enlaces que forman el dendrograma y se observa cuál es la mayor de ellas. El máximo del gráfico de estas diferencias vs. el número de clústeres indica el número óptimo de clústeres (véase Fig. @ref(fig:plot-kresults-hc)).
\index{criterio!del gap @ del \textit{gap}}
p1 <- fviz_nbclust(tic,
FUN = hcut, method = "wss",
k.max = 10
) +
ggtitle("Elbow")
p2 <- fviz_nbclust(tic,
FUN = hcut, method = "silhouette",
k.max = 10
) +
ggtitle("Silhouette")
p3 <- fviz_nbclust(tic,
FUN = hcut, method = "gap_stat",
k.max = 10
) +
ggtitle("Gap")
p1 + p2 + p3
- Finalmente, el índice de Dunn es el cociente entre la mínima distancia intergrupos y la máxima distancia intragrupos. A mayor índice, mayor calidad de clusterización.
\index{indice@índice!de Dunn} \index{distancia!intergrupos} \index{distancia!intragrupos}
library("clValid")
cut2_hc_prom <- cutree(hc_promedio, k = 2)
cut3_hc_prom <- cutree(hc_promedio, k = 3)
cut4_hc_prom <- cutree(hc_promedio, k = 4)
cut5_hc_prom <- cutree(hc_promedio, k = 5)
dunn(d_euclidea, cut2_hc_prom)
#> [1] 0.4465593
dunn(d_euclidea, cut3_hc_prom)
#> [1] 0.3751942
dunn(d_euclidea, cut4_hc_prom)
#> [1] 0.4074884
dunn(d_euclidea, cut5_hc_prom)
#> [1] 0.4366356
En el ejemplo TIC, el gráfico de sedimentación y criterio del gap indican un número óptimo de clústeres de 3. El ancho de silueta alcanza su máximo con dos clústeres, si bien la altura del gráfico para tres clústeres es prácticamente la misma. Por ello, se opta por 3 clústeres a pesar de que el índice de Dunn también se decanta por dos. El primero lo forman Rumanía, Bulgaria y Grecia, la franja sudeste de la UE-27, que se caracteriza por tener los peores guarismos en dotación y uso de las TIC, tanto a nivel de hogar como de empresa. El segundo lo integran el resto de la franja este más las tres primeras economías de la Unión y Portugal. Tienen unos elevados porcentajes en todas las variables, pero no los mayores, que corresponden a los demás países de la UE-27, el tercer conglomerado.
Además de los procedimientos anteriores, hay otros, no tan populares, NbClust
de R contiene la función NbClust()
, que calcula 30 índices para valorar el número óptimo de clústeres.
::: {.infobox_resume data-latex=""}
El análisis clúster está orientado a la agrupación de un conjunto de elementos en grupos, en función de una serie de características, tal que los elementos de cada grupo sean lo más parecidos posible entre sí y lo más diferentes posible de los de otros grupos.
Este proceso implica:
-
La selección de las variables en función de las cuales se van a agrupar;
-
la elección de la distancia o medida de similitud entre ellos;
-
la elección de la técnica para formar los grupos; y
-
la determinación del número óptimo de clústeres, cuando sea menester.
Estos son los asuntos que se estudian en este capítulo, si bien, por cuestiones de espacio, solo se abordan las técnicas de clusterización jerárquicas, estudiándose las no jerárquicas en el siguiente capítulo. :::
José-María Montero$^{a}$ y Gema Fernández-Avilés
$^{a}$Universidad de Castilla-La Mancha
Como se avanzó en la Sec. @ref(introac), aunque las técnicas de agrupación jerárquicas son muy utilizadas, existen otras, también muy populares, que se aglutinan bajo la denominación de no jerárquicas y que se pueden clasificar, sin ánimo de exhaustividad, en
\index{tecnicas@técnicas de agrupación!no jerárquicas!de reasignación} \index{tecnicas@técnicas de agrupación!no jerárquicas!basadas en la densidad de elementos} \index{tecnicas@técnicas de agrupación!no jerárquicas!de reducción de la dimensionalidad} \index{tecnicas@técnicas de agrupación!no jerárquicas!de clusterización@\textit{clustering} difuso} \index{tecnicas@técnicas de agrupación!no jerárquicas!basadas en mixturas de modelos} \index{tecnicas@técnicas de agrupación!no jerárquicas!Q-factorial} \index{tecnicas@técnicas de agrupación!no jerárquicas!R-factorial} \index{tecnicas@técnicas de agrupación!no jerárquicas!directas} \index{tecnicas@técnicas de agrupación!no jerárquicas!block-clustering @\textit{block-clustering}} \index{tecnicas@técnicas de agrupación!no jerárquicas!two-mode clustering @\textit{two-mode clustering}}
Las técnicas no jerárquicas proceden con el criterio de la inercia, maximizando la varianza intergrupos y minimizando la intragrupos. Se caracterizan porque: \index{varianza! intragrupos} \index{varianza! intergrupos}
- El número de clústeres se suele determinar a priori.
- Utilizan directamente los datos originales, sin necesidad de cómputo de una matriz de distancias o similaridades.
- Los elementos pueden cambiar de clúster.
- Los clústeres resultantes no están anidados unos en otros.
Los métodos de reasignación permiten que un elemento asignado a un grupo en una determinada etapa del proceso de clusterización sea reasignado a otro grupo, en una etapa posterior, si dicha reasignación implica la optimización del criterio de selección. El proceso finaliza cuando no hay ningún elemento cuya reasignación permita optimizar el resultado conseguido. Estas técnicas suelen asumir un número determinado de clústeres a priori y se diferencian entre sí en la manera de obtener la partición inicial y en la medida a optimizar en el proceso. Respecto a esta última cuestión, los procedimientos más populares son:
\index{metodo@método! de Forgy} \index{k-medias@\textit{k}-medias}
Los algoritmos de reasignación más populares son el de Forgy y, sobre todo, el
\index{nubes dinámicas}
-
Selecciona
$k$ elementos por algún procedimiento; -
asigna los restantes elementos al elemento más cercano de los previamente seleccionados;
-
sustituye los elementos seleccionados en (1) por los centroides de los grupos que se han formado;
-
asigna el conjunto de elementos al centroide más cercano del punto (3);
-
repite iterativamente los dos últimos pasos hasta que la asignación de elementos a los centroides no cambia. Los grupos entonces formados maximizan la distancia intergrupos y minimizan la distancia intragrupos.
Recuérdese que con el método de Forgy la etapa (3) no comienza hasta que no se hayan asignado todos los elementos a un clúster en la etapa (2), mientras que en "$k$-medias" los centroides se recomputan cada vez que un elemento es asignado a un grupo.
La partición que se obtiene es un óptimo local (pequeños cambios en la reasignación de elementos no lo mejoran), pero no se puede asegurar que sea el global, pues se trata de un método heurístico. Sí se puede asegurar que la partición es de calidad.
En el ejemplo TIC se ha usado el algoritmo AS 136 de @hartigan1979, una versión eficiente del de @hartigan1975clustering que no busca óptimos locales (varianza intragrupos mínima en cada grupo), sino soluciones tales que ninguna reasignación de elementos reduzca la varianza (global) intragrupos (véase Fig. @ref(fig:kmeans)).
set.seed(123)
kmeans_tic <- eclust(tic, "kmeans", k = 3)
Algunas versiones del
\index{k-medias@\textit{k}-medias!difuso} \index{k-medias@\textit{k}-medias!recortadas} \index{k-medias@\textit{k}-medias!armónicas} \index{k-medias@\textit{k}-medias!sparse@\textit{sparse}} \index{k-medias@\textit{k}-medias!sparse robusto@\textit{sparse} robusto}
Es un método de clusterización similar al
El algoritmo
PAM funciona muy bien con conjuntos de datos pequeños (por ejemplo, 100 elementos en 5 grupos) y permite un análisis detallado de la partición realizada, puesto que proporciona las características del agrupamiento y un gráfico de silueta, así como un índice de validez propio para determinar el número óptimo de clústeres. El algoritmo PAM puede verse al completo en @kauf_1990; para un muy buen resumen véase @amat2017. \index{grafico@{gráfico}!de silueta} \index{numero@número!óptimo de clústeres}
\index{k-medoides@\textit{k}-medoides!PAM}
set.seed(123)
pam_tic <- eclust(tic, "pam", k = 3)
La ineficiencia de PAM para bases de datos grandes, junto con su complejidad computacional, llevó al desarrollo de CLARA (clustering large applications).10
La diferencia entre PAM y CLARA es que el segundo se basa en muestreos. Solo una pequeña porción de los datos totales es seleccionada como representativa de los datos y
los medoides son escogidos (en la muestra) usando PAM.
CLARA, pues, combina la idea de
set.seed(123)
clara_tic <- eclust(tic, "clara", k = 3)
\index{k-medoides@\textit{k}-medoides!CLARA}
\index{k-medoides@\textit{k}-medoides!CLARANS}
CLARANS (del inglés clustering large applications based upon randomized search) es una mezcla de PAM y CLARA. Como CLARA puede dar lugar a una mala clusterización si uno de los medoides de la muestra está lejos de los mejores medoides, CLARANS trata de superar esta limitación. El algoritmo puede verse en @ng2002clarans.
\index{k-medianas@\textit{k}-medianas}
Igual que el
Volviendo al ejemplo TIC, como se ha podido comprobar, la clusterización de los países de la UE-27 en función del uso del las TIC es prácticamente la misma con técnicas jerárquicas aglomerativas como el vecino más lejano, el método de Ward, el del centroide, o algoritmos divisivos como DIANA, que con las técnicas no jerárquicas con preselección de 3 grupos (
Utilizan indicadores de frecuencia, construyendo grupos mediante la detección de aquellas zonas del espacio de las variables (que caracterizan a los elementos) densamente pobladas (clústeres naturales) y de aquellas otras con un escasa densidad de elementos. Los elementos que no forman parte de un conglomerado se consideran ruido. Emulan, pues, el funcionamiento del cerebro humano.
La identificación de los grupos (y los parámetros que los caracterizan, cuando se manejan modelos probabilísticos) se lleva a cabo haciéndolos crecer hasta que la densidad del grupo más próximo sobrepase un cierto umbral. Por tanto, imponen reglas para evitar el problema de obtener un solo grupo cuando existen puntos intermedios. Se suele suponer que la densidad de elementos en los grupos es Gaussiana si las variables son cuantitativas, y multinomial si son cualitativas.
Se suelen clasificar en: \index{metodo@método! modal de Wishart} \index{metodo@método! TaxMap} \index{metodo@método! de Fortin}
-
Los que tienen un enfoque tipológico: los grupos se construyen buscando las zonas con mayor concentración de elementos. Pertenecen a este tipo el análisis modal de Wishart, que supone clústeres esféricos y dada la complejidad de su algoritmo no tuvo mucho éxito, el método TaxMap, que introduce un valor de corte en caso de que los grupos no estén claramente aislados (ello lleva a que los resultados tengan un cierto grado de subjetividad), y el método de Fortin, también con muy escasa difusión en la literatura.
-
Los que tienen un enfoque probabilístico: las variables que caracterizan los elementos siguen una distribución de probabilidad cuyos parámetros cambian de un grupo a otro. Se trata, pues, de agrupar los elementos que pertenecen a la misma distribución. Un ejemplo es el método de las combinaciones de Wolf. \index{metodo@método! de las combinaciones de Wolf}
No obstante, estos algoritmos y otros como, por ejemplo, los de Gitman y Levine, y Catel y Coulter, aunque muy citados en la literatura en español, tuvieron poco éxito.
Mayor éxito han tenido otros algoritmos como expectation-maximization (EM), model based clustering (MCLUST), density-based spatial clustering of applications with noise (DBSCAN), ordering points to identify the clustering structure (OPTICS), que es una generalización de DBSCAN, wavelet-based cluster (WAVECLUSTER) y density-based clustering (DENCLUE), entre otros.
\index{EM} \index{MCLUST} \index{DBSCAN} \index{OPTICS} \index{WAVECLUSTER} \index{DENCLUE}
DBSCAN12 es, quizás, el más popular. Incluso ha recibido premios por sus numerosísimas aplicaciones a lo largo del tiempo. Soluciona los problemas de los métodos de reasignación, que son buenos para clústeres con forma esférica o convexa que no tengan demasiados outliers o ruido, pero que fallan cuando los clústeres tienen formas arbitrarias. De acuerdo con @amat2017, DBSCAN evita este problema siguiendo la idea de que
Los elementos objeto de agrupación se pueden clasificar, en función de su
-
elementos centrales, si el número de elementos en su
$\epsilon$ -neighborhood es igual o mayor que minPts; -
elementos frontera, si no son elementos centrales pero pertenecen al
$\epsilon$ -neighborhood de otro elemento que sí es central; y -
elementos atípicos o de ruido, si no verifican ni (1) ni (2).
A partir de la clasificación anterior, y para
-
un elemento
$Q$ es denso-alcanzable directamente desde el elemento$P$ si$Q$ está en el$\epsilon$ -neighborhood de$P$ y$P$ es un elemento central; -
$Q$ es denso-alcanzable desde$P$ si existe una cadena de objetos${Q_{1}=P, Q_2, Q_3,..., Q_{n}}$ tal que$Q_{i+1}$ es denso-alcanzable directamente desde$Q_{i}$ ,$\forall 1 \leq i \leq n$ ; -
$Q$ está denso-conectado con$P$ si hay un elemento$R$ desde el cual$P$ y$Q$ son denso-alcanzables.
\index{elemento!central} \index{elemento!frontera} \index{elemento!atípico} \index{elemento!denso-alcanzable directamente} \index{elemento!denso-alcanzable} \index{elemento!denso-conectado}
Los pasos del algoritmo DBSCAN son los siguientes [@amat2017]: \index{DBSCAN}
-
Para cada elemento u observación
$x_i$ calcúlese su distancia con el resto de observaciones. Márquese como central si lo es y como visitado si no lo es. -
Para cada observación marcada como elemento central, si aún no ha sido asignada a ningún grupo, créese un grupo nuevo y asígnesele a él. Búsquense, recursivamente, todas las observaciones denso-conectadas con ella y asígnense al mismo grupo.
-
Itérese el mismo proceso para todas todas las observaciones no visitadas.
-
Aquellas observaciones que tras haber sido visitadas no pertenecen a ningún clúster se marcan como outliers.
Como resultado del algoritmo DBSCAN se generan clústeres que verifican:
El éxito de DBSCAN se debe a sus importantes ventajas. De nuevo siguiendo a @amat2017, no requiere la especificación previa del número de clústeres; no require esfericidad (ni ninguna forma determinada) en los grupos; y puede identificar valores atípicos, por lo que la clusterización resultante no vendrá influenciada por ellos. También tiene algunas desventajas, como que no es un método totalmente determinista puesto que
Dado el escaso número de datos de la base de datos TIC2021
del paquete CDR
no se puede utilizar DBSCAN. Sin embargo, para ilustrar su utilización, la Fig. @ref(fig:density-kmeans) muestra la agrupación en 5 clústeres de la base de datos multishapes
de la librería factoextra
mediante DBSCAN (función dbscan()
) y
(\#fig:density-kmeans)Comparación entre los algoritmos
Por último, en el cajón de sastre de otras técnicas de clusterización no jerárquicas, merece la pena siquiera mencionar los métodos directos, los de reducción de la dimensionalidad, los de clustering difuso y la clusterización basada en modelos.
Los métodos directos agrupan simultáneamente los elementos y las variables. El más conocido es el clúster por bloques (biclust
proporciona varios algoritmos para encontrar clústeres en dos dimensiones. Además, es muy recomendable para el preprocesamiento de los datos y para la visualización y validación de los resultados.
Las técnicas de reducción de la dimensionalidad buscan factores en el espacio de los elementos (modelo
Las técnicas de clustering difuso precisamente permiten la pertenencia de un elemento a varios clústeres, estableciendo un grado de pertenencia a cada uno de ellos. El algoritmo de clustering difuso más popular es fuzzy c-medias, muy similar al k-medias, pero que calcula los centroides como una media ponderada (la ponderación es la probabilidad de pertenencia) y, lógicamente, proporciona la probabilidad de pertenencia a cada grupo.
\index{tecnicas@técnicas de agrupación!no jerárquicas!de clusterización@\textit{clustering} difuso} \index{c-medias@\textit{c}-medias}
La clusterización basada en modelos tiene un enfoque estadístico y consiste en la utilización de una mixtura finita de modelos estocásticos para la construcción de los grupos.
\index{tecnicas@técnicas de agrupación!no jerárquicas!clustering @\textit{clustering} basado en mixturas de modelos}
Un vector aleatorio
En términos menos formales, el clustering basado en modelos considera que los datos observados (multivariantes) han sido generados a partir de una combinación finita de modelos componentes (distribuciones de probabilidad, normalmente paramétricas). A modo de ejemplo, en un modelo resultante de una mixtura de normales multivariantes (el caso habitual), cada componente (clúster) es una normal multivariante y el componente responsable de la generación de una observación específica determina el grupo al que pertenece dicha observación. Para la estimación de la media y matriz de covarianzas se suele recurrir al algoritmo expectation-maximization, una extensión del mclust
utiliza la estimación máximo verosímil para estimar dichos modelos con distintos número de clústeres, utilizando el Bayesian information criterion (BIC) para la selección del mejor.
Sus limitaciones fundamentales son (
Una revisión de la evolución de la clusterización basada en modelos desde sus orígenes en 1965 puede verse en @mcnicholas2016model. Para una idea intuitiva, véase @amat2017.
\index{EM}
La elección de qué técnica de clusterización utilizar, jerárquica o no, es una decisión del investigador, y dependerá de cómo quiera realizar la agrupación, la métrica de las variables y la distancia o medida de similaridad elegida. No obstante, ambos tipos de técnicas tienen sus ventajas y desventajas, y deberán ser tenidas en cuenta a la hora de decidir. Las jerárquicas adolecen de cierta inestabilidad, lo que plantea dudas sobre la fiabilidad de sus resultados. Además, a veces es difícil decidir cuántos grupos deben seleccionarse. Suelen recomendarse en caso de conjuntos de datos pequeños. En caso de grandes conjuntos de datos, la literatura suele recomendar las no jerárquicas; además, tienen una gran fiabilidad, ya que al permitir la reasignación de los elementos, una incorrecta asignación puede ser corregida posteriomente.
::: {.infobox_resume data-latex=""}
En este capítulo se pasa revista a las principales técnicas y algoritmos de agrupación no jerárquicas.
-
Se abordan los principales métodos de reasignación, y en particular los basados en centroides (método de Forgy y
$k$ -medias), medoides ($k$ -medoides, PAM, CLARA, CLARANS) y medianas ($k$ -medianas). -
Se exponen las técnicas basadas en la densidad de puntos desde las perspectivas tipológica (análisis modal, métodos TaxMap, de Fortin, de Gitman y Levine, y de Catel y Coulter) y probabilística (método de Wolf), así como se estudia el DBSCAN.
-
Se muestran otras técnicas de agrupación no jerárquicas como los métodos directos (
$block$ -;$bi$ -;$co$ -; two-mode clustering), los de reducción de la dimensionalidad (modelos$Q$ - y$R$ -factorial), el clustering difuso y los métodos basados en mixturas de modelos. :::
Footnotes
-
También podría observarse $\bf X$ por columnas (la j-ésima columna muestra los valores de la j-ésima variable para cada elemento de la muestra). Aparentemente, no hay razón alguna para no poder agrupar las variables que describen cada elemento (clúster de variables en vez de elementos). \index{cluster@clúster de variables} ↩
-
Si se cumple el cuarto requisito la función distancia suele llamarse distancia métrica. ↩
-
Un heatmap es una representación visual de fácil lectura e interpretación basada en un código de colores, típica del análisis de páginas web. Normalmente proporciona un patrón visual en forma de "F", que es el del seguimiento ocular de un sitio o plataforma tecnológica. ↩
-
Elaboración propia en base a @kassambara2017. \index{tecnicas@técnicas de agrupación!jerárquicas} ↩
-
El criterio de inclusión de los elementos en dichos conglomerados citado en la Sec. @ref(origen-cluster). ↩
-
Específicamente, la propuesta de Ward es que la pérdida de información que se produce al integrar los distintos individuos en clústeres sea la mínima posible. ↩
-
Se respeta la notación del capítulo de tablas de contingencia. ↩
-
Recuérdese que el centro de un conglomerado viene dado por el centroide, vector de medias. ↩ ↩2
-
Las técnicas basadas en la minimización de promedios de distancias o de residuos en valor absoluto son más robustas que las basadas en sumas de cuadrados. ↩
-
No obstante, hay una interesante modificación de PAM cambiando el orden de anidamiento de los bucles. La idea es encontrar el mejor intercambio de elementos para cada medoide y ejecutar tantos como sea posible en cada iteración, lo que, de acuerdo con @shubert2021, reduce el número de iteraciones necesarias para la convergencia sin pérdida de calidad. También se puede aplicar a los algoritmos CLARA y CLARANS (este último se presenta en la siguiente subsección). ↩
-
Una descripción completa puede verse en @kauf_1990. ↩
-
La densidad se refiere al número de elementos en una misma zona. Sin embargo, es un concepto subjetivo, porque $(i)$ ¿cuántos puntos son necesarios para considerar a una zona como densa? y $(ii)$ ¿cómo de distantes pueden estar dichos elementos entre sí? Por ello, ambos (número de puntos y distancia) son los dos hiperparámetros del modelo. \index{hiperparámetro} ↩
-
Véase @amat2017 para una discusión sobre el valor de ambos hiperparámetros. ↩
-
Esta es la razón para incluir este tipo de clusterización en entre las técnicas no jerárquicas. ↩