1 Introducción

1.1 El Rol de los Índices Compuestos en el Análisis Social y Económico

Los índices compuestos se han consolidado como herramientas valiosas en el análisis social y económico, permitiendo sintetizar conceptos complejos y multidimensionales—tales como desarrollo, libertad, bienestar, competitividad o sostenibilidad—en una única medida escalar. Esta capacidad de agregación facilita la comparación entre unidades de análisis (países, regiones, individuos) y el seguimiento de su evolución temporal, siendo de gran utilidad en la evaluación de políticas públicas y la medición del desempeño. Un índice bien construido puede ofrecer una visión panorámica que va más allá de las métricas individuales, capturando interrelaciones y dinámicas subyacentes.

Sin embargo, la construcción de índices compuestos no está exenta de desafíos metodológicos y conceptuales. La selección de indicadores, la asignación de ponderaciones y el método de agregación son etapas críticas que involucran decisiones que pueden influir significativamente en los resultados finales. La subjetividad inherente a algunas de estas decisiones subraya la necesidad imperativa de adoptar enfoques metodológicamente rigurosos y transparentes, permitiendo la replicabilidad, la crítica informada y la validación de los resultados.

1.2 Análisis de Componentes Principales (PCA) como Herramienta para la Construcción de Índices

Dentro del arsenal de técnicas estadísticas disponibles, el Análisis de Componentes Principales (PCA, por sus siglas en inglés) emerge como un método multivariante particularmente adecuado para abordar algunos de los retos en la construcción de índices compuestos. El PCA es fundamentalmente una técnica de reducción de la dimensionalidad que permite transformar un conjunto de variables originales, potencialmente correlacionadas entre sí, en un nuevo conjunto de variables no correlacionadas denominadas componentes principales. Estos componentes se construyen de manera que capturan la máxima varianza posible de los datos originales en orden descendente.

Su aplicación en la construcción de índices radica principalmente en su capacidad para derivar ponderaciones objetivas para los indicadores individuales, basadas en la estructura de covarianza o correlación de los datos. En lugar de recurrir a ponderaciones iguales —que asumen implícitamente una importancia idéntica o ignoran las intercorrelaciones como el IDH— o a ponderaciones subjetivas basadas en opiniones de expertos, el PCA permite que los datos “hablen por sí mismos”, asignando mayor peso a aquellos indicadores que más contribuyen a la varianza común del conjunto, usualmente representada por el primer componente principal. Este enfoque basado en datos busca minimizar la subjetividad en la etapa de ponderación—dígase la evaluación del peso en la explicación del indicador completo—, aunque no elimina la necesidad de decisiones teóricas en la selección inicial de variables.

Contraste con un indicador sin PCA (El IDH).

El Índice de Desarrollo Humano (IDH) del PNUD busca medir el desarrollo más allá del ingreso, combinando indicadores de salud (esperanza de vida), educación (años de escolaridad) e ingreso (PIB per cápita). Agrega estos componentes normalizados usando una media geométrica. Sin embargo, la literatura económica ha criticado extensamente su metodología de ponderación y agregación.

La crítica principal se centra en la ponderación equitativa (implícita en la media geométrica) asignada a cada dimensión. Académicos como Srinivasan (1994) y Ravallion (1997, 2012) argumentan que esta igualdad de pesos es arbitraria, carece de justificación teórica sólida y representa un juicio de valor normativo no necesariamente compartido universalmente sobre la importancia relativa de la salud, la educación y el ingreso.

1.3 Enfoque Específico: Reconstrucción del Índice de Libertades Instrumentales Básicas (ILIB)

El presente informe tiene como objetivo principal proporcionar una guía práctica y metodológicamente detallada para la construcción del “Índice de Libertades Instrumentales Básicas” (ILIB) utilizando la técnica de PCA. Específicamente, esta guía se basa en la metodología descrita o implícita en la tesis doctoral de Bladimir De La Hoz Rosales, defendida en la Universidad de Granada en 2019. La tesis, titulada Emprendimiento y Desarrollo humano: un análisis internacional desde el enfoque de capacidades humanas, utiliza el ILIB como una medida clave en su análisis empírico.

El ILIB se enmarca conceptualmente dentro del enfoque de las capacidades humanas, prominentemente desarrollado por Amartya Sen. Este enfoque concibe el desarrollo no solo en términos de crecimiento económico, sino como la expansión de las libertades reales (capacidades) que disfrutan las personas para elegir y alcanzar vidas que tienen razones para valorar. Las “libertades instrumentales” son aquellas que contribuyen directamente a la capacidad general de las personas para vivir más libremente. Por lo tanto, el ILIB busca medir un conjunto de libertades fundamentales que son cruciales como medios para alcanzar fines más amplios de desarrollo humano. La reconstrucción de este índice mediante PCA, siguiendo los pasos de la tesis original, permite comprender su estructura y aplicarlo en análisis posteriores.

2 Análisis de Componentes Principales (PCA): Metodología para la Construcción de Índices Compuestos

2.1 Fundamentos Conceptuales

El Análisis de Componentes Principales (PCA) es una técnica estadística multivariante cuyo propósito central es simplificar la complejidad de conjuntos de datos con múltiples dimensiones interrelacionadas. Logra esto transformando el conjunto original de variables \(p\), posiblemente correlacionadas, en un nuevo conjunto de variables \(k\) (\(k \leq p\)), denominadas componentes principales (CPs), que son linealmente no correlacionadas entre sí. Estos CPs se extraen de forma secuencial, de modo que el primer componente principal (CP1) captura la mayor proporción posible de la varianza total presente en los datos originales. El segundo componente principal (CP2) captura la mayor proporción de la varianza restante, bajo la condición de ser ortogonal (no correlacionado) al CP1, y así sucesivamente.

2.2 Pasos Metodológicos Detallados

La aplicación rigurosa del PCA para la construcción de un índice compuesto implica seguir una secuencia de pasos metodológicos bien definidos:

1. Marco Teórico y Selección de Variables:
Es común encontrar valores ausentes en conjuntos de datos socioeconómicos. Se deben aplicar estrategias adecuadas para manejarlos, como la imputación (e.g., basada en la media, regresión, o métodos más sofisticados como k-NN o imputación múltiple) o la eliminación de casos (si la proporción de datos faltantes es pequeña y se asume que faltan al azar). La elección del método debe justificarse y es crucial verificar si la tesis de De La Hoz especifica el procedimiento utilizado para el ILIB (como veremos más adelante).

2. Preparación de los datos:
Una vez seleccionados los indicadores, el conjunto de datos debe ser preparado cuidadosamente para el análisis PCA.

  • Tratamiento de Datos Faltantes:
    Es común encontrar valores ausentes en conjuntos de datos socioeconómicos. Se deben aplicar estrategias adecuadas para manejarlos, como la imputación basada en la media, regresión, o métodos más sofisticados como k-NN o imputación múltiple. La elección del método debe justificarse y es crucial verificar si la tesis de De La Hoz especifica el procedimiento utilizado para el ILIB.

  • Evaluación de Propiedades de los Datos:
    Es recomendable examinar la distribución de cada variable. El PCA no requiere formalmente normalidad, pero la presencia de valores atípicos (outliers) puede distorsionar los resultados, ya que influyen desproporcionadamente en las varianzas y covarianzas. Asimismo, variables con distribuciones muy asimétricas podrían beneficiarse de transformaciones (e.g., logarítmica) para estabilizar la varianza o linealizar relaciones, aunque esto debe hacerse con cautela y justificación teórica.

  • Estandarización/Normalización:
    Este es un paso crítico en la mayoría de las aplicaciones de PCA para índices compuestos, especialmente cuando los indicadores originales se miden en diferentes unidades (porcentajes, años de escolaridad, dólares per cápita) o tienen escalas muy dispares.
    Dado que el PCA busca maximizar la varianza explicada, las variables con magnitudes numéricas mayores dominarían los componentes principales si no se estandarizan.
    La estandarización más común es la transformación a puntuaciones Z (Z-scores):

\[ Z_{ij} = \frac{X_{ij} - \bar{X_j}}{s_j} \]

Las variables estandarizadas resultantes tienen una media de 0 y una desviación estándar de 1, asegurando que todas contribuyan de manera equitativa al análisis inicial de varianza.

Es importante considerar que, si bien la estandarización es necesaria para evitar el dominio de variables con escalas grandes, elimina la información contenida en las diferencias de varianza originales entre los indicadores. Si existe una razón teórica para creer que la mayor variabilidad inherente de ciertos indicadores refleja una mayor importancia en el constructo medido, y si las variables fueran medidas en unidades comparables o ajustadas para ser adimensionales (e.g., dividiendo por la media), se podría considerar realizar el PCA sobre la matriz de covarianzas en lugar de la matriz de correlaciones. Sin embargo, para la mayoría de los índices que combinan indicadores heterogéneos, como en el caso del ILIB, la estandarización y el uso de la matriz de correlaciones es el enfoque estándar y más defendible.

3. Cálculo de la Matriz de Correlación o Covarianza:
El PCA opera sobre la matriz de dispersión de los datos. Si los datos fueron estandarizados (como es habitual), se calcula la matriz de correlaciones, que contiene los coeficientes de correlación de Pearson entre cada par de variables. Si los datos no fueron estandarizados (o se ajustaron de otra forma), se calcula la matriz de covarianzas.

  1. Extracción de Componentes y Ponderaciones
    • Extraer componentes con valores propios >1 (criterio de Kaiser).
    • En este caso solo CP1 tuvo \(\lambda>1\) y explicó ~75–76% de la varianza acumulada
    • Aplicar rotación Varimax (aun cuando con un solo factor no cambia la solución).
  2. Construcción del ILIB
    • Definir el ILIB como la puntuación del CP1, que sintetiza el acceso conjunto a las cinco libertades básicas.
    • Normalizar la puntuación final a un rango 0–100 para facilitar interpretación.
  3. Validación y Sensibilidad
    • Correlacionar ILIB con tasas de emprendimiento de innovación (TEAIN) y por necesidad (TEANEC).
    • Verificar robustez ante variaciones en la selección de indicadores o métodos de imputación.

Con esta guía en R Markdown podrá reproducir la reconstrucción del ILIB según De La Hoz Rosales (2019), garantizando la transparencia y rigurosidad metodológica necesarias para estudios posteriores.

4. Extracción de los Componentes Principales (Descomposición de Eigenvalores): Este es el núcleo matemático del PCA. Consiste en encontrar los eigenvalores (λ) y los eigenvectores (\( a \)) asociados a la matriz de correlación (o covarianza). Cada eigenvalor (\( _j \)) representa la cantidad de varianza explicada por el componente principal correspondiente (\( CP_j \)). Los eigenvectores (\( a_j \)) son vectores de coeficientes (loadings o cargas factoriales) que definen cada componente principal como una combinación lineal de las variables originales estandarizadas (\( Z_q \)):

\[ CP_j = a_{j1}Z_1 + a_{j2}Z_2 + \cdots + a_{jp}Z_p = \sum_{q=1}^{p} a_{jq}Z_q \]

Los componentes se extraen en orden decreciente de sus eigenvalores, asegurando que \( CP_1 \) explique la máxima varianza, \( CP_2 \) la máxima varianza restante no correlacionada con \( CP_1 \), y así sucesivamente. La suma de todos los eigenvalores es igual al número de variables (si se usa la matriz de correlaciones) o a la suma de las varianzas originales (si se usa la matriz de covarianzas).

5. Selección del Número de Componentes a Retener Aunque el PCA extrae tantos componentes como variables originales, usualmente se retiene un número menor. Los criterios comunes incluyen:

  • Criterio de Kaiser: Retener componentes con eigenvalores mayores que 1 (con matriz de correlaciones). Lógica: un componente con \( < 1 \) explica menos varianza que una variable estandarizada.

  • Gráfico de Sedimentación (Scree Plot): Inspeccionar el punto de inflexión donde los eigenvalores decrecen marcadamente.

  • Porcentaje de Varianza Explicada: Establecer un umbral acumulativo (70%, 80%, 90%) y retener componentes necesarios para alcanzarlo.

Para construcción de índices compuestos únicos, la práctica común es usar \( CP_1 \) si: 1. Explica proporción sustancial de varianza (generalmente >50-60%) 2. Su interpretación teórica es coherente con el constructo a medir

6. Interpretación de las Cargas de los Componentes (Loadings) Las cargas factoriales son correlaciones entre variables originales y componentes. Consideraciones clave:

  • Valores absolutos altos indican fuerte asociación
  • Verificar consistencia con teoría:
    • Variables teóricamente importantes deben tener cargas altas
    • Signos de cargas deben coincidir con dirección esperada

7. Derivación de Ponderaciones de Indicadores desde PCA Las ponderaciones (\( w_q \)) se derivan de los coeficientes del eigenvector (o cargas) del \( CP_1 \). Método común:

\[ w_q = \frac{a_{1q}^2}{\sum_{j=1}^{p} a_{1j}^2} \]

donde: - \( a_{1q} \) = coeficiente/carga de la variable \( q \) en \( CP_1 \) - Denominador asegura que pesos sumen 1

Variaciones:
- Usar coeficientes normalizados directamente
- Ponderar componentes por eigenvalores

8. Cálculo de la Puntuación Final del Índice Compuesto Una vez obtenidas las ponderaciones (\( w_q \)), la puntuación final del índice compuesto para cada unidad de análisis \( i \) (e.g., país) se calcula como la suma ponderada de los valores normalizados (\( Z_{iq} \)) de los indicadores:

\[ \text{Índice}_i = \sum_{q=1}^{p} \left( w_q \times Z_{iq} \right) \]

Opcional: Reescalar las puntuaciones mediante: - Normalización min-max
- Conversión a rangos interpretables (0-100, 0-1)
- Estandarización adicional para comparabilidad

9. Validación y Análisis de Sensibilidad

  • Un índice robusto debe mostrar estabilidad relativa frente a cambios metodológicos razonables (por ejemplo, estandarizar con logaritmo natural en lugar de Z score)

3 El Índice de Libertades Instrumentales Básicas (ILIB) y el desarrollo humano

3.1 Definición y propósito del ILIB

El ILIB fue diseñado para medir cómo las condiciones institucionales permiten a los individuos ejercer su libertad real de elección, lo cual es central en el desarrollo humano. Tal como señala De la Hoz Rosales(2019), estas libertades “inciden en la mayoría de los aspectos que involucran la toma de decisiones de las personas”, por lo tanto, su análisis conjunto permite capturar mejor su influencia en procesos sociales como el emprendimiento y el desarrollo​

3.2 Importancia del ILIB

El ILIB no solo tiene valor como medida compuesta; su construcción mediante Análisis de Componentes Principales (ACP) permitió sintetizar siete indicadores correlacionados en una única dimensión explicativa. Esto resolvió el problema de asignación arbitraria de ponderaciones, ya que el ACP otorga peso a los indicadores en función de la varianza explicada. En dos muestras diferentes, el ILIB explicó más del 75% de la varianza de los datos, con un KMO superior a 0.88, lo que indica adecuación para análisis factorial, y cargas factoriales superiores a 0.5 en todas las variables, lo que valida su robustez estadística.

4 De la teoría a los datos

En el proceso de investigación social y económica, la traducción de un fenómeno teórico a una expresión empírica exige una reflexión rigurosa sobre la forma en que dicho fenómeno será medido. No basta con tener claridad conceptual: es fundamental determinar con precisión qué variable, índice o indicador puede representar de manera válida y fiable los constructos abstractos de interés. Tal como advierte Bunge (2000), “una teoría empírica que no se conecta con mediciones precisas carece de valor científico”.

Esta operación metodológica ―pasar de las ideas a los datos― exige no solo claridad ontológica, sino también consistencia operativa: definir una estructura de medición, seleccionar la escala adecuada y aplicar procedimientos que conserven la integridad del concepto en su versión observable (Gerring, 2012). Elegir mal una medida implica distorsionar la realidad que se busca analizar y, por ende, limita la validez de las inferencias que se puedan hacer a partir del análisis de datos.

En este sentido, la operacionalización de conceptos teóricos es uno de los desafíos más críticos de la investigación empírica. Como señala Adcock y Collier (2001), una medida mal especificada puede llevar a errores sistemáticos en la interpretación del fenómeno y a una desconexión entre teoría y evidencia. Por tanto, el rigor científico no comienza con la estadística, sino con la pertinencia teórica y metodológica del modo en que cuantificamos la realidad.

5 Guía Aplicada: Construcción del ILIB utilizando análisis de componentes principales

5.1 preview

A continuación los pasos que debemos realizar para la construcción de un índice, en este caso el ILIB ### Pasos Metodológicos Detallados
1. Selección de indicadores

  • Conceptos y marco teórico.
  1. Preparación de los Datos
  • Unificación de bases de datos (si es necesario): Cuando los indicadores provienen de distintas fuentes o están distribuidos en diferentes archivos, es imprescindible realizar una unión de bases mediante una clave común (por ejemplo, country o iso3c). Este paso debe garantizar consistencia en la codificación de los nombres de los países, la temporalidad y las unidades de medida.
  • Tratamiento de datos faltantes: Imputación (media, regresión o k-NN) o eliminación de casos, según proporción según corresponda manipular la base de datos que disponemos, tendremos en cuenta.
  • Evaluación de propiedades de las variables: Comprobar sesgos y outliers; considerar transformaciones (e.g. log).
  • Estandarización de cada indicador a puntuaciones Z. De este modo, todas las variables contribuyen por igual al análisis.
  • Estandarización de cada indicador a puntuaciones Z: Dado que las variables suelen estar en distintas escalas (e.g., indicadores institucionales entre –2.5 y +2.5, índices de desarrollo entre 0 y 1), la estandarización asegura que todas contribuyan de forma equitativa al análisis de componentes principales.
  1. Validación de Supuestos para PCA
  • Determinante de la matriz de correlaciones: Cercano a cero indica multicolinealidad suficiente (aquí = 0).
  • Test de esfericidad de Bartlett: \(p<0.05\) rechaza la hipótesis nula de no correlación (Validación para saber si es víable hacer el ACP)
  • Índice KMO: 0.89 (>0.8 “meritorio”) confirma adecuación muestral :contentReference (Validación para saber si el resultado del componente permite crear el índice sintético )

5.2 Reconstrucción del Índice de Libertades Instrumentales Básicas (ILIB)

El presente informe tiene como objetivo principal proporcionar una guía práctica y metodológicamente detallada para la construcción del “Índice de Libertades Instrumentales Básicas” (ILIB) utilizando la técnica de PCA. Específicamente, esta guía se basa en la metodología descrita o implícita en la tesis doctoral de Bladimir De La Hoz Rosales (2019) de la Universidad de Granada, titulada “Emprendimiento y Desarrollo humano: un análisis internacional desde el enfoque de capacidades humanas” (Tesis De La Hoz Rosales, 2019).

El ILIB se enmarca conceptualmente dentro del enfoque de las capacidades humanas de Amartya Sen. Este enfoque concibe el desarrollo no solo en términos de crecimiento económico, sino como la expansión de las libertades reales (capacidades) que disfrutan las personas para elegir y alcanzar vidas que tienen razones para valorar. Las “libertades instrumentales” son aquellas que contribuyen directamente a la capacidad general de las personas para vivir más libremente. Por lo tanto, el ILIB busca medir un conjunto de libertades fundamentales que son cruciales como medios para alcanzar fines más amplios de desarrollo humano. La reconstrucción de este índice mediante PCA, siguiendo los pasos de la tesis original, es un ejercicio académico que permite comprender su estructura, su metodo y así aplicarlo en análisis posteriores, de cara al futuro.

6 Paso a paso (R Studio) :

A partir de la selección de los indicadores que miden(de manera aproximada) las libertades instrumentales básicas conforme se ha planteado, el ILIB se construye en los siguientes pasos:

6.1 1. Selección de indicadores

Se eligen siete indicadores, cada uno asociado a una libertad instrumental básica, tal y como se sistematiza en la siguiente tabla:

  1. Marco Teórico y Selección de Variables
  • Definir conceptualmente las libertades instrumentales básicas según Sen (1999) y De La Hoz (2019).
No. Libertad Instrumental Definición
1 Libertades Políticas Se refieren a las oportunidades que tienen los ciudadanos para determinar quién debe gobernar y bajo qué principios, la posibilidad de escrutar y criticar a las autoridades, la libertad de expresión política, la libertad de prensa y el derecho a formar diferentes partidos políticos u organizaciones. Incluyen los derechos civiles y políticos asociados a las democracias.
2 Servicios Económicos Corresponden a las oportunidades que tienen los individuos para utilizar los recursos económicos con el fin de consumir, producir o realizar intercambios. La libertad económica abarca aspectos como el derecho a la propiedad, el funcionamiento de los mercados, el acceso al crédito y las oportunidades de empleo y producción.
3 Oportunidades Sociales Son los arreglos que la sociedad organiza en áreas como la salud, la educación y otros servicios sociales. Estas oportunidades no solo son cruciales para el bienestar individual (vivir una vida larga y saludable, estar educado), sino que también facilitan una participación más efectiva en las actividades económicas y políticas. La falta de ellas limita severamente las capacidades humanas.
4 Garantías de Transparencia Se relacionan con la necesidad de apertura y claridad que las personas pueden esperar en sus interacciones sociales y económicas. Operan bajo la presunción de confianza y ayudan a prevenir la corrupción, la irresponsabilidad financiera y las transacciones ilícitas. La libertad de información y la rendición de cuentas son fundamentales aquí.
5 Seguridad Protectora Se refiere a la red de seguridad institucional necesaria para proteger a los grupos vulnerables de la miseria extrema o la inanición en caso de contingencias económicas o desastres. Incluye mecanismos como el seguro de desempleo, suplementos de ingresos para los indigentes, y medidas de emergencia como el auxilio en hambrunas o desastres naturales. Proporciona una base de seguridad para que las personas puedan llevar sus vidas sin caer en la indigencia.
¡Nota importante!
Cabe aclarar que:
Los datos recogidos para este paso tienen el objetivo de aproximarse a una medida generalizada de las características de las personas dentro de un país. No hay una medida única para dicho fin, de acuerdo con el planteamiento de Sen (1999); de este modo, indicadores como el IDH modificado tan solo tomarán algunas de las características relacionadas con la libertad instrumental dentro de la cual se enmarcan. La esperanza de vida y el nivel educativo promedio no son totalmente representativos, ya que omiten muchas condiciones estructurales de las oportunidades sociales. ¿Un ejemplo de dicha carencia de representación? Podría considerarse, por ejemplo: no medir el acceso a la salud pública, la alfabetización, créditos de calidad, el acceso a educación superior o la proporción en que las personas tienen acceso a capacitaciones que les preparen para trabajos y educación financiera que les provea de una vida estable. Aclarado esto, podemos continuar.
  • Seleccionar indicadores estadísticos que reflejen cada libertad según plantea Sen (1999) para elaborar el indice:
    • Libertades Políticas:

    • Voz y Responsabilidad (VR): mide el grado en que los ciudadanos de un país pueden participar en la selección de su gobierno, así como la libertad de expresión, la libertad de asociación libre.

    • Estabilidad Política(EP): micde la probabilidad de que el gobierno sea desestabilizado por medios inconstitucionales o violentos, incluido el terrorismo.

    • Servicios Económicos:

    • Estado de Derecho (ED): medida en que los agentes confían y respetan las normas de la sociedad, incluida la calidad del cumplimiento de contratos y los derechos de propiedad, la policía y los tribunales, así como la probabilidad de delincuencia y violencia,

    • Calidad de las Regulaciones (CR): capacidad del gobierno para proporcionar políticas y regulaciones sólidas que permitan y promuevan el desarrollo del sector privado.

    • Oportunidades Sociales:

    • Efectividad del Gobierno (EG): mide la calidad de los servicios públicos, la capacidad de la administración publica y su independencia de las presiones políticas y, la calidad de la formulación de políticas.

    • Índice de Desarrollo Humano Modificado (IDHM)

    • Garantías de Transparencia:

    • Control de la Corrupción (CC): medida en que se ejerce el poder público para obtener ganancias privadas, incluidas las formas de corrupción, tanto pequeñas como grandes, así como la “captura” del estado por parte de las élites y los intereses privados

    • Seguridad Protectora:

    • Efectividad del Gobierno (EF) -IDHM
      |De manera que según establece De La Hoz(2019):se consideran a las siguientes variables como una aproximación coherente de las Libertades Instrumentales Básicas.|

    No. Libertad instrumental Indicador de desarrollo Fuente
    1 Libertades Políticas Voz y Responsabilidad (VR)
    Estabilidad Política (EP)
    Banco Mundial (WGI)
    2 Servicios económicos Estado de Derecho (ED)
    Calidad de las Regulaciones (CR)
    Banco Mundial (WGI)
    3 Oportunidades Sociales Efectividad del Gobierno (EG)
    IDHM
    Banco Mundial (WGI) / ONU
    4 Garantías de Transparencia Control de la Corrupción (CC) Banco Mundial (WGI)
    5 Seguridad Protectora Efectividad del Gobierno (EF)
    IDHM
    Banco Mundial (WGI) / ONU
    Fuente: De La Hoz Rosales (2019), Tabla 6

6.2 2. Preparación de datos

- Importación y organización:

Debemos importar nuestros datos tal que los sujetos se encuentren en las filas (de arriba hacia abajo) y las variables o índices que incluiremos al indicador compuesto, se encuentre en las columnas (de izquierda a derecha)

No. Sujetos muestrales (Filas)/Variables (Columnas) Variable 1 Variable 2
1 País 1 Valor 1 …
2 País 2 Valor 2 …
3 País 3 Valor 3 …
4 País x… Valor x…

En el cuadro ubicado en la parte superior observamos que manera en que debemos tener estructurados los indicadores(o variables). De forma ordenada, como se índica previamente para este caso se tomaron 2 fuentes de datos, las cuales se nombran y se indica junto a su enlace a continuación:

  • UNDP (Human Development Report) - Indice de Desarrollo Humano

https://hdr.undp.org/data-center/human-development-index#/indicies/HDI

  • World Bank (Worldwide Governance Indicators)- Political Stability , Rule of Law, etc.

https://databank.worldbank.org/source/worldwide-governance-indicators/preview/on#

  • World Bank (Indicators) - Voice and Accountability

https://data.worldbank.org/indicator/VA.EST?view=chart

A continuación la manera de importar y visualizar los datos desde un mismo excel con los diferente indicadores relacionado con las libertades instrumentales básicas a nivel de país. Fueron estructurados en una hoja para los datos de cada link

library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3
# Importar las hojas del archivo Excel (hojas 1, 2 y 3)
### Importarlos los convertira en 3 objetos (data frames) distintos ###
ILIB_ACP_1 <- read_excel("~/ILIB Componentes principales.xlsx") 
ILIB_ACP_2 <- read_excel("~/ILIB Componentes principales.xlsx", sheet = 2)
ILIB_ACP_3 <- read_excel("~/ILIB Componentes principales.xlsx", sheet = 3)

# Imprimir cada data frame para vizualisar las primeras filas de cada uno 
### Usamos el comando Print() con el objeto data frame que queremos visualizar ###
print(ILIB_ACP_1)
## # A tibble: 214 × 7
##    `Country Name`      `Country Code` `Political Stability 2023` `Rule of Law`  
##    <chr>               <chr>          <chr>                      <chr>          
##  1 Afghanistan         AFG            -2.48408055305481          -1.64964       
##  2 Albania             ALB            0.183348968625069          -0.1641        
##  3 Algeria             DZA            -0.57788527011871305       -0.67835999999…
##  4 American Samoa      ASM            1.1142212152481099         1.212491       
##  5 Andorra             AND            1.5834659337997401         1.476899       
##  6 Angola              AGO            -0.34150505065918002       -1.09907       
##  7 Anguilla            AIA            1.1142212152481099         0.683675999999…
##  8 Antigua and Barbuda ATG            0.92339324951171897        0.378593000000…
##  9 Argentina           ARG            -0.12751790881156899       -0.41082999999…
## 10 Armenia             ARM            -0.82927823066711404       -0.12202       
## # ℹ 204 more rows
## # ℹ 3 more variables: `Regulatory Quality` <chr>,
## #   `Government Effectiveness` <chr>, `Control of Corruption 2023` <chr>
print(ILIB_ACP_2)
## # A tibble: 266 × 3
##    `Country Name`              `Country Code` `Voice and Accountability`
##    <chr>                       <chr>                               <dbl>
##  1 Aruba                       ABW                                 1.02 
##  2 Africa Eastern and Southern AFE                                NA    
##  3 Afghanistan                 AFG                                -1.85 
##  4 Africa Western and Central  AFW                                NA    
##  5 Angola                      AGO                                -0.737
##  6 Albania                     ALB                                 0.169
##  7 Andorra                     AND                                 0.997
##  8 Arab World                  ARB                                NA    
##  9 United Arab Emirates        ARE                                -1.09 
## 10 Argentina                   ARG                                 0.534
## # ℹ 256 more rows
print(ILIB_ACP_3)
## # A tibble: 196 × 2
##    Country                `Human Development Index (HDI)`
##    <chr>                                            <dbl>
##  1 Switzerland                                      0.967
##  2 Norway                                           0.966
##  3 Iceland                                          0.959
##  4 Hong Kong, China (SAR)                           0.956
##  5 Denmark                                          0.952
##  6 Sweden                                           0.952
##  7 Germany                                          0.95 
##  8 Ireland                                          0.95 
##  9 Singapore                                        0.949
## 10 Australia                                        0.946
## # ℹ 186 more rows

El archivo se presenta mediante la carga de 3 bases de datos(previamente 3 hojas de Excel) que contienen datos procedentes de los enlaces sugeridos anteriormente, que se organizan conforme se ha planteado.

Los pasos siguientes (en el caso de que no se haya realizado en otro programa previamente) son:

  • Imputación o eliminación de casos faltantes según corresponda - Eliminando NAS, valores vacios o nulos.
  • Union de datos - Se juntaran para las observaciones descargados de cada enlace, para emparejar los mismos indicadores para todos los paises y tener una matriz de datos sin valores faltantes (matriz completa).
  • Renombrar o códificar las variables - Se cambiaran los nombres de las variables por unos más cortos.

El código para realizar los 3 pasos, a continuación:

library(dplyr)
ILIB_ACP_1 <- ILIB_ACP_1 %>%
  rename(
    `Country` = `Country Name`,
  )
library(dplyr)
ILIB_ACP_2 <- ILIB_ACP_2 %>%
  rename(
    `Country` = `Country Name`,
  )
# Realizar inner join progresivo y eliminar filas con NA
### Juntar los objetos data frame en uno solo ###
ILIB_joined <- ILIB_ACP_1 %>%
  inner_join(ILIB_ACP_2, by = "Country" ) %>% 
  inner_join(ILIB_ACP_3, by = "Country" ) 
# Mostrar resultado
### visualizar los datos despues de unirlos###
print(ILIB_joined)
## # A tibble: 169 × 10
##    Country             `Country Code.x` `Political Stability 2023` `Rule of Law`
##    <chr>               <chr>            <chr>                      <chr>        
##  1 Afghanistan         AFG              -2.48408055305481          -1.64964     
##  2 Albania             ALB              0.183348968625069          -0.1641      
##  3 Algeria             DZA              -0.57788527011871305       -0.678359999…
##  4 Andorra             AND              1.5834659337997401         1.476899     
##  5 Angola              AGO              -0.34150505065918002       -1.09907     
##  6 Antigua and Barbuda ATG              0.92339324951171897        0.3785930000…
##  7 Argentina           ARG              -0.12751790881156899       -0.410829999…
##  8 Armenia             ARM              -0.82927823066711404       -0.12202     
##  9 Australia           AUS              0.91705721616744995        1.5231840000…
## 10 Austria             AUT              0.72798919677734397        1.7465649999…
## # ℹ 159 more rows
## # ℹ 6 more variables: `Regulatory Quality` <chr>,
## #   `Government Effectiveness` <chr>, `Control of Corruption 2023` <chr>,
## #   `Country Code.y` <chr>, `Voice and Accountability` <dbl>,
## #   `Human Development Index (HDI)` <dbl>
# Para unir las bases de datos a ILIB_ACP_1
names(ILIB_joined)
##  [1] "Country"                       "Country Code.x"               
##  [3] "Political Stability 2023"      "Rule of Law"                  
##  [5] "Regulatory Quality"            "Government Effectiveness"     
##  [7] "Control of Corruption 2023"    "Country Code.y"               
##  [9] "Voice and Accountability"      "Human Development Index (HDI)"
colnames(ILIB_joined) <- c("Country", "Country Code.x","EP","ED","CR","EG",    "CC","Country Code.y","VR","IDHM")
sapply(ILIB_joined[, c("VR", "EP", "ED", "CR", "EG", "IDHM", "CC")], class)
##          VR          EP          ED          CR          EG        IDHM 
##   "numeric" "character" "character" "character" "character"   "numeric" 
##          CC 
## "character"
ILIB_joined <- ILIB_joined %>%
  mutate(across(c(VR, EP, ED, CR, EG, IDHM, CC), 
                ~ (as.numeric(.) - mean(as.numeric(.), na.rm = TRUE)) / sd(as.numeric(.), na.rm = TRUE)))

data_final <- ILIB_joined %>%
  mutate(across(c(VR, EP, ED, CR, EG, IDHM, CC), ~ (.-mean(., na.rm = TRUE))/sd(., na.rm = TRUE)))
write.csv(data_final, "ILIB_merge.csv", row.names = FALSE)

print(ILIB_joined)
## # A tibble: 169 × 10
##    Country             `Country Code.x`      EP      ED      CR     EG      CC
##    <chr>               <chr>              <dbl>   <dbl>   <dbl>  <dbl>   <dbl>
##  1 Afghanistan         AFG              -2.47   -1.63   -1.26   -1.97  -1.12  
##  2 Albania             ALB               0.246  -0.137   0.198   0.279 -0.305 
##  3 Algeria             DZA              -0.530  -0.654  -0.937  -0.645 -0.559 
##  4 Andorra             AND               1.67    1.51    1.39    1.51   1.26  
##  5 Angola              AGO              -0.289  -1.08   -0.748  -0.985 -0.580 
##  6 Antigua and Barbuda ATG               0.999   0.408   0.577   0.409  0.347 
##  7 Argentina           ARG              -0.0710 -0.385  -0.466  -0.352 -0.333 
##  8 Armenia             ARM              -0.786  -0.0949  0.0716 -0.158  0.0814
##  9 Australia           AUS               0.993   1.56    1.99    1.62   1.79  
## 10 Austria             AUT               0.800   1.78    1.40    1.36   1.14  
## # ℹ 159 more rows
## # ℹ 3 more variables: `Country Code.y` <chr>, VR <dbl>, IDHM <dbl>
  • Estandarización de cada indicador a puntuaciones Z.

Aplicando con códigos del programa la especificación de Estandarización

  • Estandarización: Convertir cada variable a puntuaciones Z:
    \[ Z_{ij} = \frac{X_{ij} - \bar{X}_j}{s_j} \]

  • El código para realizar la converción propuesta, a continuación:

# Cargar librerías necesarias
library(dplyr)
library(tidyr)
library(ggplot2)
library(knitr)
library(corrplot)

# 1. Definir las columnas a estandarizar
columnas_a_estandarizar <- c("VR", "EP", "ED", "CR", "EG", "IDHM", "CC")

# 2. Estandarización Z-score de las variables seleccionadas
data_final_estandarizada <- ILIB_joined %>%
  mutate(across(all_of(columnas_a_estandarizar),
                ~ (. - mean(., na.rm = TRUE)) / sd(., na.rm = TRUE),
                .names = "{.col}_std"))

# 3. Selección de variables estandarizadas
datos_para_pca <- data_final_estandarizada %>%
  select(ends_with("_std"))


# 6. Graficar distribuciones de las variables estandarizadas
# Convertir de wide a long para graficar con ggplot
datos_long <- datos_para_pca %>%
  pivot_longer(everything(), names_to = "variable", values_to = "valor")

# Gráfico de densidades
ggplot(datos_long, aes(x = valor, fill = variable)) +
  geom_density(alpha = 0.4) +
  facet_wrap(~ variable, scales = "free", ncol = 3) +
  labs(title = "Distribución de Variables Estandarizadas",
       x = "Z-score",
       y = "Densidad") +
  theme_minimal()

# Visualizar las primeras 10 observaciones de las variables estandarizadas
tabla_std <- data_final_estandarizada %>%
  select(Country, ends_with("_std")) %>%
  head(10)

kable(tabla_std,
      caption = "Primeras 10 Observaciones con Variables Estandarizadas (están entre -4 y 4 la mayoría de los valores, con media 0)",
      digits = 3)
Primeras 10 Observaciones con Variables Estandarizadas (están entre -4 y 4 la mayoría de los valores, con media 0)
Country VR_std EP_std ED_std CR_std EG_std IDHM_std CC_std
Afghanistan -1.878 -2.471 -1.629 -1.260 -1.966 -1.691 -1.119
Albania 0.153 0.246 -0.137 0.198 0.279 0.393 -0.305
Algeria -1.001 -0.530 -0.654 -0.937 -0.645 0.112 -0.559
Andorra 0.985 1.672 1.511 1.392 1.507 0.998 1.261
Angola -0.757 -0.289 -1.076 -0.748 -0.985 -0.869 -0.580
Antigua and Barbuda 0.729 0.999 0.408 0.577 0.409 0.629 0.347
Argentina 0.520 -0.071 -0.385 -0.466 -0.352 0.775 -0.333
Armenia 0.061 -0.786 -0.095 0.072 -0.158 0.374 0.081
Australia 1.497 0.993 1.558 1.991 1.621 1.393 1.785
Austria 1.402 0.800 1.782 1.403 1.357 1.266 1.145

6.3 3. Cálculo de la matriz de correlaciones

Se debe verificar la adecuación para el PCA mediante la prueba de esfericidad de Bartlett y el índice KMO.

# 3. Selección de variables estandarizadas
datos_para_pca <- data_final_estandarizada %>%
  select(ends_with("_std"))

# 4. Calcular matriz de correlación
matriz_cor <- cor(datos_para_pca, use = "pairwise.complete.obs")

# 5. Visualizar matriz de correlación
corrplot(matriz_cor,
         method = "ellipse",
         type = "upper",
         order = "hclust",
         tl.col = "black",
         tl.srt = 45,
         addCoef.col = "grey30",
         number.cex = 0.7,
         diag = FALSE,
         title = "Matriz de Correlación (Variables Estandarizadas)",
         mar = c(0,0,1.5,0))

6.4 4. Extracción de componentes

Se validará si es viable utilizar las variables en conjunto para la elaboración del ACP siempre y cuando se rechace la prueba de esfericidad de Bartlett con p-value < 0,05.

Realizamos dicha prueba con el código a continuación:

# Función para calcular la prueba de Bartlett con R base
bartlett_base <- function(mat_cor, n) {
  p <- ncol(mat_cor)
  detR <- det(mat_cor)
  
  if (detR <= 0) stop("La matriz de correlación no es positiva definida.")

  chi_square <- - (n - 1 - (2 * p + 5) / 6) * log(detR)
  df <- p * (p - 1) / 2
  p_value <- pchisq(chi_square, df, lower.tail = FALSE)

  list(
    chi.square = chi_square,
    df = df,
    p.value = p_value
  )
}

# Ejemplo de uso:
# matriz de correlación de tus datos
R <- cor(datos_para_pca, use = "pairwise.complete.obs")
n <- nrow(datos_para_pca)

bartlett_base(R, n)
## $chi.square
## [1] 1699.823
## 
## $df
## [1] 21
## 
## $p.value
## [1] 0

Dado que el test de Bartlett nos arroja un resultado aproximado a 0 se concluye que

Se realiza la metodología para calcular los componentes principales:

Se calcula con el código a continuación:

# Realizar PCA (ya tienes datos estandarizados)
pca_base <- prcomp(datos_para_pca, center = TRUE, scale. = TRUE)

# Calcular proporción de varianza explicada
var_explicada <- pca_base$sdev^2 / sum(pca_base$sdev^2)

Según el criterio de Kaiser:

Se retiene el primer componente principal (con eigenvalor > 1), que explica la mayor parte de la varianza conjunta de los siete indicadores.

# Calcula la matriz de correlación
mat_cor <- cor(datos_para_pca, use = "pairwise.complete.obs")

# Extrae los eigenvalores (valores propios)
eigenvalues <- eigen(mat_cor)$values

# Contar cuántos eigenvalores son mayores que 1
num_componentes_retenidos <- sum(eigenvalues > 1)

# Mostrar resultado
cat("Componentes retenidos según el criterio de Kaiser:", num_componentes_retenidos, "\n")
## Componentes retenidos según el criterio de Kaiser: 1
# Mostrar todos los eigenvalores
print(round(eigenvalues, 4))
## [1] 5.8055 0.4595 0.3175 0.2386 0.0955 0.0455 0.0378

Evidenciamos que en el reultado con los Eigen Values de mayor valor y encontramos que 5.80 es superior a 1 así que (ev > 1 ✓)

Pediremos a R qué imprima un resultado de 1 si existe al menos un eigen valor > 1 que valide el éxito del método
pca_result <- prcomp(datos_para_pca, scale = TRUE)
eigenvalues <- pca_result$sdev^2
sum(eigenvalues > 1) 
## [1] 1

Continuando se realizará el gráfico de porción de Varianza explicada por cada uno de los calculados, el Screeplot nos provee de una vista rápida de la utilidad de los primeros componentes, se sugiere que los componentes sean números notablemente mayores que 1 para por lo menos considerarlos

El código del Gráfico a continuación:

# Graficar Scree Plot básico en base R
plot(var_explicada,
     type = "b",  # líneas y puntos
     xlab = "Componente Principal",
     ylab = "Proporción de Varianza Explicada",
     main = "Scree Plot - PCA",
     pch = 19, col = "blue")

# Añadir etiquetas con los valores exactos
text(1:length(var_explicada),
     var_explicada,
     labels = round(var_explicada, 2),
     pos = 3, cex = 0.7, col = "darkgray")

6.5 5. Rotación y obtención de cargas factoriales

Aunque al ser un solo factor no se requiere rotación, se verifica que todas las cargas sean superiores a 0.5.

kmo_base <- function(mat_cor) {
  inv_cor <- solve(mat_cor)
  partial_cor <- -cov2cor(inv_cor)
  diag(partial_cor) <- 0
  
  numerador <- sum(mat_cor^2) - sum(diag(mat_cor^2))
  denominador <- numerador + (sum(partial_cor^2) - sum(diag(partial_cor^2)))
  
  kmo_total <- numerador / denominador
  return(kmo_total)
}

# Calcular KMO
R <- cor(datos_para_pca, use = "pairwise.complete.obs")
kmo_base(R)
## [1] 0.9050745

Validamos basandonos el siguiente criterio a partir del test Kaiser-Meyer-Olkin (KMO):

Valor KMO Interpretación
0.90 – 1.00 Excelente
0.80 – 0.89 Muy bueno
0.70 – 0.79 Bueno
0.60 – 0.69 Aceptable
0.50 – 0.59 Deficiente
< 0.50 Inaceptable
  • Al obtener un valor general superior a 0.90 concluimos que es apto para un índice de Excelente calidad

6.6 Paso final. Crear y visualizar ILIB 2023

# Calcular el PCA nuevamente, por claridad
pca_result <- prcomp(datos_para_pca, center = TRUE, scale. = TRUE)

# Extraer el primer componente (PC1) para cada país
ILIB_index <- pca_result$x[,1]

# Agregar el índice al data frame original
ILIB_final <- data_final_estandarizada %>%
  mutate(ILIB_score = ILIB_index)

# Escalar el índice entre 0 y 100 (opcional, para mejor interpretación)
ILIB_final <- ILIB_final %>%
  mutate(ILIB_scaled = 100 * (ILIB_score - min(ILIB_score, na.rm = TRUE)) /
                        (max(ILIB_score, na.rm = TRUE) - min(ILIB_score, na.rm = TRUE)))

# Visualizar primeras observaciones
kable(head(ILIB_final %>% select(Country, ILIB_score, ILIB_scaled), 10),
      caption = "Índice de Libertades Instrumentales Básicas (ILIB) – primeras 10 observaciones",
      digits = 2)
Índice de Libertades Instrumentales Básicas (ILIB) – primeras 10 observaciones
Country ILIB_score ILIB_scaled
Afghanistan -4.49 9.90
Albania 0.29 56.84
Algeria -1.61 38.20
Andorra 3.53 88.66
Angola -2.02 34.12
Antigua and Barbuda 1.52 68.86
Argentina -0.18 52.24
Armenia -0.16 52.42
Australia 4.12 94.48
Austria 3.48 88.17

Tenemos los valores de las puntuaciones del Componente y luego una columna con la puntuación escalada de 0 a 100 para mejor interpretación (finalizamos)

7 Paso a paso (Stata):

realización del ILIB mediante Stata (versión corta pero menos automatica)


Cabe aclarar que el resultado de este procedimiento hecho en Stata, tiene las siguientes 2 utilidades:

7.1 Importación

7.2 Normalización

Para estandarizar los valores podemos generar nuestras variables, con una converción logaritmica antes de realizar el proceso de ACP

#----------------------------------------------------------------------------#
# Utilizaremos el código de una conversión en Stata con todas mis variables  #
#----------------------------------------------------------------------------#

# gen lnIDHM = ln(IDHM)

7.3 Matriz de correlaciones

  • vamos a verificar que las correlaciones sean altas, aproximadas a valores de -1 y 1.

7.4 Aplicación del metodo

#----------------------------------------------------------------------------#
# Utilizaremos el código de Stata que se encuentran abajo para  realizar el  #
# ACP.                                                                       #
#----------------------------------------------------------------------------#

# pca variable1 variable2 variable3 variable4 variable5 variable6 variable7 
  • cuando nos fijamos en la columna de Eigen value observamos a simplem vista si dentro de los componentes alguno es mayor a 1, según el criterio de Kaiser el valor de 5.80 es capaz de validar dicho componente como una simensión para crear un ¡índicador!

7.5 Elavuación del resultado con Test KMO

Test de Kaiser-Meyer-Olkin (KMO) de forma directa como parte del análisis de componentes principales o análisis factorial, utilizando el comando estat kmo Este test evalúa si tus datos son adecuados para realizar un PCA o análisis factorial.

Por ultimo evaluamos la rigurosidad según el test (KMO)

Ejecutamos el código de la siguiente manera:

#----------------------------------------------------------------------------#
# Utilizaremos el código de Stata que se encuentran abajo para obtener el    #
#resultado del test KMO                                                      #
#----------------------------------------------------------------------------#

# estat kmo

Validamos basandonos el siguiente criterio:

Valor KMO Interpretación
0.90 – 1.00 Excelente
0.80 – 0.89 Muy bueno
0.70 – 0.79 Bueno
0.60 – 0.69 Aceptable
0.50 – 0.59 Deficiente
< 0.50 Inaceptable

Visualizamos los resultados:

  • Al obtener un valor general superior a 0.90 concluimos que es apto para un índice de Excelente calidad

8 referencias

De la Hoz Rosales, B. J. (2019). Emprendimiento y desarrollo humano: un análisis internacional desde el enfoque de capacidades humanas [Tesis doctoral, Universidad de Granada].

Ravallion, M. (1997). Good and bad growth: The human development reports. World Development, 25(5), 631-638. https://www.google.com/search?q=https://doi.org/10.1016/S0305-750X(97)00001-7

Adcock, R., & Collier, D. (2001). Measurement Validity: A Shared Standard for Qualitative and Quantitative Research. American Political Science Review, 95(3), 529–546. https://doi.org/10.1017/S0003055401003100