Centro de decisión estratégica del Ministerio
MIRHE — Monitor Integral de Riesgo Hídrico-Energético
Centro de decisión estratégica del Ministerio para lectura integrada de agua, precio, gas, térmicas y riesgo nacional.
Centro de decisión estratégica del Ministerio
Centro de decisión estratégica del Ministerio para lectura integrada de agua, precio, gas, térmicas y riesgo nacional.
Ridge + Gradient Boosting · target log(precio de bolsa) · 22 features · 1268 días · validación temporal 80/20 sin fugas. Métrica principal: error medio (MAE), no el R².
error absoluto medio fuera de muestra
habilidad neta del modelo: solo 1,1 COP/kWh menos
la línea base trivial ya da R² 0,94: el R² alto NO es mérito del modelo
train / test cronológico
Por qué NO reportamos el R² como titular: el precio de bolsa es tan persistente que "mañana = hoy" ya explica el 94% de la varianza (R² 0,94). Un R² de 0,94 suena impresionante pero viene casi todo de esa autocorrelación, no del modelo. Por honestidad usamos el error medio (MAE): el modelo acierta a ±36 COP/kWh, apenas mejor que no hacer nada. Su valor real es identificar QUÉ fundamentales mueven el precio, no predecirlo.
| Variable | importancia |
|---|---|
| precio_lag1 | +1.371 |
| demanda_gwh | +0.009 |
| precio_lag7 | +0.009 |
| aportes_pct | +0.006 |
| indisponibilidad_pct | +0.006 |
| margen_gen_dem_gwh | +0.002 |
| precio_lag14 | +0.002 |
| precio_mm7 | +0.001 |
Lectura honesta: el precio diario es muy persistente, por eso el rezago de 1 día domina; los fundamentales (aportes, El Niño, gas) aportan señal incremental y explican el régimen/nivel sostenido.
Validación temporal sin fugas. Mejora v2: target en log (el precio es muy asimétrico) + rezagos cortos/volatilidad/estacionalidad. El precio diario es muy persistente (línea base 'hoy=ayer' R²≈0.89); el modelo la supera y, sobre todo, aporta los fundamentales que explican el régimen/nivel. El apagón no es entrenable (1 caso histórico).
target: estres_operativo_gwh (GWh/día) · 1282 días · 1025/257 train/test cronológico.
con fundamentales hidro/demanda/gas
el modelo no le gana a "usar el promedio histórico" (eso es un R² < 0)
indisponibilidad XM incluida
transmisión y despacho, no series diarias
Por qué mostramos esto (y no un R² positivo maquillado): intentamos predecir el estrés operativo y el modelo no logró superar ni al promedio histórico. Ese fracaso —técnicamente un R² negativo (-1,72)— no es un error de cálculo ni un modelo roto: es la evidencia de que el estrés por restricciones lo determinan la red de transmisión y el despacho de seguridad, no las variables energéticas diarias. Por eso el riesgo se mide con el índice integrado y la suficiencia física (ENFICC), no con esta predicción. Reportar el fracaso es lo que hace creíble lo demás.
HALLAZGO: el estrés operativo por restricciones NO es predecible con los fundamentales hidrológicos/demanda, NI siquiera tras incorporar el dato de mantenimientos (indisponibilidad = capacidad efectiva − disponibilidad real, fuente XM): el R² fuera de muestra siguió siendo negativo (boosting ≈ -1.6) y la indisponibilidad entró con peso bajo y signo contrario al esperado. Esto DESCARTA que la causa sea falta de dato de mantenimientos: el estrés operativo lo determinan la topología de transmisión y las decisiones de despacho de seguridad, no observables en series energéticas diarias. Se reporta como límite estructural; por eso el riesgo se mide con el índice integrado, no con una predicción puntual del estrés.
Cuánto ha costado la energía cuando los ríos traen lo de hoy · régimen actual: seco (aportes 30d 80,8%).
p75: 786 · p90: 843 · 73 días
p75: 322 · p90: 397 · 138 días
p75: 250 · p90: 317 · 146 días
Es estadística descriptiva del pasado reciente bajo regímenes similares; NO es pronóstico de precio ni señal oficial del mercado. La proyección heurística por escenarios del módulo original permanece conservada y marcada con su fecha.
La proyección de precio kWh corresponde a un escenario analítico interno construido a partir de histórico de precio de bolsa, embalses, señales climáticas, generación térmica, gas y supuestos de operación. No constituye predicción oficial del mercado ni señal regulatoria.
Escenario Base · escenario analítico interno, no predicción oficial del mercado
Referencia 180 días · escenario analítico interno, no predicción oficial del mercado
El ranking refleja la capa estadística disponible y, cuando no es robusta, la priorización heurística documentada.
Validación actual: error promedio 1.983,9 · MAE 1.983,9 · MAPE 244,7% · R² -1.741,05.
Índice 100: compara dirección del precio y del embalse agregado oficial.
Índice 100: presión de precio frente a térmica total disponible en la capa curada.
Índice 100: compara precio observado contra la generación térmica a gas sin mezclar Mixto como Gas.
Índice 100: comparación del precio observado con la severidad climática analítica NOAA/IDEAM.
Base vs Niño severo para el modelo analítico interno de precio kWh.
Curva histórica ordenada vs línea del precio actual (percentil actual: 87,3).
La proyección de precio kWh corresponde a un escenario analítico interno construido a partir de histórico de precio de bolsa, embalses, señales climáticas, generación térmica, gas y supuestos de operación. No constituye predicción oficial del mercado ni señal regulatoria.
Capa paralela conservadora. No reemplaza las fuentes actuales; reporta diferencias antes de integrar al dashboard principal.
Estado de extracción: ok
Variables consultadas: XM PrecBolsNaci/Sistema
Recomendación: Consistente en esta ventana; mantener pydataxm como validación paralela y evaluar integración en una fase posterior.
Estado de extracción: ok
Variables consultadas: XM VoluUtilDiarMasa/Embalse, XM CapaUtilDiarMasa/Embalse
Recomendación: Mantener pydataxm solo como validación paralela y revisar diferencias antes de integrar cualquier reemplazo.
Estado de extracción: ok
Variables consultadas: XM DemaReal/Sistema
Recomendación: Conservar como capa exploratoria paralela: todavía no existe una fuente actual equivalente para comparación directa.
Estado de extracción: ok
Variables consultadas: XM Gene/Sistema
Recomendación: Conservar como capa exploratoria paralela: todavía no existe una fuente actual equivalente para comparación directa.
Estado de extracción: ok
Variables consultadas: XM ListadoRecursos/Sistema, XM Gene/Recurso, XM CapEfecNeta/Recurso, XM DispoCome/Recurso, XM ConsCombustibleMBTU/Recurso
Recomendación: Mantener pydataxm solo como validación paralela y revisar diferencias antes de integrar cualquier reemplazo.
Estado de extracción: ok
Variables consultadas: XM ListadoRecursos/Sistema
Recomendación: Conservar como capa exploratoria paralela: todavía no existe una fuente actual equivalente para comparación directa.
Estado de extracción: ok
Variables consultadas: SIMEM 96D56E/precio_bolsa_ponderado, SIMEM EC6945/precio_bolsa_horario, SIMEM F138B6/aportes_hidricos_masa, SIMEM 8D3CCD/proyeccion_embalse_agregado_corto_plazo, SIMEM A0CF2A/listado_embalses_sin
Recomendación: Mantener pydataxm solo como validación paralela y revisar diferencias antes de integrar cualquier reemplazo.