Trabajo Final: El "Gran Juego" Post-Soviético
Alumno: Daniel Alexis Mendoza Corne
Fecha: Febrero 2026
🎥 Demostración
¿Quieres ver cómo quedó el Dashboard? 👉 Mira el video aqui
Orden de trabajo
Completa los archivos en este orden. Cada numero indica la secuencia:
| Orden | Archivo | Que haces |
|---|---|---|
| 1 | 01_README.md (este archivo) |
Defines tu pregunta, paises y variables |
| 2 | 02_INFRAESTRUCTURA.md |
Construyes y explicas tu docker-compose.yml |
| 3 | src/verify_spark.py |
Verificas la conexión con Spark |
| 4 | src/pipeline.py |
ETL: Limpieza y Transformación en Parquet |
| 5 | src/analysis.py |
Análisis con ML (Random Forest) en Spark |
| 6 | src/econometric_analysis.py |
Análisis Econométrico (Test de Hausman) |
| 7 | 03_RESULTADOS.md |
Presentas graficos e interpretas resultados |
| 8 | 04_REFLEXION_IA.md |
Documentas tu proceso y pegas tus prompts |
| 9 | 05_EXPLICACION_CODIGO.md |
Catálogo técnico de todos los scripts |
| 10 | 06_RESPUESTAS.md |
Respondes 4 preguntas de comprension |
| 11 | 07_PROTOTIPO.md |
Nuevo: Video Demo del Dashboard |
Los archivos docker-compose.yml, requirements.txt y .gitignore los completas conforme avanzas.
Pregunta de investigacion
"¿Qué influye más en la riqueza de los países ex-soviéticos: tener un ejército fuerte y gastar mucho en armas, o ser un país más democrático y con menos corrupción?"
Paises seleccionados (5)
| # | Pais | Codigo ISO | Por que lo elegiste |
|---|---|---|---|
| 1 | Afghanistan | AFG | Actor central histórico y geopolítico en la región ("Cementerio de Imperios"). |
| 2 | Mongolia | MNG | Estado tapón estratégico y neutral entre las potencias Rusia y China. |
| 3 | Azerbaijan | AZE | Pieza clave en la conexión Caspio-Cáucaso y seguridad energética. |
| 4 | Georgia | GEO | Referente de aspiraciones democráticas y occidentales en la región. |
| 5 | Armenia | ARM | Aliado estratégico tradicional de Rusia en el Cáucaso Sur. |
IMPORTANTE: No puedes usar los paises del ejemplo del profesor (KAZ, UZB, TKM, KGZ, TJK).
Variables seleccionadas (5 numericas)
| # | Variable QoG | Que mide | Por que la elegiste |
|---|---|---|---|
| 1 | gle_cgdpc |
PIB per cápita real | Variable Objetivo (Target): Indicador estándar de desarrollo económico. |
| 2 | wdi_expmil |
Gasto militar (% PIB) | Poder Duro: Refleja la priorización de seguridad sobre bienestar. |
| 3 | p_polity2 |
Índice de Democracia | Poder Blando: Mide la estabilidad y apertura del régimen político. |
| 4 | vdem_corr |
Índice de Corrupción | Calidad Institucional: Factor clave que afecta la inversión y crecimiento. |
| 5 | wdi_lifexp |
Esperanza de vida | Variable de Control: Indicador básico de bienestar social y salud. |
Tip: Consulta el codebook de QoG para entender que mide cada variable: https://www.gu.se/en/quality-government/qog-data
Variable derivada
He creado la variable subregion para agrupar geográficamente a los países y capturar dinámicas regionales distintas más allá de las fronteras nacionales:
- Caucasus: Azerbaiyán, Georgia, Armenia.
- Central/South: Afganistán.
- East: Mongolia.
Tipo de analisis elegido
- Clustering (K-Means)
- Serie temporal (evolucion por pais)
- Comparacion (Regresión Random Forest - Importancia de Factores)
- Modelo Econométrico (Panel Data - Efectos Fijos vs Aleatorios)
Como ejecutar mi pipeline
# Paso 1: Levantar infraestructura
docker compose up -d
# Paso 2: Verificar que todo funciona
docker ps
# Paso 3: Descargar Datos (Automático)
docker exec jupyter_lab python /home/jovyan/work/src/download_data.py
# Paso 4: Ejecutar pipeline ETL (Procesamiento de Datos)
# Nota: Ejecutar desde dentro del contenedor o tener Spark local.
# Si usas Docker (recomendado):
docker exec jupyter_lab python /home/jovyan/work/src/pipeline.py
# Paso 5: Ejecutar Análisis y Generar Gráficos
docker exec jupyter_lab spark-submit /home/jovyan/work/src/analysis.py
# Paso 6: Ejecutar Análisis Econométrico (Hausman)
# Nota: Ejecutar desde entorno con librerías 'linearmodels' instaladas (puede ser local si tienes entorno)
docker exec jupyter_lab python /home/jovyan/work/src/econometric_analysis.py
# (Si no corre en docker por falta de librerías, instalar: pip install linearmodels statsmodels)
El análisis generará los gráficos en la carpeta notebooks/ y el reporte final está en 03_RESULTADOS.md.
Estructura del Proyecto
├── .github/workflows/ # [DevOps] Automatización de despliegue web
├── docs/ # [Doc] Documentación oficial (Markdown)
│ ├── 01_README.md # Este archivo (Guía de Trabajo)
│ ├── 02_INFRAESTRUCTURA.md # Detalles de Docker
│ ├── 03_RESULTADOS.md # Informe de hallazgos
│ ├── 05_EXPLICACION_CODIGO.md# Catálogo técnico de scripts
│ └── ... # Otros archivos de documentación
├── src/ # [Code] Código Fuente Python
│ ├── pipeline.py # Lógica ETL Big Data
│ ├── analysis.py # ML Engine (Random Forest)
│ ├── econometric_analysis.py # Stats Engine (Hausman)
│ ├── app_streamlit.py # Dashboard (Versión Clásica)
│ └── app_streamlit_pro.py # Dashboard (Versión PRO 3D)
├── data/ # [Data] Lakehouse (Raw + Processed)
├── docker-compose.yml # [Infra] Orquestación de contenedores
├── mkdocs.yml # [Config] Configuración de la web de docs
└── upload_to_github.bat # [Tool] Script de subida automática
📄 Licencia
Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.
Copyright (c) 2026 Alexis M.