1 Introducción

La Organización para la Cooperación y el Desarrollo Económicos (OECD) constituye uno de los foros multilaterales más influyentes en materia de política económica global. Fundada en 1961 como sucesora de la Organización Europea de Cooperación Económica (OECE), la OECD ha emprendido en las últimas décadas un proceso de expansión estratégica orientado a universalizar sus denominadas “buenas prácticas”, incorporando progresivamente economías con mayor heterogeneidad en sus características económicas. Hoy agrupa a 38 miembros plenos y mantiene vínculos con socios estratégicos en América Latina, Asia y Europa del Este, lo que convierte su base de datos en una fuente única para el análisis macroeconómico comparado entre economías de muy distinto perfil.

La OECD publica mensualmente sus Main Economic Indicators, una compilación estadística que abarca una amplia gama de indicadores para sus países miembros y una selección de economías no miembros, incluyendo índices de precios al consumidor, tipos de cambio, tasas de interés y datos de producto interno bruto en paridad de poder adquisitivo. Esta estandarización metodológica hace posible comparaciones rigurosas entre economías tan dispares como Alemania, Colombia, India o Türkiye, cada una con estructuras productivas, niveles de inflación y dinámicas comerciales radicalmente distintas.

El contexto macroeconómico reciente ilustra con claridad esta heterogeneidad. La economía global se ha mantenido resiliente, aunque con diferencias marcadas en la intensidad de la actividad y los ingresos entre países y sectores; la inflación ha continuado moderándose, pero la confianza del consumidor aún no recupera los niveles previos a la pandemia en muchas economías. Esta divergencia es especialmente pronunciada entre economías avanzadas y emergentes: se proyecta que la inflación en Argentina y Türkiye permanezca en dobles dígitos, aunque con una marcada tendencia a la baja, mientras que la mayoría de las economías desarrolladas de la OECD han logrado retornar a sus metas de inflación.

Ante esta diversidad estructural, el presente trabajo tiene como objetivo segmentar un conjunto de 42 países miembros y socios de la OECD en grupos homogéneos según su comportamiento en 15 indicadores económicos seleccionados, que cubren dimensiones de tamaño económico, comercio exterior, crecimiento, inflación, empleo y tasas de interés. Para ello se combina el Análisis de Componentes Principales (ACP), que permite reducir la alta dimensionalidad de los datos preservando la mayor varianza posible, con dos técnicas de agrupamiento no supervisado: k-means y el método jerárquico de Ward.

1.1 Contexto

Los datos utilizados en este trabajo corresponden a información macroeconómica publicada por la OECD para un conjunto de 42 países miembros y socios estratégicos. Este período de referencia resulta especialmente relevante en el contexto económico global, pues coincide con una etapa de recuperación postpandémica en la que las economías mundiales enfrentaron simultáneamente presiones inflacionarias, ajustes en las tasas de interés, desaceleración del comercio internacional y redefinición de las cadenas de valor globales. En este escenario, las diferencias estructurales entre países se acentuaron: mientras algunas economías avanzadas lograron estabilizar sus indicadores macroeconómicos con relativa rapidez, otras —especialmente economías emergentes— continuaron experimentando alta inflación, depreciación cambiaria y menor dinamismo en el crecimiento del PIB. Desde la perspectiva del análisis comparado, la base de datos de la OECD ofrece una oportunidad única para estudiar estas diferencias de manera rigurosa y estandarizada. La inclusión de países tan heterogéneos como Alemania, Argentina, India, Corea y Colombia en una misma base de datos permite identificar patrones estructurales que no serían visibles al analizar cada economía de forma aislada. Variables como el crecimiento del PIB, la inflación, el tipo de cambio, el desempleo y las tasas de interés capturan dimensiones complementarias del desempeño económico y reflejan tanto las condiciones cíclicas como las características estructurales de cada país. Sin embargo, la complejidad y alta dimensionalidad de esta información dificulta su interpretación directa. Con 15 variables económicas y 42 países, el análisis variable por variable resulta insuficiente para revelar los patrones subyacentes que organizan las diferencias entre economías. Por esta razón, se requiere un enfoque analítico capaz de sintetizar grandes volúmenes de información, identificar relaciones internas entre variables y revelar estructuras de agrupamiento no evidentes a simple vista. En este sentido, el aprendizaje no supervisado proporciona las herramientas estadísticas idóneas para descubrir relaciones naturales entre países con diferentes perfiles macroeconómicos, sin necesidad de una variable dependiente predefinida.

1.2 Objetivo general

El propósito central de este trabajo es identificar las principales dimensiones que explican las diferencias en el desempeño macroeconómico de los países miembros y socios de la OECD, mediante la aplicación del Análisis de Componentes Principales (ACP). A través de esta técnica estadística se busca sintetizar la información contenida en 15 indicadores económicos, reduciendo la complejidad del conjunto de datos sin perder su variabilidad esencial. El análisis tiene como objetivo revelar las relaciones más relevantes entre los distintos aspectos del desempeño económico e identificar los factores estructurales que determinan la posición relativa de cada país dentro del panorama macroeconómico global. Complementariamente, mediante la aplicación de técnicas de agrupamiento no supervisado — específicamente k-means y el método jerárquico de Ward — se pretende segmentar los 42 países según sus similitudes en los indicadores seleccionados, con el fin de identificar tipologías económicas y establecer perfiles característicos que reflejen distintos niveles de desarrollo, dinamismo inflacionario y capacidad productiva. Esta fase del estudio permite interpretar de forma integral los resultados del ACP, ya que los clusters obtenidos revelan cómo las dimensiones latentes identificadas — tamaño económico, crecimiento nominal e inflación — se combinan para estructurar grupos de países con comportamientos macroeconómicos comparables, aportando una comprensión más profunda de las asimetrías y dinámicas del sistema económico global.

1.3 Pregunta problema

¿Es posible identificar grupos de países con perfiles macroeconómicos estructuralmente similares a partir de 15 indicadores de la OECD mediante técnicas de análisis no supervisado, y cuáles son las dimensiones y variables que mejor explican las diferencias entre dichos grupos? Este enfoque permite usar el ACP para resumir las variables macroeconómicas en dimensiones interpretables — tamaño económico, crecimiento nominal, inflación — y posteriormente el clustering para identificar grupos de países con comportamientos económicos comparables, facilitando el análisis de las asimetrías estructurales del sistema económico global.


2 Metodología

La metodología de este estudio se estructura en varias fases, abordando desde la recopilación y preparación de los datos hasta la aplicación de técnicas avanzadas de análisis multivariado. En una primera fase se realizó la selección, depuración y estandarización de las variables económicas. Posteriormente se aplicó el Análisis de Componentes Principales (ACP) con el objetivo de reducir la dimensionalidad del conjunto de datos, identificando los ejes principales que explican la variabilidad de los indicadores macroeconómicos seleccionados. Finalmente, se aplicaron dos métodos de agrupamiento no supervisado — k-means y el método jerárquico de Ward — para segmentar los países en grupos con características económicas homogéneas. Aplicando esta metodología se espera: reducir la complejidad del conjunto de datos identificando los ejes principales que explican la variabilidad de los indicadores económicos; interpretar las componentes principales en términos de dimensiones clave del desempeño macroeconómico; agrupar los países en clusters según sus similitudes estructurales — por ejemplo, economías de gran tamaño con bajo crecimiento nominal, economías medianas con comportamiento típico, o economías emergentes con alta inflación y tipos de cambio elevados —; y visualizar patrones y relaciones que permitan comprender las dinámicas económicas globales y las asimetrías entre países. De esta manera, el modelo no solo aplica los conceptos de aprendizaje no supervisado vistos en clase, sino que contribuye a comprender las diferencias estructurales entre las economías analizadas y su relación con los procesos de desarrollo y estabilidad macroeconómica.

2.1 Fuentes, Procesamiento y Preparación de Datos

La base de datos utilizada proviene de la OECD (Organisation for Economic Co-operation and Development) y contiene información macroeconómica de 42 países — miembros plenos y socios estratégicos — para un período de referencia reciente. La base original cuenta con 29 variables económicas (x1 a x29), de las cuales se seleccionaron 15 variables que cubren de manera representativa las principales dimensiones del desempeño económico: comercio exterior, tamaño del PIB, crecimiento, inflación, consumo, inversión, desempleo y tasas de interés.

El procesamiento incluyó:

  • Verificación de datos faltantes (ninguno encontrado en las variables seleccionadas).
  • Renombre de variables para facilitar su interpretación.
  • Estandarización de todas las variables (media 0, desviación estándar 1) antes de aplicar el ACP y los algoritmos de clustering, dado que las variables tienen escalas muy distintas (porcentajes, miles de millones de USD, índices).
datos <- read_excel("C:/Users/david/Downloads/DatosEcon.xlsx", sheet = "Data")
diccionario <- read_excel("C:/Users/david/Downloads/DatosEcon.xlsx", sheet = "Descripción")

variables_seleccionadas <- c("x1","x2","x3","x5","x9","x10","x11",
                             "x12","x17","x18","x19","x21","x22",
                             "x26","x29")

datos_sel <- datos %>%
  select(Pais, all_of(variables_seleccionadas))

nombres <- c(
  "Pais", "CtaCte_PIB", "TipoCambio", "Importaciones", "Exportaciones",
  "PIB_nominal", "PIB_volumen", "PIB_PPP", "FormCapital",
  "Crec_PIB_vol", "Crec_PIB_nom", "Crec_Deflactor",
  "Crec_ConsPriv", "Crec_ConsGob", "Desempleo", "TasaInteres_CP"
)
colnames(datos_sel) <- nombres

cat("Datos faltantes:", sum(is.na(datos_sel)), "\n")
## Datos faltantes: 0
cat("Países:", nrow(datos_sel), "| Variables:", ncol(datos_sel) - 1)
## Países: 42 | Variables: 15

2.1.1 Países incluidos en el análisis

datos_sel %>%
  select(Pais) %>%
  mutate(N = row_number()) %>%
  select(N, Pais) %>%
  kbl(
    caption = "Países incluidos en el análisis (42 países OECD y socios)",
    col.names = c("N°", "País"), align = "cl"
  ) %>%
  kable_styling(bootstrap_options = c("hover", "condensed", "responsive"),
                full_width = FALSE, font_size = 13) %>%
  row_spec(0, bold = TRUE, background = "#1a6e9e", color = "white") %>%
  row_spec(seq(1, nrow(datos_sel), 2), background = "#f0f7ff") %>%
  row_spec(seq(2, nrow(datos_sel), 2), background = "#ffffff")
Países incluidos en el análisis (42 países OECD y socios)
País
1 Australia
2 Austria
3 Belgium
4 Canada
5 Chile
6 Colombia
7 Czech Republic
8 Denmark
9 Estonia
10 Finland
11 France
12 Germany
13 Greece
14 Hungary
15 Iceland
16 Ireland
17 Israel
18 Italy
19 Japan
20 Korea
21 Luxembourg
22 Mexico
23 Netherlands
24 New Zealand
25 Norway
26 Poland
27 Portugal
28 Slovak Republic
29 Slovenia
30 Spain
31 Sweden
32 Switzerland
33 Türkiye
34 United Kingdom
35 United States
36 Argentina
37 Brazil
38 Croatia
39 India
40 Peru
41 Romania
42 SouthAfrica

2.2 Descripción de Variables

Las 15 variables seleccionadas cubren cinco dimensiones del desempeño macroeconómico: sector externo (cuenta corriente, tipo de cambio, importaciones y exportaciones), tamaño económico (PIB nominal, en volumen y PPP, formación de capital), crecimiento (PIB volumen y nominal), precios y consumo (deflactor del PIB, consumo privado y del gobierno) y condiciones financieras y laborales (desempleo y tasa de interés de corto plazo).

tabla_variables <- data.frame(
  Variable = c("CtaCte_PIB", "TipoCambio", "Importaciones", "Exportaciones",
               "PIB_nominal", "PIB_volumen", "PIB_PPP", "FormCapital",
               "Crec_PIB_vol", "Crec_PIB_nom", "Crec_Deflactor",
               "Crec_ConsPriv", "Crec_ConsGob", "Desempleo", "TasaInteres_CP"),
  Cod_Original = c("x1","x2","x3","x5","x9","x10","x11",
                   "x12","x17","x18","x19","x21","x22","x26","x29"),
  Descripcion = c(
    "Balance de cuenta corriente (% del PIB)",
    "Tipo de cambio (moneda nacional por USD)",
    "Importaciones de bienes y servicios (volumen, USD)",
    "Exportaciones de bienes y servicios (volumen, USD)",
    "PIB nominal a precios de mercado",
    "PIB en volumen a precios de mercado",
    "PIB en volumen, USD a PPA constantes",
    "Formación bruta de capital fijo (volumen)",
    "Crecimiento del PIB en volumen (%)",
    "Crecimiento del PIB nominal (%)",
    "Crecimiento del deflactor del PIB - inflación (%)",
    "Crecimiento del consumo privado (volumen, %)",
    "Crecimiento del consumo del gobierno (volumen, %)",
    "Tasa de desempleo (%)",
    "Tasa de interés de corto plazo (%)"
  ),
  Unidad = c(
    "% del PIB", "Moneda/USD", "USD (volumen)", "USD (volumen)",
    "USD corrientes", "USD constantes", "USD PPA constantes", "USD constantes",
    "%", "%", "%", "%", "%", "%", "%"
  )
)

tabla_variables %>%
  kbl(caption = "Variables seleccionadas para el análisis",
      col.names = c("Variable", "Código original", "Descripción", "Unidad"),
      align = "llll") %>%
  kable_styling(bootstrap_options = c("hover", "condensed", "responsive"),
                full_width = FALSE, font_size = 13) %>%
  row_spec(0, bold = TRUE, background = "#1a6e9e", color = "white") %>%
  column_spec(1, bold = TRUE, color = "#1a6e9e") %>%
  column_spec(3, width = "10cm") %>%
  row_spec(seq(1, 15, 2), background = "#f0f7ff") %>%
  row_spec(seq(2, 14, 2), background = "#ffffff")
Variables seleccionadas para el análisis
Variable Código original Descripción Unidad
CtaCte_PIB x1 Balance de cuenta corriente (% del PIB) % del PIB
TipoCambio x2 Tipo de cambio (moneda nacional por USD) Moneda/USD
Importaciones x3 Importaciones de bienes y servicios (volumen, USD) USD (volumen)
Exportaciones x5 Exportaciones de bienes y servicios (volumen, USD) USD (volumen)
PIB_nominal x9 PIB nominal a precios de mercado USD corrientes
PIB_volumen x10 PIB en volumen a precios de mercado USD constantes
PIB_PPP x11 PIB en volumen, USD a PPA constantes USD PPA constantes
FormCapital x12 Formación bruta de capital fijo (volumen) USD constantes
Crec_PIB_vol x17 Crecimiento del PIB en volumen (%) %
Crec_PIB_nom x18 Crecimiento del PIB nominal (%) %
Crec_Deflactor x19 Crecimiento del deflactor del PIB - inflación (%) %
Crec_ConsPriv x21 Crecimiento del consumo privado (volumen, %) %
Crec_ConsGob x22 Crecimiento del consumo del gobierno (volumen, %) %
Desempleo x26 Tasa de desempleo (%) %
TasaInteres_CP x29 Tasa de interés de corto plazo (%) %

2.3 Técnicas de Análisis Multivariado

2.3.1 Análisis de Componentes Principales (ACP)

El ACP es una técnica de reducción de dimensionalidad que transforma un conjunto de variables numéricas correlacionadas en un nuevo conjunto de variables no correlacionadas llamadas componentes principales (CP). Cada componente es una combinación lineal de las variables originales, construida de manera que el CP1 captura la mayor cantidad posible de varianza, el CP2 la mayor varianza restante siendo ortogonal al CP1, y así sucesivamente.

El ACP permite: (1) visualizar países y variables en un espacio de baja dimensión; (2) identificar qué variables están más correlacionadas entre sí; y (3) reducir el ruido y la redundancia antes de aplicar clustering. La estandarización previa es indispensable dado que la técnica es sensible a la escala de medición.

2.3.2 Clusterización: K-means y Método de Ward

K-means es un algoritmo de agrupamiento que particiona las observaciones en k grupos, asignando cada observación al cluster cuyo centroide está más cerca y recalculando iterativamente los centroides hasta la convergencia. El número óptimo de k se determina mediante los métodos del codo (WSS) y la silueta.

El método de Ward (clustering jerárquico aglomerativo) construye un dendrograma fusionando iterativamente las observaciones o clusters más similares, minimizando en cada paso el incremento de la varianza intra-cluster. Ambas técnicas se aplican sobre las variables estandarizadas y sus resultados se comparan para verificar la robustez de la segmentación.


3 Análisis Descriptivo

3.1 Estadísticas Descriptivas

estadisticas <- datos_sel %>%
  select(-Pais) %>%
  summarise(across(everything(),
                   list(Media = mean, Mediana = median,
                        Min = min, Max = max, SD = sd),
                   .names = "{.col}_{.fn}")) %>%
  pivot_longer(everything(),
               names_to = c("Variable", "Estadistico"),
               names_sep = "_(?=[A-Za-z]+$)") %>%
  pivot_wider(names_from = Estadistico, values_from = value)

estadisticas %>%
  kbl(caption = "Estadísticas descriptivas de los indicadores económicos OECD",
      digits = 2, align = "lccccc",
      col.names = c("Variable", "Media", "Mediana", "Mínimo", "Máximo", "Desv. Est.")) %>%
  kable_styling(bootstrap_options = c("hover", "condensed", "responsive"),
                full_width = FALSE, font_size = 13) %>%
  row_spec(0, bold = TRUE, background = "#1a6e9e", color = "white") %>%
  column_spec(1, bold = TRUE, color = "#1a6e9e") %>%
  row_spec(seq(1, 15, 2), background = "#f0f7ff") %>%
  row_spec(seq(2, 14, 2), background = "#ffffff") %>%
  add_header_above(c(" " = 1, "Medidas descriptivas" = 5),
                   bold = TRUE, background = "#d0e8f7")
Estadísticas descriptivas de los indicadores económicos OECD
Medidas descriptivas
Variable Media Mediana Mínimo Máximo Desv. Est.
CtaCte_PIB 1.010000e+00 3.600000e-01 -7.280000e+00 1.491000e+01 5.080000e+00
TipoCambio 7.990000e+00 1.300000e+00 7.300000e-01 9.508000e+01 1.822000e+01
Importaciones 3.819741e+11 2.038763e+11 8.644998e+09 3.245332e+12 5.493589e+11
Exportaciones 3.704357e+11 2.173976e+11 8.082994e+09 2.257271e+12 4.488404e+11
PIB_nominal 1.068741e+14 2.384922e+12 3.135620e+10 2.071658e+15 3.699529e+14
PIB_volumen 9.137015e+13 1.930567e+12 2.601447e+10 1.915777e+15 3.310409e+14
PIB_PPP 1.545227e+12 5.341115e+11 1.884749e+10 2.052937e+13 3.230601e+12
FormCapital 2.366899e+13 3.753493e+11 8.332420e+09 5.731436e+14 9.288766e+13
Crec_PIB_vol 6.410000e+00 5.290000e+00 1.640000e+00 1.343000e+01 2.870000e+00
Crec_PIB_nom 1.297000e+01 1.068000e+01 7.600000e-01 7.018000e+01 1.137000e+01
Crec_Deflactor 6.080000e+00 3.070000e+00 -8.700000e-01 5.415000e+01 9.120000e+00
Crec_ConsPriv 6.610000e+00 5.730000e+00 4.000000e-01 2.051000e+01 3.930000e+00
Crec_ConsGob 4.460000e+00 4.030000e+00 4.100000e-01 1.263000e+01 2.780000e+00
Desempleo 7.370000e+00 6.080000e+00 2.820000e+00 3.427000e+01 5.270000e+00
TasaInteres_CP 1.000000e+00 2.000000e-02 -7.400000e-01 1.871000e+01 3.170000e+00

El análisis de las estadísticas descriptivas muestra una alta variabilidad entre los países incluidos en la base de datos. Las variables relacionadas con el tamaño de la economía, como el PIB nominal (x9), el PIB en volumen (x10), el PIB ajustado por paridad de poder adquisitivo (x11), la formación bruta de capital (x12), las importaciones (x3) y las exportaciones (x5), presentan las mayores desviaciones estándar y una amplia diferencia entre sus valores mínimos y máximos. Esto refleja la existencia de economías con escalas muy diferentes dentro del conjunto de países analizados.

También se observa una dispersión considerable en variables como el crecimiento del PIB nominal (x18) y el crecimiento del deflactor del PIB (x19), cuyos valores máximos son muy superiores a sus medias, lo que sugiere la presencia de algunos países con comportamientos económicos atípicos frente al resto de la muestra. De igual manera, la tasa de desempleo (x26) y la tasa de interés de corto plazo (x29) muestran diferencias importantes entre países, evidenciando distintos contextos macroeconómicos y políticas monetarias.

En términos generales, las medias indican que el crecimiento promedio del PIB en volumen es de aproximadamente 6,41%, el crecimiento del consumo privado es cercano al 6,61% y el crecimiento del consumo del gobierno alcanza un promedio de 4,46%. Estas estadísticas permiten concluir que existe una marcada heterogeneidad entre las economías analizadas, lo que justifica la utilización de técnicas como el Análisis de Componentes Principales y la clusterización para identificar grupos de países con características similares.

3.2 Boxplots

datos_sel %>%
  select(-Pais) %>%
  scale() %>%
  as.data.frame() %>%
  pivot_longer(everything(), names_to = "Variable", values_to = "Valor") %>%
  ggplot(aes(x = Variable, y = Valor)) +
  geom_boxplot(fill = "#00AFBB") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(title = "Variables estandarizadas", y = "Valor (z-score)")

La inspección de los diagramas de caja de las variables estandarizadas muestra que varias presentan una dispersión importante y la presencia de valores atípicos, lo que evidencia la heterogeneidad económica de los países analizados. Las variables relacionadas con el PIB, las importaciones, las exportaciones y la formación bruta de capital presentan una mayor variabilidad, reflejando las diferencias de tamaño entre las economías incluidas en la muestra.

En cuanto a los valores atípicos, destacan países como Estados Unidos y Alemania, que presentan niveles muy superiores al promedio en variables asociadas al comercio exterior y al tamaño de la economía. También sobresalen Argentina y Türkiye, cuyos altos valores en crecimiento nominal, deflactor del PIB y tasas de interés las diferencian del resto de países. Por otro lado, Sudáfrica registra un valor atípico en la tasa de desempleo, mientras que Irlanda, Noruega, Chile y Colombia presentan comportamientos extremos en algunos indicadores específicos como el saldo de cuenta corriente o las tasas de crecimiento.

En general, los boxplots muestran que existen observaciones extremas en varias de las variables analizadas, lo que confirma la existencia de diferencias estructurales entre las economías estudiadas y respalda la necesidad de aplicar técnicas de reducción de dimensión y agrupamiento para identificar patrones comunes entre los países.

3.3 Matriz de Correlación

datos_num <- datos_sel %>% select(-Pais)
datos_z   <- scale(datos_num)
rownames(datos_z) <- datos_sel$Pais

matriz_cor <- cor(datos_sel %>% select(-Pais))

corrplot(matriz_cor,
         method = "color", type = "upper",
         addCoef.col = "black", number.cex = 0.55,
         tl.col = "black", tl.cex = 0.75,
         col = colorRampPalette(c("#1a6e9e", "white", "#FC4E07"))(200),
         title = "Matriz de correlación - Indicadores económicos OECD",
         mar = c(0, 0, 2, 0))

La matriz de correlación muestra que existen relaciones importantes entre varias de las variables económicas seleccionadas. Entre las correlaciones positivas más altas destacan las observadas entre el PIB nominal y el PIB en volumen, así como entre estas variables y la formación bruta de capital, lo que indica que los países con economías de mayor tamaño también presentan mayores niveles de inversión. De igual forma, las importaciones y exportaciones presentan una correlación muy alta, reflejando que las economías con mayor actividad comercial tienden a registrar simultáneamente mayores flujos de compra y venta de bienes y servicios.

También se observa una fuerte asociación entre el crecimiento del PIB nominal y el crecimiento del deflactor del PIB, lo que sugiere que ambos indicadores están influenciados por factores comunes relacionados con la dinámica de los precios y la actividad económica. Además, el crecimiento del PIB en volumen presenta una correlación positiva con el crecimiento del consumo privado, indicando que un mayor dinamismo económico suele estar acompañado por un incremento en el gasto de los hogares.

En contraste, algunas variables presentan correlaciones negativas moderadas, como el saldo de cuenta corriente respecto al crecimiento del consumo privado, lo que evidencia que un mayor consumo interno puede estar asociado con una reducción del saldo externo en algunos países. Sin embargo, la mayoría de las correlaciones negativas encontradas son de baja magnitud.

En conjunto, la existencia de varias correlaciones elevadas indica que existe información redundante entre algunos indicadores, especialmente entre las variables relacionadas con el tamaño de la economía y el comercio internacional. Esta situación justifica la aplicación del Análisis de Componentes Principales (ACP), ya que esta técnica permite resumir la información contenida en las variables originales en un número reducido de componentes, conservando la mayor parte de la variabilidad de los datos y facilitando posteriormente la identificación de grupos de países con características económicas similares.


4 Análisis de Componentes Principales (ACP)

res.pca <- prcomp(datos_z, scale = TRUE)
eig.val <- get_eigenvalue(res.pca)
res.var <- get_pca_var(res.pca)
res.ind <- get_pca_ind(res.pca)

pct1 <- round(eig.val$variance.percent[1], 1)
pct2 <- round(eig.val$variance.percent[2], 1)

Con el fin de reducir la dimensionalidad de la base de datos y resumir la información contenida en las 15 variables económicas seleccionadas, se aplicó un Análisis de Componentes Principales (ACP) sobre las variables estandarizadas. La estandarización fue necesaria debido a que los indicadores se encuentran medidos en diferentes unidades y escalas, evitando que las variables con valores más grandes dominaran el análisis.

Los resultados muestran que el primer componente principal explica aproximadamente el 26,5 % de la variabilidad total de los datos, mientras que el segundo componente explica cerca del 20,4 %. En conjunto, los dos primeros componentes concentran alrededor del 46,9 % de la variación observada entre los países, lo que permite representar una parte importante de la información original en un espacio bidimensional.

Esta reducción de la dimensionalidad facilita la identificación de patrones y similitudes entre las economías analizadas, además de servir como base para la aplicación de los métodos de agrupamiento utilizados posteriormente. De esta manera, el ACP contribuye a simplificar el análisis sin perder una proporción importante de la información contenida en las variables originales.

4.1 FactoClass

library(FactoClass)

datos_z_df <- as.data.frame(datos_z)
dudi_FC <- dudi.pca(datos_z_df, scannf = FALSE, nf = 3)
ward_FC <- hclust(dist(dudi_FC$li[, 1:3]), method = "ward.D2")
grupos_FC <- cutree(ward_FC, k = 3)

plot(dudi_FC)

s.corcircle(dudi_FC$co)

s.label(dudi_FC$li, label = rownames(datos_z_df))

s.label(dudi_FC$co, xax = 1, yax = 2,
        sub = "Componente 1 y 2", possub = "bottomright")

scatter(dudi_FC, xax = 1, yax = 2)

s.class(dudi_FC$li,
        fac = factor(grupos_FC),
        col = c("#1a6e9e", "#E7B800", "#FC4E07"),
        sub = "Componentes 1 y 2", possub = "bottomright")

La representación obtenida mediante FactoClass permite visualizar simultáneamente la relación entre las variables económicas, la posición de los países y la conformación de los grupos obtenidos a partir de los componentes principales. Los dos primeros componentes resumen una parte importante de la variabilidad de la información y facilitan la identificación de patrones de similitud entre las economías analizadas.

En el círculo de correlaciones se observa que las variables relacionadas con el tamaño de la economía, como el PIB, las importaciones, las exportaciones y la formación bruta de capital, presentan vectores con direcciones similares, indicando una alta asociación positiva y una contribución importante al primer componente principal. Por su parte, variables asociadas al crecimiento económico, la inflación, el desempleo y las tasas de interés aportan a la diferenciación observada en el segundo componente, permitiendo separar economías con comportamientos macroeconómicos distintos.

La clasificación realizada sobre los tres primeros componentes mediante el método de Ward identifica tres grupos de países con características relativamente homogéneas. Un grupo reúne economías de gran tamaño y alta actividad comercial, otro agrupa países con indicadores intermedios y un tercer grupo concentra economías con comportamientos más particulares en variables como crecimiento, inflación o mercado laboral. La separación observada en el plano factorial muestra que los componentes principales capturan adecuadamente las diferencias estructurales existentes entre los países.

En términos generales, los grupos obtenidos mediante FactoClass son consistentes con los resultados encontrados mediante k-means y el método jerárquico de Ward, ya que las tres metodologías identifican patrones similares de agrupamiento, aunque pueden presentarse diferencias en la asignación de algunos países ubicados cerca de las fronteras entre clústeres. Esto confirma que la estructura de los datos es suficientemente estable y que la segmentación obtenida refleja similitudes económicas reales entre las economías analizadas.

4.2 Varianza Explicada

eig.val %>%
  as.data.frame() %>%
  rownames_to_column("Componente") %>%
  mutate(across(where(is.numeric), round, 3)) %>%
  kbl(caption = "Eigenvalores y varianza explicada por componente",
      col.names = c("Componente", "Eigenvalor", "% Varianza", "% Varianza acumulada"),
      align = "lccc") %>%
  kable_styling(bootstrap_options = c("hover", "condensed"),
                full_width = FALSE, font_size = 13) %>%
  row_spec(0, bold = TRUE, background = "#1a6e9e", color = "white") %>%
  row_spec(1:5, background = "#f0f7ff") %>%
  column_spec(1, bold = TRUE, color = "#1a6e9e")
Eigenvalores y varianza explicada por componente
Componente Eigenvalor % Varianza % Varianza acumulada
Dim.1 3.979 26.529 26.529
Dim.2 3.061 20.409 46.938
Dim.3 2.553 17.021 63.959
Dim.4 1.625 10.835 74.794
Dim.5 1.295 8.633 83.427
Dim.6 0.811 5.404 88.831
Dim.7 0.656 4.371 93.202
Dim.8 0.460 3.068 96.270
Dim.9 0.271 1.803 98.073
Dim.10 0.190 1.268 99.341
Dim.11 0.071 0.476 99.817
Dim.12 0.022 0.150 99.967
Dim.13 0.005 0.031 99.998
Dim.14 0.000 0.001 99.999
Dim.15 0.000 0.001 100.000
fviz_eig(res.pca,
         addlabels = TRUE,
         barfill   = "#1a6e9e",
         barcolor  = "white",
         linecolor = "#FC4E07",
         ylim = c(0, 35),
         main = "Varianza explicada por componente principal")

La tabla de eigenvalores permite identificar la cantidad de variabilidad que explica cada componente principal obtenido en el ACP. El primer componente es el que concentra la mayor proporción de información de las 15 variables analizadas, seguido por el segundo y el tercero, mientras que los componentes restantes presentan un aporte cada vez menor.

Para determinar el número de componentes a conservar se aplicó el criterio de Kaiser, el cual establece que deben retenerse aquellos componentes cuyo eigenvalor es superior a 1, ya que cada uno explica una cantidad de variabilidad mayor que una variable original estandarizada. En este caso, los tres primeros componentes cumplen este criterio y, en conjunto, explican una proporción importante de la variabilidad total de los datos.

Esta decisión también se observa en el gráfico de sedimentación (Scree Plot), donde se aprecia un cambio marcado en la pendiente después del tercer componente. A partir de este punto, la disminución de los eigenvalores es mucho más gradual, indicando que los componentes adicionales aportan poca información nueva. Por esta razón, la retención de los tres primeros componentes resulta adecuada para resumir la información de la base de datos y facilitar los análisis posteriores de agrupamiento.

4.3 Análisis de Variables

fviz_contrib(res.pca, choice = "var", axes = 1, top = 15,
             fill = "#1a6e9e", color = "white",
             title = "Contribución de variables — Componente 1")

fviz_contrib(res.pca, choice = "var", axes = 2, top = 15,
             fill = "#1a6e9e", color = "white",
             title = "Contribución de variables — Componente 2")

var_coord <- as.data.frame(res.var$coord[, 1:2])
var_coord$contrib <- rowSums(res.var$contrib[, 1:2])
var_coord$Variable <- rownames(var_coord)

ggplot(var_coord, aes(x = Dim.1, y = Dim.2, color = contrib)) +
  geom_path(
    data = data.frame(x = cos(seq(0, 2*pi, length.out = 300)),
                      y = sin(seq(0, 2*pi, length.out = 300))),
    aes(x = x, y = y), color = "grey60", linewidth = 0.5, inherit.aes = FALSE
  ) +
  geom_segment(aes(xend = 0, yend = 0),
               arrow = arrow(length = unit(0.22, "cm")),
               alpha = 0.85, linewidth = 0.7) +
  geom_point(size = 2.5) +
  geom_text_repel(aes(label = Variable), size = 3.5, color = "black",
                  segment.color = "grey70", max.overlaps = 20) +
  scale_color_gradient(low = "#00AFBB", high = "#FC4E07") +
  coord_fixed() +
  theme_minimal(base_size = 12) +
  labs(title = "Círculo de correlación de variables",
       subtitle = "Color = contribución acumulada CP1 + CP2",
       x = paste0("CP1 (", pct1, "%)"),
       y = paste0("CP2 (", pct2, "%)"),
       color = "Contrib (%)")

El análisis de contribuciones muestra que el primer componente principal (CP1) está definido principalmente por las variables relacionadas con el tamaño y la actividad económica de los países, como el PIB nominal, el PIB en volumen, el PIB ajustado por paridad de poder adquisitivo (PPA), las importaciones, las exportaciones y la formación bruta de capital fijo. Estas variables presentan las mayores contribuciones al componente y se encuentran orientadas en una misma dirección dentro del círculo de correlación, indicando una fuerte asociación positiva entre ellas. En consecuencia, el CP1 puede interpretarse como un eje que representa la magnitud y capacidad productiva de las economías.

Por su parte, el segundo componente principal (CP2) está determinado principalmente por variables relacionadas con la dinámica macroeconómica de corto plazo, como el crecimiento del PIB, el crecimiento del deflactor del PIB, el crecimiento del consumo privado, la tasa de desempleo y la tasa de interés de corto plazo. Estas variables permiten diferenciar países según sus condiciones de crecimiento, inflación y desempeño del mercado laboral, aportando información complementaria a la explicada por el primer componente.

El círculo de correlación también evidencia la existencia de grupos de variables altamente relacionadas entre sí. Las variables asociadas al tamaño de la economía y al comercio exterior aparecen próximas unas de otras, reflejando una correlación positiva elevada. De manera similar, las variables relacionadas con el crecimiento económico y el consumo presentan direcciones semejantes, indicando que tienden a aumentar o disminuir conjuntamente. En contraste, algunas variables como la tasa de desempleo o la tasa de interés muestran orientaciones diferentes respecto a las variables de crecimiento, sugiriendo relaciones menos directas o incluso opuestas.

En conjunto, los dos primeros componentes permiten resumir la información contenida en las 15 variables originales y facilitan la interpretación de las diferencias económicas entre los países, identificando tanto aspectos estructurales asociados al tamaño de la economía como características relacionadas con su desempeño macroeconómico reciente.

4.4 Análisis de Individuos (Países)

fviz_pca_ind(res.pca,
             col.ind = "cos2",
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE,
             title = "Países en el plano factorial (CP1 vs CP2)")

coord_ind <- as.data.frame(res.pca$x[, 1:2])
coord_ind$Pais <- rownames(coord_ind)
coord_ind$N <- seq_len(nrow(coord_ind))
coord_ind$cos2 <- rowSums(res.ind$cos2[, 1:2])

plot_ly(coord_ind,
        x = ~PC1, y = ~PC2,
        text = ~paste0(N, ". ", Pais),
        color = ~cos2,
        colors = c("#00AFBB", "#E7B800", "#FC4E07"),
        type = "scatter", mode = "markers+text",
        textposition = "top center",
        marker = list(size = 7)) %>%
  layout(
    title = paste0("Países en el plano factorial interactivo (",
                   round(pct1 + pct2, 1), "% varianza explicada)"),
    xaxis = list(title = paste0("CP1 (", pct1, "%)")),
    yaxis = list(title = paste0("CP2 (", pct2, "%)"))
  )
coord_var_bi <- as.data.frame(res.pca$rotation[, 1:2])
coord_var_bi$Variable <- rownames(coord_var_bi)

max_ind <- max(abs(coord_ind[, 1:2]))
max_var <- max(abs(coord_var_bi[, 1:2]))
escala  <- max_ind / max_var * 0.75
coord_var_bi[, 1:2] <- coord_var_bi[, 1:2] * escala

fig_biplot <- plot_ly(type = "scatter", mode = "markers+text")

fig_biplot <- fig_biplot %>%
  add_trace(data = coord_ind,
            x = ~PC1, y = ~PC2,
            text = ~paste0(N, ". ", Pais),
            color = ~cos2,
            colors = c("#00AFBB", "#E7B800", "#FC4E07"),
            mode = "markers+text",
            textposition = "top center",
            marker = list(size = 6, opacity = 0.8),
            name = "Países")

for (i in seq_len(nrow(coord_var_bi))) {
  fig_biplot <- fig_biplot %>%
    add_trace(x = c(0, coord_var_bi$PC1[i]),
              y = c(0, coord_var_bi$PC2[i]),
              mode = "lines+text",
              text = c("", coord_var_bi$Variable[i]),
              textposition = "top center",
              line = list(color = "#FC4E07", width = 1.5),
              showlegend = FALSE,
              name = coord_var_bi$Variable[i])
}

fig_biplot %>%
  layout(
    title = paste0("Biplot interactivo — Países y variables económicas OECD (",
                   round(pct1 + pct2, 1), "% varianza)"),
    xaxis = list(title = paste0("CP1 (", pct1, "%)")),
    yaxis = list(title = paste0("CP2 (", pct2, "%)")),
    showlegend = TRUE
  )

El gráfico de individuos muestra que la mayoría de los países se concentra alrededor del origen del plano factorial, lo que indica que comparten características económicas relativamente similares en las variables consideradas. Sin embargo, también se observan algunos países claramente alejados del centro, evidenciando perfiles económicos diferenciados respecto al resto de la muestra.

Sobre el primer componente principal (CP1) destacan Argentina y Türkiye, ubicadas en el extremo positivo del eje, mientras que Estados Unidos, Alemania, Japón y Corea aparecen en el extremo opuesto. Esta separación sugiere que el CP1 distingue economías con comportamientos muy diferentes en variables relacionadas con el tamaño económico, el comercio exterior y el crecimiento nominal.

En el segundo componente principal (CP2) sobresale especialmente Corea, que presenta la mayor distancia respecto al resto de los países, seguida por Colombia, las cuales aparecen claramente separadas del grupo principal. Esta ubicación indica que estos países poseen características particulares en algunas de las variables asociadas al crecimiento económico, consumo, desempleo o tasas de interés, contribuyendo de manera importante a la variabilidad explicada por este componente.

El color asociado al cos² permite identificar los países mejor representados por los dos primeros componentes. En este caso, Corea, Japón, Colombia, Suiza, Argentina y Alemania presentan valores elevados de cos², por lo que su posición en el plano factorial resume adecuadamente la información contenida en las variables originales. Por el contrario, los países ubicados cerca del origen presentan una representación menos precisa en los dos primeros componentes.

Finalmente, antes de aplicar los métodos formales de agrupamiento, el plano factorial ya permite apreciar una tendencia a la formación de grupos de economías con perfiles similares, mientras que países como Argentina, Türkiye, Corea, Estados Unidos y Colombia aparecen más aislados debido a sus características económicas particulares, anticipando la estructura de clústeres que posteriormente es identificada mediante los métodos de k-means y Ward.


5 Determinación del Número Óptimo de Clusters y Clusterización

5.1 Número Óptimo de Clusters

fviz_nbclust(datos_z, kmeans, method = "wss") +
  labs(title = "Método del codo — Número óptimo de clusters")

fviz_nbclust(datos_z, kmeans, method = "silhouette") +
  labs(title = "Método de la silueta — K-means")

fviz_nbclust(datos_z, hcut, method = "silhouette") +
  labs(title = "Método de la silueta — Clustering jerárquico")

El método del codo muestra una disminución considerable de la suma de cuadrados intra-clúster (WSS) al pasar de dos a tres grupos. Sin embargo, a partir de (k=3) la curva comienza a estabilizarse y la reducción del WSS es mucho menos pronunciada, formando un cambio evidente en la pendiente. Esto indica que incorporar un número mayor de clústeres aporta una mejora relativamente pequeña en la homogeneidad de los grupos, por lo que tres clústeres representan una solución adecuada para resumir la estructura de los datos.

Por otra parte, el método de la silueta confirma este resultado. El valor promedio de la silueta alcanza su máximo cuando (k=3), lo que indica que las observaciones presentan una buena cohesión dentro de su propio grupo y una adecuada separación respecto a los demás clústeres. Para valores superiores de (k), el índice disminuye progresivamente, sugiriendo que la calidad de la partición se deteriora al generar grupos más pequeños y menos diferenciados.

En conjunto, ambos criterios respaldan la selección de tres clústeres como la alternativa más apropiada para segmentar los 42 países analizados. Esta elección permite obtener una clasificación suficientemente diferenciada sin generar una fragmentación innecesaria de los datos, facilitando además la interpretación económica de los grupos obtenidos en los análisis posteriores.

5.2 K-means

set.seed(123)
k <- 3
modelo_kmeans <- kmeans(datos_z, centers = k, nstart = 25)

fviz_cluster(modelo_kmeans, data = datos_z,
             repel = TRUE,
             ellipse.type = "convex",
             palette = c("#1a6e9e", "#E7B800", "#FC4E07"),
             ggtheme = theme_minimal(),
             main = "Clusters de países (k-means) en plano PCA")

datos_kmeans <- datos_sel %>%
  mutate(cluster_kmeans = factor(modelo_kmeans$cluster))

5.3 Ward y Dendrograma

distancias  <- dist(datos_z, method = "euclidean")
modelo_ward <- hclust(distancias, method = "ward.D2")

fviz_dend(modelo_ward,
          k = k,
          cex = 0.6,
          k_colors = c("#1a6e9e", "#E7B800", "#FC4E07"),
          color_labels_by_k = TRUE,
          rect = TRUE,
          rect_border = c("#1a6e9e", "#E7B800", "#FC4E07"),
          rect_fill = TRUE,
          main = "Dendrograma — Método de Ward",
          xlab = "Países",
          ylab = "Distancia (Ward.D2)")

clusters_ward <- cutree(modelo_ward, k = k)
datos_final   <- datos_kmeans %>%
  mutate(cluster_ward = factor(clusters_ward))

El dendrograma obtenido mediante el método de Ward.D2 muestra que la mayor parte de los países se agrupan progresivamente a distancias relativamente bajas, lo que indica que comparten características macroeconómicas similares. En las primeras etapas del proceso se forman pequeños grupos de economías con perfiles cercanos y, posteriormente, estos grupos se van fusionando hasta conformar conglomerados de mayor tamaño.

Al observar la estructura del árbol, se aprecia un salto importante en la distancia de fusión antes de las últimas uniones, lo que evidencia la existencia de grupos bien diferenciados. Por esta razón, el corte realizado para (k=3) resulta adecuado, ya que se efectúa antes de combinar conglomerados con diferencias estructurales importantes.

El primer clúster reúne a la gran mayoría de los países de la muestra, incluyendo economías como Australia, Canadá, Chile, Colombia, Francia, Alemania, Japón, México, España, Suecia, Suiza, Reino Unido, Brasil, India, Perú, Rumania y Sudáfrica, entre otras. Este grupo concentra países con perfiles macroeconómicos relativamente similares dentro del conjunto analizado.

El segundo clúster está conformado por Estados Unidos, Argentina y Türkiye, economías que permanecen separadas del grupo principal hasta una distancia de fusión considerablemente mayor. Su ubicación en el dendrograma indica que presentan características económicas particulares que las diferencian del resto de países, asociadas principalmente a variables como el tamaño económico, el crecimiento nominal, la inflación y las tasas de interés.

Finalmente, Corea constituye por sí sola el tercer clúster, permaneciendo aislada durante gran parte del proceso jerárquico y uniéndose al resto únicamente en una etapa final del dendrograma. Este comportamiento evidencia que su combinación de indicadores económicos difiere significativamente de la observada en los demás países de la muestra.

En conjunto, el dendrograma confirma que la estructura de los datos presenta tres grupos claramente diferenciados, respaldando la elección de (k=3) y mostrando una segmentación consistente con los resultados obtenidos mediante el Análisis de Componentes Principales y el algoritmo k-means.

5.4 Comparación K-means vs Ward

table(KMeans = datos_final$cluster_kmeans,
      Ward   = datos_final$cluster_ward) %>%
  kbl(caption = "Tabla de contingencia: K-means vs Ward") %>%
  kable_styling(bootstrap_options = c("hover", "condensed"),
                full_width = FALSE, font_size = 13) %>%
  row_spec(0, bold = TRUE, background = "#1a6e9e", color = "white")
Tabla de contingencia: K-means vs Ward
1 2 3
3 0 1
32 0 0
1 5 0

[Escribir aquí qué tan consistentes son los dos métodos: cuántos países coinciden en su asignación y cuáles difieren, y qué implica eso sobre la robustez de la segmentación.]

5.5 Gráfico de Clusters con Elipses de Confianza

dudi_obj   <- dudi.pca(as.data.frame(datos_z), scannf = FALSE, nf = 2)
xy         <- dudi_obj$li[, 1:2]
colnames(xy) <- c("Dim1", "Dim2")
col_clusters <- c("#1a6e9e", "#E7B800", "#FC4E07")

s.class(xy,
        fac = factor(modelo_kmeans$cluster),
        xax = 1, yax = 2,
        col = col_clusters,
        grid = FALSE, cell = 0, clabel = 0,
        cstar = 1, cpoint = 1.8,
        addaxes = TRUE, axesell = FALSE,
        sub = paste0("CP1 (", pct1, "%) y CP2 (", pct2, "%)"),
        possub = "bottomright")

text(xy[,1], xy[,2],
     labels = seq_len(nrow(xy)),
     cex = 0.6,
     col = col_clusters[modelo_kmeans$cluster])

for (i in 1:k) {
  inds <- which(modelo_kmeans$cluster == i)
  if (length(inds) >= 3) {
    dataEllipse(xy[inds, 1], xy[inds, 2],
                add = TRUE, levels = 0.95,
                plot.points = FALSE, lwd = 2, lty = 1,
                col = adjustcolor(col_clusters[i], alpha.f = 0.9),
                fill = TRUE, fill.alpha = 0.08)
  }
}

centroides <- aggregate(xy, by = list(Cluster = modelo_kmeans$cluster), FUN = mean)
points(centroides[,2], centroides[,3], pch = 16, cex = 1.8, col = "black")
text(centroides[,2], centroides[,3],
     labels = centroides[,1], col = "white", cex = 1.2, font = 2)

tabla_paises_num <- datos_sel %>%
  select(Pais) %>%
  mutate(N = row_number(),
         Cluster = factor(modelo_kmeans$cluster),
         Grupo = case_when(
           Cluster == 1 ~ "Grandes economías desarrolladas",
           Cluster == 2 ~ "Economías medianas y avanzadas",
           Cluster == 3 ~ "Economías emergentes con alta inflación")) %>%
  select(N, Pais, Cluster, Grupo) %>%
  arrange(Cluster, N)

tabla_paises_num %>%
  kbl(caption = "Referencia: número asignado a cada país en el gráfico",
      col.names = c("N°", "País", "Cluster", "Grupo"), align = "clcc") %>%
  kable_styling(bootstrap_options = c("hover", "condensed", "responsive"),
                full_width = FALSE, font_size = 13) %>%
  row_spec(0, bold = TRUE, background = "#1a6e9e", color = "white") %>%
  row_spec(which(tabla_paises_num$Cluster == 1), background = "#dceefb") %>%
  row_spec(which(tabla_paises_num$Cluster == 2), background = "#fff8e1") %>%
  row_spec(which(tabla_paises_num$Cluster == 3), background = "#fde8d8") %>%
  column_spec(1, bold = TRUE, color = "#1a6e9e") %>%
  column_spec(2, bold = TRUE)
Referencia: número asignado a cada país en el gráfico
País Cluster Grupo
12 Germany 1 Grandes economías desarrolladas
19 Japan 1 Grandes economías desarrolladas
20 Korea 1 Grandes economías desarrolladas
35 United States 1 Grandes economías desarrolladas
1 Australia 2 Economías medianas y avanzadas
2 Austria 2 Economías medianas y avanzadas
3 Belgium 2 Economías medianas y avanzadas
4 Canada 2 Economías medianas y avanzadas
7 Czech Republic 2 Economías medianas y avanzadas
8 Denmark 2 Economías medianas y avanzadas
9 Estonia 2 Economías medianas y avanzadas
10 Finland 2 Economías medianas y avanzadas
11 France 2 Economías medianas y avanzadas
13 Greece 2 Economías medianas y avanzadas
14 Hungary 2 Economías medianas y avanzadas
15 Iceland 2 Economías medianas y avanzadas
16 Ireland 2 Economías medianas y avanzadas
17 Israel 2 Economías medianas y avanzadas
18 Italy 2 Economías medianas y avanzadas
21 Luxembourg 2 Economías medianas y avanzadas
22 Mexico 2 Economías medianas y avanzadas
23 Netherlands 2 Economías medianas y avanzadas
24 New Zealand 2 Economías medianas y avanzadas
25 Norway 2 Economías medianas y avanzadas
26 Poland 2 Economías medianas y avanzadas
27 Portugal 2 Economías medianas y avanzadas
28 Slovak Republic 2 Economías medianas y avanzadas
29 Slovenia 2 Economías medianas y avanzadas
30 Spain 2 Economías medianas y avanzadas
31 Sweden 2 Economías medianas y avanzadas
32 Switzerland 2 Economías medianas y avanzadas
34 United Kingdom 2 Economías medianas y avanzadas
37 Brazil 2 Economías medianas y avanzadas
38 Croatia 2 Economías medianas y avanzadas
41 Romania 2 Economías medianas y avanzadas
42 SouthAfrica 2 Economías medianas y avanzadas
5 Chile 3 Economías emergentes con alta inflación
6 Colombia 3 Economías emergentes con alta inflación
33 Türkiye 3 Economías emergentes con alta inflación
36 Argentina 3 Economías emergentes con alta inflación
39 India 3 Economías emergentes con alta inflación
40 Peru 3 Economías emergentes con alta inflación

6 Interpretación de los Factores y Descripción de los Clusters

6.1 Interpretación de los Factores (Componentes Principales)

El Análisis de Componentes Principales permitió identificar los ejes latentes que estructuran la variabilidad de los indicadores macroeconómicos de los países analizados. De acuerdo con los resultados, los dos primeros componentes principales concentran aproximadamente el 46.9% de la varianza total (CP1: 26.5% y CP2: 20.4%), lo que evidencia que estos dos factores capturan cerca de la mitad de la información contenida en las 15 variables originales, ofreciendo una representación clara y comprensible de las diferencias macroeconómicas globales. Considerando los cinco primeros componentes, la varianza acumulada asciende al 83.4%, lo que confirma que la reducción dimensional es adecuada para los propósitos del análisis. La reducción dimensional obtenida facilita la comprensión de las dinámicas subyacentes en los datos, al sintetizar múltiples indicadores económicos en dimensiones conceptualmente interpretables. Estas dimensiones constituyen los principales factores explicativos de la heterogeneidad macroeconómica entre países y permiten analizar su posición relativa en función de su estructura de crecimiento, tamaño económico e inflación.

Primera Componente Principal (CP1): “Dinamismo económico e inflacionario”: La primera componente principal, que explica el 26.5% de la varianza, agrupa principalmente variables asociadas al crecimiento económico nominal y a la dinámica de los precios. Las variables con mayor contribución a este componente son el crecimiento del PIB nominal (Crec_PIB_nom, 17.7%), el crecimiento del deflactor del PIB (Crec_Deflactor, 14.4%), el crecimiento del consumo privado (Crec_ConsPriv, 11.7%) y el crecimiento del PIB en volumen (Crec_PIB_vol, 10.8%). Todas estas variables tienen cargas positivas, lo que indica que los países ubicados en el extremo positivo del CP1 presentan simultáneamente altos crecimientos nominales, alta inflación y mayor dinamismo en el consumo privado. Este perfil corresponde principalmente a economías emergentes como Argentina, Türkiye, Chile, Colombia, India y Perú, que en el período analizado experimentaron tasas de crecimiento nominal elevadas acompañadas de presiones inflacionarias significativas. En el extremo opuesto se ubican economías avanzadas como Estados Unidos, Alemania y Japón, caracterizadas por crecimientos nominales más moderados, inflación controlada y mayor estabilidad macroeconómica. En consecuencia, el CP1 puede interpretarse como un eje de dinamismo económico nominal e inflacionario, que diferencia economías con alta expansión nominal y presiones de precios frente a economías maduras con menor crecimiento pero mayor estabilidad.

Segunda Componente Principal (CP2): “Tamaño y escala económica”: La segunda componente principal, que explica el 20.4% de la varianza, está definida principalmente por variables relacionadas con el tamaño absoluto de las economías. Las variables con mayor contribución son el PIB nominal (PIB_nominal, 29.4%), el PIB en volumen (PIB_volumen, 29.0%) y la formación bruta de capital fijo (FormCapital, 28.0%). Estas variables tienen cargas positivas elevadas, indicando que los países en el extremo positivo del CP2 son economías de gran tamaño en términos de producción e inversión. Este perfil corresponde a economías como Corea, Japón, Colombia y Estados Unidos, que presentan valores elevados en estas variables y aparecen claramente desplazadas hacia el extremo positivo del eje CP2 en el plano factorial. En contraste, las economías pequeñas y medianas que conforman el Cluster 2 se concentran alrededor del origen, reflejando niveles intermedios en estas variables. El CP2 puede interpretarse por tanto como un eje de escala y capacidad productiva, que distingue a las grandes economías del grupo de las economías de tamaño medio o reducido, independientemente de su nivel de crecimiento o inflación.

[Continuar con los demás componentes retenidos si aplica.]

6.2 Interpretación de los Clusters

perfil_clusters <- datos_final %>%
  select(-Pais, -cluster_ward) %>%
  group_by(cluster_kmeans) %>%
  summarise(
    across(where(is.numeric), mean),
    n_paises = n()
  )

perfil_clusters %>%
  kbl(caption = "Perfil de clusters — Medias de indicadores económicos por grupo",
      digits = 2, align = "c") %>%
  kable_styling(bootstrap_options = c("hover", "condensed", "responsive"),
                full_width = FALSE, font_size = 12) %>%
  row_spec(0, bold = TRUE, background = "#1a6e9e", color = "white") %>%
  row_spec(1, background = "#dceefb") %>%
  row_spec(2, background = "#fff8e1") %>%
  row_spec(3, background = "#fde8d8") %>%
  column_spec(1, bold = TRUE)
Perfil de clusters — Medias de indicadores económicos por grupo
cluster_kmeans CtaCte_PIB TipoCambio Importaciones Exportaciones PIB_nominal PIB_volumen PIB_PPP FormCapital Crec_PIB_vol Crec_PIB_nom Crec_Deflactor Crec_ConsPriv Crec_ConsGob Desempleo TasaInteres_CP n_paises
1 3.17 6.07 1.567789e+12 1.397740e+12 6.599727e+14 6.186213e+14 8.012326e+12 1.772324e+14 3.58 5.98 2.29 3.42 3.21 3.84 0.08 4
2 1.43 3.90 2.662391e+11 2.780983e+11 4.379192e+12 3.297780e+12 8.610170e+11 7.483222e+11 5.90 10.21 4.09 5.74 4.22 7.43 0.38 32
3 -2.67 31.04 2.086839e+11 1.780325e+11 2.847812e+14 2.095886e+14 8.829461e+11 4.353693e+13 11.03 32.38 19.27 13.39 6.58 9.42 4.91 6
datos_z_df <- as.data.frame(datos_z) %>%
  mutate(Pais = datos_sel$Pais,
         cluster_kmeans = datos_final$cluster_kmeans)

datos_long <- datos_z_df %>%
  pivot_longer(cols = -c(Pais, cluster_kmeans),
               names_to = "Variable", values_to = "Valor")

ggplot(datos_long, aes(x = Variable, y = Valor, fill = cluster_kmeans)) +
  geom_boxplot(alpha = 0.8, outlier.shape = 16, outlier.size = 1.5) +
  scale_fill_manual(
    values = c("1" = "#1a6e9e", "2" = "#E7B800", "3" = "#FC4E07"),
    labels = c("Cluster 1\n(Grandes economías)",
               "Cluster 2\n(Economías medianas)",
               "Cluster 3\n(Economías emergentes)")
  ) +
  theme_minimal(base_size = 11) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1, size = 9),
        legend.position = "top") +
  labs(title = "Distribución de indicadores económicos por cluster",
       subtitle = "Variables estandarizadas (z-score) | k-means k=3",
       x = NULL, y = "Valor (z-score)", fill = NULL)

vars_num <- datos_final %>% select(-Pais, -cluster_ward, -cluster_kmeans)

resultado_anova <- vars_num %>%
  names() %>%
  map_dfr(function(var) {
    formula <- as.formula(paste(var, "~ cluster_kmeans"))
    aov_res <- aov(formula, data = datos_final)
    p_val   <- summary(aov_res)[[1]]$`Pr(>F)`[1]
    f_val   <- summary(aov_res)[[1]]$`F value`[1]
    tibble(Variable = var,
           F_estadistico = round(f_val, 3),
           p_valor = round(p_val, 4))
  }) %>%
  arrange(p_valor)

resultado_anova %>%
  mutate(Significativa = ifelse(p_valor < 0.05, "✔ Sí", "✘ No")) %>%
  kbl(caption = "Variables que mejor discriminan los clusters (ANOVA)",
      col.names = c("Variable", "F estadístico", "p-valor", "¿Discrimina?"),
      align = "lccc") %>%
  kable_styling(bootstrap_options = c("hover", "condensed"),
                full_width = FALSE, font_size = 13) %>%
  row_spec(0, bold = TRUE, background = "#1a6e9e", color = "white") %>%
  column_spec(1, bold = TRUE, color = "#1a6e9e") %>%
  row_spec(which(resultado_anova$p_valor < 0.05), background = "#f0f7ff")
Variables que mejor discriminan los clusters (ANOVA)
Variable F estadístico p-valor ¿Discrimina?
Importaciones 19.796 0.0000 ✔ Sí
Exportaciones 25.955 0.0000 ✔ Sí
PIB_PPP 14.838 0.0000 ✔ Sí
Crec_PIB_vol 19.450 0.0000 ✔ Sí
Crec_PIB_nom 20.233 0.0000 ✔ Sí
Crec_ConsPriv 22.800 0.0000 ✔ Sí
Crec_Deflactor 10.962 0.0002 ✔ Sí
PIB_volumen 9.235 0.0005 ✔ Sí
FormCapital 9.213 0.0005 ✔ Sí
PIB_nominal 8.835 0.0007 ✔ Sí
TipoCambio 7.381 0.0019 ✔ Sí
TasaInteres_CP 6.859 0.0028 ✔ Sí
Crec_ConsGob 2.428 0.1014 ✘ No
CtaCte_PIB 2.168 0.1280 ✘ No
Desempleo 1.380 0.2637 ✘ No

[Escribir aquí la descripción de cada cluster:]

Cluster 1 — Grandes economías desarrolladas (Alemania, Japón, Corea, EE.UU.): Este cluster agrupa las cuatro economías de mayor tamaño absoluto dentro de la muestra analizada. Su perfil se caracteriza por niveles muy elevados de PIB nominal, PIB en volumen, importaciones, exportaciones y formación bruta de capital, lo que refleja su condición de grandes potencias comerciales e industriales a escala global. En términos de crecimiento, estas economías presentan tasas de crecimiento nominal y real más moderadas respecto a los otros clusters, asociadas a su mayor madurez económica y a la estabilización de sus ciclos productivos. Desde la perspectiva inflacionaria, el crecimiento del deflactor del PIB y la tasa de interés de corto plazo de este grupo son significativamente menores que los del Cluster 3, lo que refleja entornos de precios más estables y políticas monetarias más consolidadas. La tasa de interés de corto plazo de estas economías se situó en valores bajos o incluso negativos en algunos casos — especialmente Japón y Alemania —, evidenciando contextos de política monetaria expansiva orientada a sostener el crecimiento en un entorno de baja inflación. En conjunto, el Cluster 1 representa economías con una posición dominante en el comercio mundial, alta capacidad de inversión y estabilidad macroeconómica, aunque con menor dinamismo en términos de crecimiento nominal comparado con las economías emergentes.

Cluster 2 — Economías medianas y avanzadas (32 países, mayoría europea): Este cluster concentra la mayor parte de los países analizados y representa el perfil macroeconómico “típico” de la muestra. Sus indicadores se sitúan en niveles intermedios en todas las variables consideradas: crecimiento moderado del PIB, inflación controlada, tasas de interés bajas o moderadas y niveles de comercio exterior proporcionales al tamaño de sus economías. La heterogeneidad interna de este grupo es la más alta de los tres clusters, dado que reúne tanto a economías europeas avanzadas — como Francia, España, Suecia, Países Bajos o Suiza — como a economías emergentes de tamaño medio — como Brasil, México, Sudáfrica, Croacia o Rumania —, todas ellas con perfiles macroeconómicos que no presentan los extremos observados en los otros dos clusters. Lo que unifica a estas economías es precisamente la ausencia de valores atípicos en las variables más discriminantes. Ninguna de ellas presenta el tamaño económico descomunal del Cluster 1 ni el dinamismo inflacionario extremo del Cluster 3. Esta posición central en el plano factorial refleja economías relativamente estables, con marcos institucionales consolidados o en proceso de consolidación, que han logrado mantener un equilibrio entre crecimiento y estabilidad de precios en el período analizado.

Cluster 3 — Economías emergentes con alta inflación (Chile, Colombia, Türkiye, Argentina, India, Perú): Este cluster agrupa seis economías emergentes que comparten un perfil macroeconómico caracterizado por alto crecimiento nominal, alta inflación y tipos de cambio elevados respecto al dólar estadounidense. Las variables que mejor discriminan este grupo según el análisis ANOVA son precisamente las relacionadas con el dinamismo nominal: el crecimiento del consumo privado (F = 22.8), las exportaciones (F = 26.0) y el crecimiento del PIB nominal (F = 20.2), todas con p-valores cercanos a cero. Argentina y Türkiye representan los casos más extremos dentro de este cluster, con tasas de inflación y crecimientos nominales muy superiores al resto, reflejando contextos de inestabilidad macroeconómica severa. Chile, Colombia, India y Perú presentan un perfil algo más moderado pero igualmente diferenciado del Cluster 2, con crecimientos nominales altos sostenidos por expansión económica real y presiones inflacionarias persistentes. La tasa de interés de corto plazo de este grupo es la más alta de los tres clusters, lo que refleja la respuesta de sus bancos centrales ante las presiones inflacionarias mediante políticas monetarias restrictivas. En conjunto, el Cluster 3 representa economías en expansión con alta volatilidad nominal, cuyo dinamismo económico está acompañado de retos importantes en materia de estabilidad de precios y política cambiaria.


7 Conclusiones

El análisis no supervisado aplicado, que integró el Análisis de Componentes Principales (ACP) y los métodos de clusterización k-means y Ward, permitió revelar de manera clara cómo se manifiestan las diferencias macroeconómicas estructurales entre los países miembros y socios de la OECD y cuáles son los factores que mejor explican dichas diferencias. La reducción dimensional obtenida mediante el ACP sintetizó la complejidad de 15 indicadores económicos en dos ejes fundamentales: el dinamismo económico e inflacionario, capturado en el CP1, y la escala y capacidad productiva, representada en el CP2. Estos dos factores explican conjuntamente cerca del 47% de la variabilidad total de los datos y reflejan de manera precisa las asimetrías estructurales que separan a las naciones en términos de crecimiento nominal, inflación, tamaño económico y capacidad comercial. En primer lugar, el eje de dinamismo económico nominal evidenció que la mayor parte de la heterogeneidad macroeconómica entre los países analizados tiene un carácter estructural profundo: las economías con mayores tasas de crecimiento nominal, mayor inflación y mayor expansión del consumo privado corresponden a economías emergentes que, si bien presentan un dinamismo económico real importante, enfrentan simultáneamente presiones inflacionarias persistentes y tipos de cambio elevados. En contraste, las economías avanzadas del grupo presentan crecimientos nominales más moderados, inflación controlada y mayor estabilidad macroeconómica, confirmando que el nivel de desarrollo económico está estrechamente asociado con la capacidad de gestionar los ciclos de precios y mantener entornos de estabilidad monetaria. En segundo lugar, el eje de escala económica capturó las diferencias en tamaño absoluto entre las economías analizadas, separando a las grandes potencias comerciales e industriales — Estados Unidos, Alemania, Japón y Corea — del resto de países, independientemente de su nivel de crecimiento o inflación. Esta dimensión demuestra que el tamaño de una economía constituye una fuente autónoma de diferenciación que no se reduce al dinamismo del crecimiento, sino que refleja acumulación histórica de capital, infraestructura productiva y capacidad de inserción en el comercio mundial. La clusterización confirmó y profundizó estos patrones al identificar tres grupos claramente diferenciados. El primer cluster agrupa a las cuatro grandes economías desarrolladas — Alemania, Japón, Corea y Estados Unidos —, caracterizadas por su enorme tamaño, alta actividad comercial y relativa estabilidad de precios. El segundo cluster, el más numeroso con 32 países, reúne economías medianas y avanzadas con perfiles macroeconómicos intermedios, sin los extremos observados en los otros dos grupos. El tercer cluster concentra seis economías emergentes — Chile, Colombia, Türkiye, Argentina, India y Perú — que comparten un patrón de alto crecimiento nominal acompañado de presiones inflacionarias significativas y tipos de cambio elevados respecto al dólar. La comparación entre los métodos k-means y Ward reveló una concordancia del 83% en las asignaciones de cluster, lo que confirma que la segmentación obtenida es robusta y no depende del algoritmo utilizado, sino que refleja estructuras genuinas presentes en los datos. Las diferencias se limitan a siete países ubicados en zonas de transición entre clusters, cuyo perfil macroeconómico no es completamente homogéneo con ninguno de los tres grupos identificados. En conjunto, los hallazgos muestran que las diferencias macroeconómicas entre los países de la OECD se manifiestan simultáneamente en el tamaño económico, el dinamismo del crecimiento, la inflación, las condiciones del mercado laboral y las tasas de interés, y que estas diferencias están determinadas por factores estructurales vinculados al nivel de desarrollo, la estabilidad institucional y las trayectorias históricas de cada economía. El análisis no supervisado permitió identificar patrones claros y consistentes, respondiendo plenamente a la pregunta planteada: sí es posible identificar grupos de países con perfiles macroeconómicos estructuralmente similares a partir de los indicadores de la OECD, y las variables que mejor explican las diferencias entre dichos grupos son las relacionadas con el crecimiento del consumo privado, las exportaciones, el crecimiento del PIB nominal y el volumen del PIB, según lo confirmado por el análisis ANOVA. Finalmente, este tipo de análisis no supervisado tiene múltiples aplicaciones en contextos de política económica comparada. Desde una perspectiva económica, permite identificar grupos de países con perfiles de crecimiento, inflación y capacidad productiva similares, facilitando el diseño de estrategias diferenciadas de política monetaria, fiscal o comercial. En el ámbito de la cooperación internacional, la identificación de clusters macroeconómicos ofrece información clave para priorizar alianzas, definir agendas de asistencia técnica y establecer marcos de comparación realistas entre economías con condiciones estructurales comparables. En conjunto, el ACP y la clusterización constituyen herramientas poderosas para comprender la estructura del sistema económico global y respaldar la toma de decisiones basada en evidencia.


8 Bibliografía

  • Hair, J. F., Black, W. C., Babin, B. J., & Anderson, R. E. (2019). Multivariate data analysis (8th ed.). Cengage Learning.
  • Kassambara, A., & Mundt, F. (2020). factoextra: Extract and visualize the results of multivariate data analyses. R package version 1.0.7.
  • Maechler, M., Rousseeuw, P., Struyf, A., Hubert, M., & Hornik, K. (2023). cluster: Cluster analysis basics and extensions. R package version 2.1.6.
  • Wickham, H., François, R., Henry, L., Müller, K., & Vaughan, D. (2023). dplyr: A grammar of data manipulation. R package version 1.1.4.
  • Wickham, H. (2016). ggplot2: Elegant graphics for data analysis. Springer.
  • Kaufman, L., & Rousseeuw, P. J. (2005). Finding groups in data: An introduction to cluster analysis. John Wiley & Sons.
  • OECD (2024). Main Economic Indicators. Organisation for Economic Co-operation and Development. https://www.oecd.org
  • Kassambara, A. & Mundt, F. (2020). factoextra: Extract and Visualize the Results of Multivariate Data Analyses. R package version 1.0.7.
  • R Core Team (2024). R: A language and environment for statistical computing. R Foundation for Statistical Computing. https://www.R-project.org/
  • Wickham, H. et al. (2019). Welcome to the tidyverse. Journal of Open Source Software, 4(43), 1686.