En múltiples área/sectores surge una misma necesidad: descubir estructuras ocultas en los datos a partir de similitudes. En marketing por ejemplo, se busca identificar grupos homogéneos de clientes para diseñar campañas específicas. En estudios de mercado, se analizan productos existentes para anticipar el desempeño de uno nuevo. En ecología, se clasifican especies de acuerdo con características compartidas. En psicología, se agrupan individuos con rasgos de personalidad similares. En ciencias sociales, se segmentan personas según condiciones socioeconómicas comparables. En todos estos contextos el objetivo es escencialmente el mismo: organizar unidades en grupos coherentes. El análisis de conglomerado (cluster) responden precisamente a éste propósito, ya que permite reunir/agrupar unidades de investigación (individuos, productos, animales, etc) en conjuntos/grupos bien definidos, llamados cluster
De acuerdo con el objetivo de la técnica, se deben considerar los siguientes aspectos para organizar la unidades de investigación en los repectivos grupos:
¿De qué manera se va a medir la similitud?
Se debe establecer algún mecanismo/instrumento que permita comparar las unidades/observaciones en términos de las variables medidas sobre ellos, Éste instrumento debe registrar la proximidad entre pares de unidades/observaciones de tal forma que las distancias indiquen la similitud.
¿De qué manera se van a formar los conglomerados o cluster?
Se debe establecer el procedimiento mediante el cual agrupan las observaciones que son más similares dentro de un determinado conglomerado/cluster.
¿Cuantos Grupos se deben formar?
El criterio debe tener en cuenta la homogeneidad media alcanzada dentro de los conglomerados
Medidas de Similitud y Disimilitud
En la siguiente tabla, se presentan diversas medias que proporcionan un determinado tipo de agrupamiento:
| Tipo de medida | Tipo de variables | Interpretación / Uso principal |
|---|---|---|
| Distancia | Cuantitativas | Menor distancia \(\Rightarrow\) mayor similitud entre unidades. |
| Concordancia / Asociación | Cualitativas | Evalúan coincidencias o similitudes entre categorías. |
| Correlación | Escala de intervalo | Miden la relación lineal entre variables. |
| Probabilísticas de similitud | Dicótomas | Se basan en probabilidades de coincidencia entre categorías. |
Sean \(\mathbf{X}_{k} = [X_{1k} ~~~ X_{2k} ~~~ \ldots ~~~ X_{pk}]^{\top}\) los vectores \(\mathbf{X}_k\) e \(\mathbf{X}_l\) los vectores de mediciones de las unidades k e l, respectivamente. En la siguiente tabla se presentan las principales \(\textbf{Medidas de distancia}\) entre \(\mathbf{X}_k\) e \(\mathbf{X}_l\)
Medidas de distancia
| Medida | Expresión matemática | Interpretación / Uso |
|---|---|---|
| Euclidiana | \[d_{kl} = \sqrt{\sum_{i=1}^{p}(x_{ik} - x_{il})^2}\] | Distancia en línea recta. Sensible a la escala de las variables. |
| Manhattan | \[d_{kl} = \sum_{i=1}^{p} |x_{ik} - x_{il}|\] | Distancia en “cuadras”. Más robusta a valores extremos. |
| Minkowski | \[d_{kl} = \left(\sum_{i=1}^{p} |x_{ik} - x_{il}|^r \right)^{1/r}\] | Generaliza otras distancias: si \(r=1\) es Manhattan y si \(r=2\) es Euclidiana. |
| Mahalanobis | \[d^2 = (x - \mu)^T \Sigma^{-1} (x - \mu)\] | Considera correlación y escala entre variables. |
Distancia euclidiana: Es intuitivamente una “distancia en línea recta” entre dos puntos. Se define por
\[d_{kl} = \sqrt{(\mathbf{X}_k - \mathbf{X}_l)^{\mathsf{T}} (\mathbf{X}_k - \mathbf{X}_l)} = \sqrt{\sum_{i=1}^{p} (X_{ik} - X_{il})^2}\]
Distancia de Manhattan o city block: La distancia de Manhattan en vez de ser una línea recta mide la distancia “en cuadras”, es decir, como un tablero de ajedrez o calles de Manhattan.
\[d_{kl}=\sum_{i=1}^{p} |\mathbf{X}_{ik}-\mathbf{X}_{il}|\]
Distancia Minkowski: Esta distancia es una generalización que incluye a las distancias Euclidiana y Manhattan como casos especiales, entre otras. Se obtiene a partir de la expresión
\[d_{kl}=(\sum_{i=1}^p |\mathbf{X}_{ik}-\mathbf{X}_{il}|^r)^{1/r} \\ r=1,2,...\]
Note que si, r=1, se tiene la distancias de Manhatan. Mientras que, si r=2 se tienen la distancia euclidiana.
Distancia de Mahalanobis: Es una medida de distancia cuadrática entre dos vectores, que es ponderada por \(\Sigma^{-1}\). Esa ponderación se hace necesaria cuando las variables en \(\mathbf{X}\) tienen magnitudes muy diferentes y en consecuencia varianzas muy diferentes. Esta medida se expresa de la siguiente forma
\[d^2_i=(\mathbf{X}-\mu)^\mathsf{T} \Sigma^{-1}(\mathbf{X}-\mu)\]
Observación: Si no se hace esa ponderación (estandarización) las variables con mayor varianza podrian dominar las distancias.
En la siguiente imagen, se ilustran la distancias de Manhattan(verde) y la euclideana(roja) en la cuadra donde se encuentra localizada la Pontificia Universidad Javeriana.
Una vez definida la distancia, se organizan en una matriz de disimilitudes simétrica:
\[\begin{bmatrix} 0 & d_{12} & d_{13} & \cdots & d_{1n}\\ & 0 & d_{23} & \cdots & d_{2n}\\ & & & \ddots & \vdots\\ & & & & d_{n-1,n}\\ & & & & 0 \end{bmatrix}\]
Cuando \(\mathbf{X}{k} =[X_{1k}~~~X_{2k}~~~\ldots ~~~ X_{pk}]^{\top}\) son vectores de variables dicótomas, los coeficientes de concordancia miden la similitud en términos de coincidencias entre categorías. En la siguiente tabla se presenta un resumen de los coeficientes más utilizados:
| Coeficiente | Expresión matemática | Interpretación / Uso |
|---|---|---|
| Concordancia simple | \[S = \frac{a + d}{a + b + c + d}\] | Proporción de coincidencias totales (presencias y ausencias). Puede sobrevalorar las ausencias. |
| Jaccard | \[S = \frac{a}{a + b + c}\] | Considera solo coincidencias en presencia. Ignora las dobles ausencias. |
| Rogers y Tanimoto | \[S = \frac{a + d}{a + 2b + 2c + d}\] | Da mayor peso a las diferencias entre observaciones. |
| Sørensen–Dice | \[S = \frac{2a}{2a + b + c}\] | Da mayor importancia a coincidencias en presencia. |
| Sokal–Sneath | \[S = \frac{2(a + d)}{2(a + d) + b + c}\] | Considera coincidencias tanto en presencia como en ausencia. |
| Hamann | \[S = \frac{(a + d) - (b + c)}{a + b + c + d}\] | Compara coincidencias frente a no coincidencias. Puede tomar valores entre -1 y 1. |
Cuando \(\mathbf{X}{k} =[X_{1k}~~~X_{2k}~~~\ldots ~~~ X_{pk}]^{\top}\) envuelven variables cualitativas y cuantitativas al mismo tiempo, se tienen alternativas como
Transformar las variables cualitativas a cuantitativas por medio de atributos numéricos a las categorías
Transformar las variables cuantitativas a variables cualitativas a través de la categorización (usando algín criterio) de sus valores.
Construir medidas de similaridad mixtas y emplearlas para la comparación de las unidades/observaciones (combinacion lineal de las variables cuantitativas (\(q\)) y cualitativas (\(p\))):
\[c(A,B)= w_p\,\underbrace{c_p(A,B)}_{\text{Coef. Var. Cuant}} + w_q\,\underbrace{c_q(A,B)}_{\text{Coef. Var. Cual.}}\]
donde
\[w_p=\frac{p}{p+q} \qquad w_q=\frac{q}{p+q}\]
Métodos de agrupamiento
En general, para la construir conglomerados o cluster existen varios métodos, los cuales son clasificados en dos grandes familias.
Parten de considerar cada observación como un clúster independiente y, paso a paso, van uniendo aquellos que más parecidos hasta formar un solo cluster. En cada paso se evalúan las similitudes (previamente definida) y el resultado puede representarse a través de un dendrograma que reume la historia completa de las fusiones.
Básicamente, el algoritmo es el siguiente
Existen varios métodos de agrupamiento jerarquicos:
Enlace simple o vecino más cercano: La similitud entre dos conglomerados es definida por las dos unidades más parecidas entre sí.
Suponga que en un determinado paso del algoritmo de agrupamiento, se tienen g=2 grupos:
\[G_1: \mathbf{X}_1,\mathbf{X}_2 \\ G_2: \mathbf{X}_3,\mathbf{X}_4,\mathbf{X}_5\]
la distancia entre los dos grupos es
\[d(G_1,G_2) = mín \{d(\mathbf{X}_l,\mathbf{X}_k)\}, \space l \neq k, \space l=1,2, \space k=3,4,5 \]
Donde \(X_l\) son las observaciones de \(G_1\) y \(X_k\) son las observaciones de \(G_2\)
Observación: Es sensible a cadenas de agrupamiento y puede dificultar la separación de grupos poco definidos.
Enlace completo: La similaridad entre dos conglomerados es definida por las dos unidades menos semejantes entre sí. Para el ejemplo previamente usado:
\[d(G_1,G_2) = \text{máx} \{d(\mathbf{X}_l,\mathbf{X}_k)\}, \space l \neq k, \space l=1,2, \space k=3,4,5\]
Observación: Este método tiende a generar conglomerados compactos y de diámetro similar, pero es sensible a valores atípicos.
Distancias medias: La distancia entre dos grupos se cálcula como el promedio de todas las distancias entre pares de observaciones.
\[d(G_1,G_2) = \sum_{l \in G_1} \sum_{k \in G_2} \frac{1}{n_1n_2}d(\mathbf{X}_l,\mathbf{X}_k)\]
Para nuestro ejemplo
\[d(G_1,G_2)=\frac{1}{6}\Big(d(X_1,X_3)+d(X_1,X_4)+d(X_1,X_5)+d(X_2,X_3)+d(X_2,X_4)+d(X_2,X_5)\Big)\]
Observación: Este método produce conglomerados de aproximadamente la misma varianza interna y produce mejores particiones que los métodos de ligación simple y completa.
Método Ward: Fusiona los grupos minimizando el incremento de la varianza interna. Es recomendado sólo para variables cuantitativas y tiende a producir grupos de tamaños similares
En este tipo de métodos el \(\textbf{Número de conglomerados}\) puede explorarse mediante
Dendogramas: Visualiza el proceso de fusión y permite identificar cortes naturales. El eje vertical indica el nivel de similaridad (o disimilaridad) y en el eje horizontal se colocan las observaciones en un orden conveniente relativa a la historia de agrupamiento.
Coeficiente de fusión: Se grafica el número de conglomerados de un árbol jerárquico versus el nivel de la distancia (nivel de fusión) del agrupamiento de cada etapa del proceso, y se puede visualizar si hay puntos de salto relativamente grandes con relación a los demás valores de distancia.
A diferencia de las jerárquicas, estas requieren fijar previamente el número de grupos \(k\) y con base en ello se asignan iterativamente las observaciones a los conglomerados
En la práctica, K-medias es posiblemente el método más utilizado y consiste en localizar\ubicar cada observación multivariada al cluster cuyo centroide (vector de medias) es el “más cercano” del vector de valores observado para la respectiva observación.
el algoritmo es:
No todos los software o paquetes usan el mismo algoritmo, tienen variaciones. Sin embargo, proporcionan resultados no muy diferentes entre sí. Aunque la elección de la semilla inicial del agrupamiento sí influye en el agrupamiento final.
La elección inicial de los centroides influye en el resultado final, por lo que se recomiendan las siguientes estrategias
Evaluar el rendimiento de k-medias es crucial para asegurar que los clusters que hayan sido conformados sean útiles y significativos. Dentro de los métodos más relevantes estan:
La suma de cuadrados dentro del cluster (Within Cluster Sum Square - WSS):analiza la variabilidad interna de los clústeres, y el número optimo de grupos se determina mediante el método del codo.
El método de la silueta(Silhouette): Mide la coherencia interna y separación entre grupos. El valor oscila entre -1 y 1, los valores que son cercanos a 1 indican que los objetos están bien agrupados
Desventajas de k-Medias
Requiere definir \(k\) a priori, lo cual puede ser complicado si no se dispone de información adicional sobre los datos con los que se trabaja.
Las agrupaciones resultantes pueden variar dependiendo de la asignación aleatoria inicial de los centroides. Para minimizar este problema se recomienda repetir el proceso de clustering entre 25-50 veces. Aun así, solo se puede garantizar la reproducibilidad de los resultados si se emplean semillas.
Presenta problemas de robustez frente a outliers. La única solución es excluirlos o recurrir a otros métodos de clustering más robustos como k-medoids (PAM).
Una forma de contrarrestar estos problemas es combinando el k-medias con el clustering jerárquico. Los pasos a seguir son los siguientes:
Aplicar clustering jerárquico para determinar \(k\) .
Calcular los centroides de cada grupo.
Aplicar k-medias con los centroides del paso anterior.
Los datos a analizar, fueron consolidados a partir de fuentes como el Banco mundial, el Fondo Monetario Internacional, la Comisión Europea y la International Disaster Database. Incluye 23 variables y 30 individuos, con información sobre indicadores macroeconómicos, emisiones de gases efecto invernadero y desastres naturales. Con el fin de mitigar el efecto de temporalidad se aplicó un filtro y se consideró unicamente datos del año 2022. A continuación, se presenta la descripción de las variables incluidas en el dataset.
| Variable | Nombre completo | Descripción |
|---|---|---|
| PIB | PIB (MM de dólares a precios actuales) | Valor total de los bienes y servicios finales producidos por un país, medido en millones de dólares corrientes. |
| IED | Inversión Extranjera Directa (US$ a precios actuales) | Flujos de inversión provenientes del exterior destinados a adquirir participación o control en empresas del país, medidos en dólares corrientes. |
| Exp_Netas | Exportaciones Netas (US$ a precios actuales) | Diferencia entre el valor de las exportaciones y las importaciones de bienes y servicios, medida en dólares corrientes. |
| Deuda_externa | Deuda externa (MM de dólares a precios actuales) | Monto total de obligaciones financieras de un país con acreedores externos, expresado en millones de dólares corrientes. |
| Consumo | Consumo (US$ a precios actuales) | Gasto total en bienes y servicios realizado por los hogares, el gobierno u otros agentes, medido en dólares corrientes. |
| CO2 | Emisiones de CO2 (Mt CO2eq/yr) | Cantidad total de emisiones de dióxido de carbono, expresada en millones de toneladas de CO2 equivalente por año. |
| CH4 | Emisiones de Metano (kt de equivalente de CO2) | Emisiones de metano expresadas en kilotoneladas de CO2 equivalente. |
| N2O | Emisiones de óxido nitroso (kt de equivalente de CO2) | Emisiones de óxido nitroso expresadas en kilotoneladas de CO2 equivalente. |
| D_Clim | Desastres Climatológicos | Número o registro de eventos asociados a condiciones climáticas de larga duración, como sequías o incendios forestales. |
| D_Geof | Desastres Geofísicos | Número o registro de eventos originados por procesos geológicos, como terremotos, erupciones volcánicas o movimientos en masa secos. |
| D_Met | Desastres Meteorológicos | Número o registro de eventos atmosféricos de corta duración, como tormentas, huracanes o vendavales. |
| D_Hidr | Desastres Hidrológicos | Número o registro de eventos relacionados con el comportamiento del agua, como inundaciones o deslizamientos asociados a lluvias. |
| Flood_Ind | Flood occurrence Indicator (WRI) | Indicador de ocurrencia de inundaciones, usado para medir la exposición o presencia de eventos de inundación. |
| Pct_Afect | Porcentaje población afectada por sequías, inundaciones y temperaturas extremas | Proporción de la población que ha sido afectada por eventos climáticos extremos e hidrológicos. |
| Temp_Prom | Promedio de temperatura (°C) | Temperatura media registrada en un país o territorio, expresada en grados Celsius. |
| Clim_Ext | Inundaciones y temperaturas extremas | Indicador relacionado con la ocurrencia o impacto de inundaciones y eventos de temperatura extrema. |
| Agua_Renov_M2 | Total renewable water resources per M2 (10^9 m3/year*KM2) | Disponibilidad de recursos hídricos renovables ajustada por unidad de superficie. |
| Bio_Index | Global Biodiversity Index | Índice global que resume el nivel de biodiversidad de un país o territorio. |
| HDI | Human Development Index (HDI) | Índice compuesto que mide el nivel de desarrollo humano a partir de salud, educación e ingreso. |
| Gasto_ID | Gasto en I+D (% del PIB) | Porcentaje del PIB destinado a actividades de investigación y desarrollo. |
| Est_Pol | Political Stability and Absence of Violence/Terrorism: Estimate | Indicador que mide la estabilidad política y la ausencia de violencia o terrorismo en un país. |
| Cat_Ingreso | Categoría de ingreso | Variable categórica ordinal que clasifica a los países según su nivel de ingreso: 1 = bajo, 2 = mediano bajo, 3 = mediano alto, 4 = alto. Construida a partir de variables dummy de nivel de ingreso. |
| Nivel_desarrollo | Nivel de desarrollo del país | Variable categórica que indica el nivel de desarrollo del país: 1 = país desarrollado, 0 = país en desarrollo. Construida a partir de la variable dummy “País Desarrollado”. |
Aplicar clustering a este conjunto de datos resulta pertinente, dado que permite segmentar los países según las características consideradas. Esto facilita la identificación de patrones y diferencias entre ellos.
Por lo anterior, se pueden agrupar países con comportamientos similares, lo que puede contribuir a una mejor comprensión de sus dinámicas en ámbitos como el macroecónomico, y el ambiental.
Se cargan las librerías necesarias y se realizan ajustes previos a los datos. En particular la variable cat_ingreso originalmente codificada como factor se transforma en variable dummy para permitir el uso del coeficiente de Jaccard. Adicionalmente, se construyeron funciones para el cálculo de la distancia de Mahalanobis y coeficiente de Jaccard.
library(readxl)
library(psych)
library(factoextra)
library(FactoMineR)
library(corrplot)
dataset <-read_excel('dataset_limpio.xlsx')
dataset<-as.data.frame(dataset)
row.names(dataset)<-dataset$nombres_paises
dataset <-dataset[,-c(1)]
X<-dataset[,-c(22,23)]
categorias<-dataset[,c(22,23)]
categorias$Ingreso_Bajo <-ifelse(categorias$Cat_Ingreso == 1,1,0)
categorias$Ingreso_Mediano_bajo <-ifelse(categorias$Cat_Ingreso == 2,1,0)
categorias$Ingreso_Mediano_alto <-ifelse(categorias$Cat_Ingreso == 3,1,0)
categorias$Ingreso_Alto <-ifelse(categorias$Cat_Ingreso == 4,1,0)
categorias<-categorias[,-1]
jaccard_coef <- function(x, y) {
if(length(x) != length(y)) {
stop("Los vectores deben tener la misma longitud")
}
x <- as.numeric(x)
y <- as.numeric(y)
a <- sum(x == 1 & y == 1)
b <- sum(x == 1 & y == 0)
c <- sum(x == 0 & y == 1)
if((a + b + c) == 0) {
return(NA)
}
return(a / (a + b + c))
}
distancia_jaccard <- function(X) {
n <- nrow(X)
mat <- matrix(0, n, n)
for(i in 1:n) {
for(j in i:n) {
val <- jaccard_coef(X[i, ], X[j, ])
mat[i, j] <- val
mat[j, i] <- val
}
}
return(mat)
}
distancia_mahalanobis<-function(data){
n<-nrow(data)
dm<-matrix(0,nrow=n,ncol=n)
A<-solve(cov(data))
for(i in 1:n){
for(j in i:n){
dif <- as.numeric(data[i, ]) - as.numeric(data[j, ])
d <- sqrt(t(dif) %*% A %*% dif)
dm[i, j] <- dm[j, i] <- d
}
}
return(dm)
}
Como se describió en el apartado de Fundamentación Teórica, para aplicar k-medias jerárquico primero es necesario realizar un clustering jerárquico que permita definir el número óptimo de clusters. Posteriormente, se calculan los centroides y se ejecuta k-medias.
Para aplicar el clustering jerárquico, es necesario elegir el métodos de enlace adecuado. En este caso, se descartan los métodos de enlace simple y completo, ya que la presencia de países como Estados Unidos o China que cuentan con características(especialmente económicas) que los convierte en observaciones multivariadas atípicas, lo que distorsiona los resultados. Por lo tanto, se opta por métodos más robustos frente a outliers como Ward o distancias medias. En particular, se trabajará con WARD puesto que tiende a formar grupos más homogéneos al minimizar la varianza intra cluster o dentro del cluster.
Para medir la similitud entre observaciones se plantea un enfoque mixto . Por un lado, se considera usar la distancia de Mahalanobis para las variables numéricas, ya que incorpora diferencias entre las magnitudes. Por otro lado, se aplica al mismo tiempo, el coeficiente de concordancia de Jaccard para las dos variables categóricas (Categoría de ingreso y nivel de desarrollo). A partir de ahí, se realizaran las respectivas ponderaciones.
Ahora bien, al intentar calcular la distancia de Mahalanobis surge un inconveniente: la matriz de covarianza no es invertible. Esto se debe a la alta correlación entre las variables, lo que genera una matriz singular e impide el cálculo de su inversa. A continuación, se ilutra la matriz de correlación para evidenciar este problema
R<-cor(X)
T=cor.mtest(X,conf.level=0.95)
corrplot(R,p.mat=T$p,sig.level=0.05,type="upper",diag=FALSE,tl.col = "black",cl.ratio = 0.3)
Teniendo en cuenta este inconveniente, pueden emplearese dos alternativas
Eliminar variables redundantes y calcular la distancia de Mahalanobis, lo que implica una posible pérdida de información.
Aplicar Análisis de componentes principales y a partir de ello calcular la distancia de Mahalanobis. Esta opción es bastante adecuada estadísticamente, aunque , puede llegar a dificultar la interpretación si no se comprende el significado de cada componente.
Por lo anterior, se consideró utilizar la segunda opción. Así que se procederá a usar PCA y calcular dicha distancia.
Observación: En un trabajo previo de este repositorio se aplicó PCA para el mismo set de datos. Determinando tres componentes a trabajar: “Poderío Económico”, “Recursos hídricos y naturales” y”Exportaciones Netas”
#Aplicar PCA
pca<-PCA(X,scale.unit= TRUE,graph = FALSE)
df_pca<-as.data.frame(pca$ind$coord[,1:3])
row.names(df_pca)<-rownames(X)
#Calculo distancia de mahalanobis
dm<-distancia_mahalanobis(df_pca)
Posteriormente, se calcularon distancias de las variables categóricas/dummy mediante el coeficiente de Jaccard
dj<-distancia_jaccard(categorias)
Finalmente, se construyen medidas de similaridad mixtas. Primero, se obtienen las ponderaciones de cada grupo de variables a partir de lo descrito en la fundamentación teórica, donde \(p=21\) y \(q=5\), luego, estas ponderaciones se aplican a sus respectivas matrices de distancia y, se suman para obtener la medida de similaridad mixta.
\[w_p=\frac{p}{p+q} \qquad w_q=\frac{q}{p+q}\]
\[w_p=\frac{21}{21+5} =0.8076 \qquad w_q=\frac{5}{21+5}=0.1923\]
distancia <- (dm*0.8076) + (dj*0.1923)
Con la matriz de distancias calculada, se aplica el método de Ward para el dendograma y determinar el número óptimo de clusters. El criterio consiste en identificar en el eje Y el mayor salto, que indica un cambió significativo en la similaridad. En este caso, se puede observar que el mayor salto se presenta cuando hay tres clusters, sugiriendo que esta es la partición más adecuada. A continuación, se muestra un gráfico que puede ayudar a entender esto mejor
row.names(distancia)<-rownames(X)
D<-as.dist(distancia)
hc_ward<-hclust(D,method = "ward.D")
#Dendograma
cl<-hclust(D,method="ward.D")
plot(cl,hang=-1)
Teniendo en cuenta el dendograma, se aplicará k-means jerárquico con 3 centroides.
hkmeans <- hkmeans(x = df_pca, hc.metric = "euclidean",
hc.method = "ward.D", k = 3)
fviz_cluster(object = hkmeans,
pallete = "jco", repel = TRUE) +
theme_bw() +
labs(title = "Hierarchical k-means Clustering")
Interpretación de los conglomerados
Cluster 1(Rojo): Agrupa principalmente países en desarrollo, que en su mayoría, están caracterizados por un bajo dominio económico y una menor vulnerabilidad frente a eventos climáticos o desastres naturales.
Cluster 2(Verde): Incluye las principales superpotencias económicas China y Estados Unidos. Se distingue por su alto dominio económico, comportándose como valores atípicos dentro del conjunto, y por su abundancia de recursos hídricos y naturales.
Cluster 3(Azul): Reúne economías desarrolladas y algunas intermedias que con cuentan con un equilibrio entre capacidad económica y condiciones estructurales favorables. A diferencia del cluster de superpotencias, estos países presentan un desempeño más equilibrado, tanto en términos económicos como en su relación con variables ambientales y de desarrollo.