Análisis STATIS

1 Análisis STATIS

STATIS (Structuration de Tableaux À Trois Indices de Statistique) es el método más potente del análisis para responder la pregunta central: ¿son coherentes entre sí las tablas anuales del GCI?

1.1 Implementación en R

library(readxl)
library(ade4)
library(FactoMineR)
library(ggplot2)

readRenviron("../.env")
FOLDER_PRJ       <- Sys.getenv("FOLDER_PRJCT")
FOLDER_PROCESSED <- Sys.getenv("FOLDER_PROCESSED")
setwd(FOLDER_PRJ)

1.2 Lectura y preparación de la K-tabla

# ── Lectura del archivo pivotado ──────────────────────────────────────────
filename <- file.path(FOLDER_PROCESSED, "data_pivoted_2.csv")
datos    <- read.csv(filename)
datos    <- as.data.frame(datos)

# Cada fila es una combinación Pilar-Año (ej. "3-2017")
rownames(datos) <- datos$PILAR
datos$PILAR     <- NULL

# Solo columnas numéricas (países)
datos <- datos[, sapply(datos, is.numeric)]

# Eliminar columnas y filas completamente vacías
datos <- datos[, colSums(is.na(datos))  < nrow(datos)]
datos <- datos[rowSums(is.na(datos))    < ncol(datos), ]

# Imputación por media de columna
for (j in seq_len(ncol(datos))) {
  idx_na <- is.na(datos[, j])
  if (any(idx_na)) datos[idx_na, j] <- mean(datos[, j], na.rm = TRUE)
}

# Eliminar columnas de varianza cero
datos <- datos[, apply(datos, 2, sd) > 0]

# Metadatos de filas
nombres_filas <- rownames(datos)
pilar <- sub("-.*", "", nombres_filas)
anio  <- sub(".*-", "", nombres_filas)

cat("✔ Datos preparados:", nrow(datos), "filas ×", ncol(datos), "columnas\n")

1.3 Construcción de la K-tabla y aplicación de STATIS

# K-tabla: cada bloque = un país (columna del data.frame)
tablas_por_pais <- lapply(colnames(datos), function(pais) {
  data.frame(valor = datos[[pais]], row.names = rownames(datos))
})
names(tablas_por_pais) <- colnames(datos)

ktab_paises <- ktab.list.df(
  obj      = tablas_por_pais,
  tabnames = names(tablas_por_pais),
  rownames = rownames(datos),
)

# ── Aplicación de STATIS ──────────────────────────────────────────────────
#   scannf = FALSE → no pedir número de ejes interactivamente
#   nf = 2         → retener 2 factores principales
res.statis <- statis(ktab_paises, scannf = FALSE, nf = 2)

cat("✔ STATIS calculado\n")
cat("\nCoeficiente RV (primeras 5×5):\n")
print(round(res.statis$RV[1:5, 1:5], 3))

1.4 Interestructura: similitud entre tablas anuales

1.5 Compromiso y trayectorias de pilares

Habitualmente, se comparan pilares a lo largo de periodos, sin considerar los cambios metodológicos. A continuación STATIS permite cuantificar y visualizar si los cambios de los pilares a lo largo del periodo, corresponden a factores económicos, estructurales, o una mezcla de ambos. Para determinarlo se analizó los cambios a nivel estructural de los pilares año a año.

1.5.1 ¿Cuanto cambió estructuralmente un pilar?

Rangos de cambio (%) del Pilar Significado
< 5% Ruido técnico o variación esperable.
5% – 15% Cambio leve / ajuste metodológico menor.
15% – 25% Cambio estructural moderado.
25% Cambio estructural fuerte.

Para cuantificar el cambio estructural del pilar se calculó utilizando el promedio del coeficiente de correlación que obtuvo el pilar con el eje 1 del compromiso, separados en dos grupos: uno antes del cambio metodológico y el siguiente después del cambio metodológico. La siguiente tabla resume el criterio para determinar que tan importante es el cambio estructural del pilar. Es decir

\%\triangle P_n= 100 \times \frac{P_{n,\,C1.post} - P_{n,\,C1.prev}}{P_{n,\,C1.prev}}

Cambio estructural por pilar
Pilar Pre 2018 Post 2018 Δ absoluto delta_pct Δ % cambio_llamativo
10 −0.277 −0.149 0.128 0.461592435 46.16 ⚠ Alto
5 −0.356 −0.477 0.121 0.340241355 34.02 ⚠ Alto
2 −0.288 −0.353 0.065 0.224037782 22.40 ⚠ Alto
3 −0.237 −0.290 0.053 0.222834932 22.28 ⚠ Alto
12 −0.283 −0.222 0.062 0.218359490 21.84 ⚠ Alto
9 −0.318 −0.255 0.063 0.197305479 19.73 Normal
11 −0.329 −0.282 0.047 0.142356566 14.24 Normal
6 −0.308 −0.326 0.018 0.059331338 5.93 Normal
8 −0.356 −0.370 0.015 0.041361176 4.14 Normal
4 −0.305 −0.313 0.008 0.025203741 2.52 Normal
7 −0.318 −0.311 0.007 0.022694918 2.27 Normal
1 −0.336 −0.338 0.002 0.004644885 0.46 Normal

Chile en el mapa RV: Chile aparece en una zona intermedia, agrupado con países como España y Portugal — economías con mercados de tamaño mediano y un nivel de desarrollo institucional moderadamente alto. Su posición relativa confirma el puesto 33° en el GCI 2019.


1.6 Validación de Statis

La principal validación de STATIS es a través de los autovalores que se obtienen. Estos son un indicador de cuanta información (variabilidad) de los datos está contenida o es representada por los vectores de estos autovalores. Se espera que el primer autovalor sea mucho mayor que el resto de los ejes porque eso justifica que exista: es decir \lambda_{1} >> \lambda_{n+1}, con n=1,2....

El eje 1 de compromiso de STATIS es el eje que contiene practicamente toda la información de la estructura, separando claramente tipos de economías y el eje 2 del compromiso que aunque es residual, interpretativamente es relevante pues separa economías muy relegadas de economías más consolidadas.

0.87
Promedio de la matriz RV
0.484 - 0.992
Rango del matríz RV.
>0.979
Promedio de las observaciones del cos2 del eje 1

Los resultados indican que:

  • Alto primer autovalor: Las estructuras son muy similares. No hay bloques estructurales muy diferenciados y el sistema es fuertemente coherente.

  • La estructura común domina fuertemente: Existen algunos pares de países con similitud moderada (~0.48), y también existen pares casi idénticos (~0.99).

  • El eje 1 captura prácticamente toda la variabilidad de las observaciones: La dimensión real del compromiso es 2, ya que se utilizó un nf=2 y la suma de los cos^2 es 1, lo que indica que la estructura inter-tablas es practicamente unidimensional.

Globalmente: No hay “modelos estructurales alternativos”. STATIS muestra muy claramente que hay una sola estructura dominante.