Metodología

Sobre el Proyecto

Este proyecto analiza las votaciones del Congreso de la República del Perú utilizando técnicas avanzadas de ciencia de datos y aprendizaje automático para identificar patrones ideológicos y comportamiento legislativo.

Contenido

Técnicas Utilizadas

1. Puntos Ideales: Teoría de Respuesta al Ítem (IRT)

Los puntos ideales representan la posición ideológica de cada congresista en un espectro continuo. Utilicé modelos de Teoría de Respuesta al Ítem (IRT) para estimar estos puntos basándose en patrones de votación. El modelo asume que la probabilidad de que un congresista vote a favor de una ley depende tanto de su posición ideológica como de las características de la ley misma.

El Modelo

La probabilidad de que el congresista vote a favor del proyecto se modela como:

Donde:

  • : voto del congresista en el proyecto (1 = a favor, 0 = en contra)
  • : función de enlace (típicamente logística o probit) que mapea a probabilidades entre 0 y 1
  • : punto ideal del congresista (posición ideológica estimada)
  • : parámetro de dificultad del proyecto (punto de corte ideológico)
  • : parámetro de discriminación del proyecto (qué tan bien el proyecto separa posiciones ideológicas)

Un proyecto con alto discrimina fuertemente entre izquierda y derecha, mientras que indica la posición ideológica en la cual un congresista tiene 50% de probabilidad de votar a favor.

Especificaciones Técnicas

  • Modelo: emIRT (Expectation-Maximization Item Response Theory)
  • Abstenciones: Tratadas como datos faltantes (missing data) en lugar de votos neutrales
  • Identificación del modelo: Moyano (congresista de derecha) se fija como punto de referencia positivo para garantizar la identificabilidad del modelo en todos los temas
  • Estimación de incertidumbre: Errores estándar calculados mediante bootstrap paramétrico, que genera nuevos conjuntos de datos a partir de los coeficientes estimados, re-estima los modelos y calcula intervalos de confianza
  • Intervalos de confianza: 95% basados en las distribuciones bootstrap

Limitaciones del Modelo

  • Unidimensionalidad: El modelo asume una sola dimensión ideológica (izquierda-derecha), aunque la política real puede ser multidimensional
  • Independencia: Asume que los votos son independientes entre sí, sin considerar efectos de coaliciones temporales o negociaciones
  • Pérdida de información: Al tratar las abstenciones como datos faltantes, se pierde potencial información sobre comportamiento estratégico
  • Votos unánimes: Las votaciones donde todos votan igual no aportan información discriminatoria y son excluidas del modelo

2. Heatmap de Similitud y Clustering

El heatmap visualiza la similitud ideológica entre congresistas y los agrupa en clusters coherentes.

Cálculo de Distancias

Para medir la similitud entre congresistas, calculé la distancia euclidiana entre sus vectores de votación:

Donde y son los votos de los congresistas y en la votación . Los votos se codifican de la siguiente manera:

  • -1: Voto en contra (No)
  • +1: Voto a favor (Sí)
  • Abstenciones: Se codifican como el resultado ganador de la votación
  • Otros casos: Tratados como datos faltantes (missing) y excluidos del cálculo

Una distancia menor indica patrones de votación más similares entre dos congresistas.

Análisis Temporal

Para el análisis temporal (comparación de períodos Castillo y Boluarte), se utiliza una medida de distancia normalizada en lugar de la distancia euclidiana estándar. Esto garantiza que las escalas sean comparables entre ambos períodos. Sin esta normalización, el período con más votaciones tendría distancias euclidianas naturalmente más grandes, haciendo imposible comparar directamente los patrones de similitud entre períodos con diferente cantidad de votos.

Clustering Jerárquico

Para agrupar congresistas utilicé el Método de Ward implementado mediante el algoritmo de Lance-Williams. Este método minimiza el incremento de varianza interna al fusionar clusters, produciendo grupos compactos y bien separados.

Determinación del Número Óptimo de Clusters

Utilicé análisis de silueta (Silhouette analysis) para determinar el número óptimo de clusters. El coeficiente de silueta para cada elemento se calcula como:

Donde es la distancia promedio al resto de elementos en el mismo cluster, y es la distancia promedio al cluster más cercano. El número de clusters que maximiza el coeficiente promedio de silueta se considera óptimo, ya que maximiza la compacidad interna y la separación entre grupos.

3. Mapa de Temas (Topic Modeling)

Los proyectos de ley se clasifican automáticamente en temas coherentes utilizando técnicas de procesamiento de lenguaje natural y aprendizaje no supervisado.

Confianza en la Clasificación

HDBSCAN asigna a cada proyecto de ley una probabilidad de pertenencia al tema identificado, también llamada puntuación de confianza. Esta métrica indica qué tan seguro está el algoritmo de que un proyecto pertenece a su tema asignado. Valores cercanos a 1 indican alta confianza (el proyecto está claramente dentro del cluster), mientras que valores bajos sugieren que el proyecto está en la periferia del tema o podría pertenecer a múltiples temas.

Cargando datos...

El histograma muestra la distribución de estas puntuaciones de confianza para todos los proyectos de ley con tema asignado. La mayoría de los proyectos tienen confianzas altas, lo que indica que el modelo identifica clusters bien definidos y coherentes temáticamente.

Pipeline de Procesamiento

Paso 1: Embeddings de Texto

Los títulos y sumillas de los proyectos de ley se transforman en vectores numéricos usando el modelo paraphrase-multilingual-MiniLM-L12-v2. Este modelo está basado en word embeddings y genera representaciones semánticas de 384 dimensiones que capturan el significado de cada documento.

Paso 2: Reducción de Dimensionalidad

Apliqué UMAP (Uniform Manifold Approximation and Projection) para reducir las 384 dimensiones a un espacio de menor dimensión, preservando la estructura local y global de los datos. UMAP es una técnica de reducción no lineal particularmente efectiva para visualización y clustering.

Paso 3: Clustering Basado en Densidad

Utilicé HDBSCAN (Hierarchical Density-Based Spatial Clustering of Applications with Noise) para identificar clusters de documentos similares. HDBSCAN es una extensión jerárquica de DBSCAN que detecta automáticamente clusters de diferentes densidades y clasifica documentos atípicos como ruido (-1).

Paso 4: Extracción de Palabras Clave

Para cada tema identificado, extraje palabras clave representativas usando c-TF-IDF (class-based Term Frequency-Inverse Document Frequency). Esta variante de TF-IDF trata todos los documentos de un cluster como un solo documento de clase, identificando términos que son distintivos de cada tema.

Paso 5: Generación de Descripciones

Las descripciones textuales de cada tema se generan usando Llama 3.1, al cual se le proporcionan las palabras clave de c-TF-IDF y el contenido de las sumillas más representativas del cluster.

Visualización Jerárquica

El treemap muestra clusters de tamaño pequeño debido a limitaciones de la visualización con múltiples niveles jerárquicos. Seleccioné los clusters más granulares de la jerarquía para maximizar la especificidad temática.

Fuentes de Datos

Los datos provienen de fuentes oficiales del Congreso de la República del Perú:

  • Sistema de Seguimiento de Proyectos de Ley: Portal SPLEY - Proyectos de ley con títulos, sumillas y metadatos
  • Área de Agenda y Relatoría del Congreso: Relatoría y Agenda - Información detallada de sesiones y procedimientos

Total de registros analizados: 450,000+ votos individuales de 138 congresistas en 3,014 sesiones de votación (rollcalls).

Período de datos: Las votaciones nominales (rollcalls) incluidas en este análisis abarcan hasta el 21 de agosto de 2025.

Limitaciones y Consideraciones

Fecha de Corte y Actualización

Los datos se actualizan periódicamente. La fecha de última actualización se muestra en el pie de página. Puede haber un desfase entre las votaciones más recientes y su inclusión en el análisis.

Tasa de Error

No todas las leyes publicadas tienen votaciones nominales registradas. Algunas leyes se aprueban por unanimidad sin registro nominal, o mediante procedimientos especiales que no generan datos de votación individual. Esto introduce un sesgo de selección hacia leyes más controversial.

Información de Bancadas

La información de bancadas y partidos puede no estar completamente actualizada, especialmente para congresistas que han cambiado de bancada o partido durante su periodo legislativo. Algunos partidos son relativamente nuevos y pueden tener datos históricos limitados.

Proceso de Selección

El análisis se enfoca en votaciones nominales registradas. Votaciones por asentimiento, procedimientos en comisión, y otras actividades legislativas no están incluidas en este análisis.

Valor Legal

La información presentada en esta herramienta web es referencial y no tiene valor legal. Para denuncias, verificaciones oficiales u otras cuestiones legales, debes consultar las fuentes originales (ej. el registro en línea de la institución estatal correspondiente).

Preguntas Frecuentes (FAQ)

¿Qué significa el "punto ideal"?

El punto ideal es una estimación de la posición ideológica de un congresista en un espectro continuo de izquierda a derecha. Valores más bajos indican posiciones más a la izquierda, valores más altos indican posiciones más a la derecha. Se deriva de patrones de votación usando modelos estadísticos de Teoría de Respuesta al Ítem.

¿Por qué algunas leyes no tienen ideología asignada?

Las leyes que fueron aprobadas (o rechazadas) de manera unánime no aportan información discriminatoria sobre posiciones ideológicas y son excluidas del modelo IRT. Solo las votaciones donde hay división de opiniones permiten estimar diferencias ideológicas.

¿Por qué hay temas sin puntos ideales?

Algunos temas (ej. Infraestructura Nacional para Aeropuertos) tienen solo votaciones clave que fueron unánimes. Sin división en las votaciones, no es posible estimar posiciones ideológicas diferenciadas para ese tema específico.

¿Cómo se calculan las distancias ideológicas?

Las distancias se calculan usando la distancia euclidiana entre los puntos ideales de dos congresistas. Una distancia menor indica que votan de manera más similar y comparten posiciones ideológicas más cercanas.

¿Por qué un partido tiene menos proyectos que un congresista individual?

Esto puede ocurrir cuando un partido es relativamente nuevo (ej. Bloque Socialista). Los congresistas individuales pueden haber presentado proyectos antes de unirse al partido actual, o cuando pertenecían a otras bancadas. Solo se tienen páginas de bancadas actuales, no registros históricos completos de todas las formaciones partidarias.

¿Con qué frecuencia se actualizan los datos?

Los datos se actualizan periódicamente conforme se publican nuevas votaciones en el portal del Congreso. La fecha de última actualización se muestra en el pie de página.

¿Puedo usar estos datos para mi investigación?

Sí, los datos son de dominio público. Para colaboraciones o consultas sobre el proyecto, contáctame a través del enlace en el pie de página.

Referencias

  • Clinton, J., Jackman, S., & Rivers, D. (2004). The Statistical Analysis of Roll Call Data. American Political Science Review.
  • Grootendorst, M. (2022). BERTopic: Neural topic modeling with a class-based TF-IDF procedure. arXiv preprint arXiv:2203.05794.
  • McInnes, L., Healy, J., & Astels, S. (2017). HDBSCAN: Hierarchical density based clustering. Journal of Open Source Software, 2(11), 205.
  • Ward, J. H. (1963). Hierarchical grouping to optimize an objective function. Journal of the American Statistical Association, 58(301), 236-244.
  • Rousseeuw, P. J. (1987). Silhouettes: A graphical aid to the interpretation and validation of cluster analysis. Journal of Computational and Applied Mathematics, 20, 53-65.