Tarea 5: Clustering y PCA

IA para Científicos Sociales - UCU

Autor/a

Danilo Freire

Fecha de publicación

22 de abril de 2026

1 Instrucciones

Esta tarea usa un dataset nuevo, distinto del que vimos en el Laboratorio 5: indicadores_mundo.csv, con 24 países de todas las regiones del mundo y 8 indicadores socioeconómicos. Las técnicas son las mismas del laboratorio (K-means, clustering jerárquico y PCA), pero los datos son otros, así que las respuestas también lo serán. Respondan cada pregunta escribiendo código R en los bloques indicados. Cuando se pida una respuesta escrita, usen texto normal debajo del bloque de código.

Para trabajar en esta tarea:

  1. Descarguen este archivo .qmd y el dataset indicadores_mundo.csv de la página del curso, o clonen el repositorio completo con git clone https://github.com/danilofreire/introduccion-ia-ucu.git. Mantengan el CSV en una subcarpeta datos/ junto al .qmd
  2. Necesitan Quarto instalado junto con RStudio. Las versiones recientes de RStudio (>= 2022.07) ya incluyen Quarto
  3. Abran este archivo .qmd en RStudio y ejecuten los bloques de código con Ctrl+Enter (o Cmd+Enter en Mac)
  4. Cuando terminen, pueden renderizar el documento completo con el botón “Render” en RStudio

1.1 Configuración

library(tidyverse)
library(cluster)
library(factoextra)
library(corrplot)

set.seed(2026)

mundo <- read_csv("datos/indicadores_mundo.csv", show_col_types = FALSE)

A diferencia del dataset del laboratorio, este tiene una columna de texto extra: region. Ténganla presente, porque va a aparecer varias veces en la tarea.

2 Exploración

2.1 Pregunta 1: Indicadores por región

Calculen la mediana del PIB per cápita, la esperanza de vida y la mortalidad infantil para cada región. Ordenen el resultado por PIB per cápita. ¿Qué región está mejor en los tres indicadores? ¿Alguna región está bien en un indicador pero mal en otro?

Pista: group_by() + summarise(). Ojo: algunas regiones tienen un solo país.

# Escriban su código aquí

Respuesta:

2.2 Pregunta 2: ¿El PIB lo explica todo?

Identifiquen los 5 países con mayor PIB per cápita y los 5 con menor mortalidad infantil. ¿Son los mismos? Busquen al menos un país que esté entre los más ricos pero no entre los de menor mortalidad (o al revés). ¿Qué sugiere eso sobre la relación entre ingreso y salud?

# Escriban su código aquí

Respuesta:

2.3 Pregunta 3: Correlaciones

Calculen la matriz de correlaciones de las variables numéricas y visualícenla con corrplot(). ¿Cuál par de variables tiene la correlación positiva más fuerte? ¿Cuál tiene la negativa más fuerte? Hagan además un scatterplot de PIB per cápita contra esperanza de vida: ¿la relación parece lineal o se “aplana” en los países ricos?

Pista: para la matriz hay que quedarse solo con las columnas numéricas (select() ayuda a sacar pais y region).

# Escriban su código aquí

Respuesta:

3 K-means

3.1 Pregunta 4: Elegir K con codo y silueta

Preparen los datos: saquen la columna region, muevan pais a los nombres de fila y escalen con scale(). Después calculen, para K=2 a K=6, la suma de cuadrados intra-cluster (WSS) y la silueta promedio. Muestren las dos curvas. ¿Qué K elegirían y por qué? Si el codo y la silueta no coinciden exactamente, expliquen cómo deciden.

Pista: el laboratorio tiene el patrón para las dos curvas; acá la diferencia está en justificar la decisión cuando los criterios no gritan un único ganador.

# Escriban su código aquí

Respuesta:

3.2 Pregunta 5: ¿Geografía o nivel de ingreso?

Ajusten K-means con K=3 y nstart = 25 (aunque en la pregunta anterior hayan preferido otro K; así todos seguimos comparables). Crucen el cluster de cada país con su region usando table(). ¿Los clusters agrupan países de la misma región, o agrupan países de distinto continente pero nivel de desarrollo parecido? Den dos ejemplos concretos.

# Escriban su código aquí

Respuesta:

3.3 Pregunta 6: Perfil de los clusters

Para la solución K=3, calculen la media de PIB per cápita, esperanza de vida, mortalidad infantil e índice de democracia dentro de cada cluster (con los datos originales, no los escalados). Asignen una etiqueta sustantiva a cada cluster.

# Escriban su código aquí

Respuesta:

4 Clustering jerárquico

4.1 Pregunta 7: Dendrograma con Ward

Ajusten un clustering jerárquico con method = "ward.D2" y visualicen el dendrograma. Mirando la altura de las uniones: ¿cuáles son los dos grandes bloques que se unen al final? ¿Qué país parece más “solitario” (se une a su grupo más tarde que el resto)?

# Escriban su código aquí

Respuesta:

4.2 Pregunta 8: ¿K-means y jerárquico cuentan la misma historia?

Corten el dendrograma en 3 grupos con cutree() y comparen con los clusters de K-means de la pregunta 5 usando table(). ¿Cuántos países cambian de grupo entre los dos métodos? ¿Cuáles? ¿Les preocupa esa diferencia?

# Escriban su código aquí

Respuesta:

5 PCA

5.1 Pregunta 9: ¿Cuántos componentes necesitamos?

Ajusten prcomp() sobre los datos escalados y miren la varianza explicada. ¿Cuánta varianza captura PC1 solo? ¿Cuántos componentes hacen falta para superar el 80% de la varianza acumulada?

# Escriban su código aquí

Respuesta:

5.2 Pregunta 10: Interpretar PC1 y PC2

Vean los loadings de los dos primeros componentes (pca$rotation[, 1:2]). ¿Qué variables dominan PC1 y con qué signos? ¿Y PC2? Propongan un nombre sustantivo para cada componente (por ejemplo, “desarrollo”, “desigualdad”, “apertura”). Justifiquen con los loadings.

# Escriban su código aquí

Respuesta:

5.3 Pregunta 11: Países extremos

Ordenen los países por su valor en PC1 y luego por PC2. ¿Qué países están en los extremos de cada componente? ¿Los extremos de PC2 confirman la interpretación que propusieron en la pregunta 10?

# Escriban su código aquí

Respuesta:

6 Síntesis

6.1 Pregunta 12: ¿Qué pasa si no escalamos?

Repitan K-means con K=3 pero sobre los datos sin escalar (solo saquen region y muevan pais a rownames). Comparen los clusters con los de la pregunta 5. ¿Qué variable domina ahora la solución? Busquen un país que quede agrupado con países muy distintos en democracia o desigualdad, y expliquen por qué terminó ahí.

Pista: miren las unidades de cada variable. ¿Cuál tiene la varianza más grande, por lejos, cuando no escalamos?

# Escriban su código aquí

Respuesta:

6.2 Pregunta 13: Reflexión

Basándose en los resultados de esta tarea, respondan:

  1. Si tuvieran que explicarle los resultados a un periodista con una sola visualización, ¿usarían el dendrograma, el gráfico de clusters o el biplot del PCA? ¿Por qué?
  2. Los clusters agrupan países por promedios nacionales. Nombren al menos una limitación de usar indicadores a nivel de país para hablar de desarrollo (piensen en la desigualdad interna)
  3. ¿Qué indicador agregarían al dataset para distinguir mejor a los países de ingreso medio entre sí? Justifiquen

Respuesta:

Volver arriba