AdminLTE Preloader Image
Documentación de modelos

Ficha de modelos predictivos

Qué hace cada modelo, qué datos usa y cómo interpretar sus métricas.

Modelos registrados
9
9 con datos en la tabla
Predicciones evaluables
107.017
115.784 registros historicos · 15.976 partidos base
Mejor acierto
Ensemble selectivo
76,77%
Última predicción
24/08/2026 08:51
Según `porcentajes_victoria.calculado_en`

Tabla general

9 modelos registrados. Pulsa un modelo para abrir su ficha técnica y sus datos actuales.

Reg. logística + Elo

02_regresion_logistica_elo

Regresión logística
Qué hace

Entrena una regresión logística sobre señales cronológicas sencillas: diferencia Elo, magnitud de la diferencia y racha reciente de ambos equipos.

Resumen de datos que usa
  • Diferencia Elo
  • Valor absoluto de la diferencia Elo
  • Racha local últimos 5
  • Racha visitante últimos 5
  • Tipo de partido
Idea central
  • Mantiene la base Elo, pero deja que una regresión logística aprenda cuánto pesa cada señal.
  • La salida es una probabilidad local entre 0 y 1, no solo una clase gana/pierde.
  • Es más interpretable que un ensemble porque las variables son pocas y claras.
Features construidas
  • diff_elo: Elo local menos Elo visitante antes del partido.
  • abs_diff_elo: tamaño de la diferencia, independientemente del lado.
  • racha_local_5 y racha_visitante_5: porcentaje de victorias en los 5 partidos previos de cada equipo.
  • diff_racha_5: forma reciente local menos visitante.
  • tipo_partido: variable categórica codificada con one-hot.
Entrenamiento
  • Usa SimpleImputer para numéricas y categóricas.
  • Codifica tipo_partido con OneHotEncoder(handle_unknown=ignore).
  • Prueba varios valores de regularización C: 0.1, 0.3, 1.0, 3.0 y 10.0.
  • Guarda el mejor pipeline en models/lr_elo.pkl.
Backtest y aplicación
  • 03_backtest_build_prediction.py recorre partidos pasados con el modelo entrenado y escribe probabilidades.
  • 02_apply_future.py aplica el pipeline a partidos futuros con Elo disponible.
  • El modelo se etiqueta en base de datos como 02_regresion_logistica_elo.
Riesgos de lectura
  • La racha se actualiza después de cada partido; si se alterase ese orden se contaminaría.
  • No sabe nada de bajas, rotaciones, cuotas ni calendario salvo lo reflejado indirectamente en Elo/racha.
  • Al tener pocas variables, suele ser estable pero puede quedarse corto en partidos con contexto especial.
Validación resumida

Split temporal 80/20 en entrenamiento y script de backtest que escribe predicciones históricas.

Salida resumida

Probabilidades calibrables y faciles de interpretar.

Riesgo o lectura resumida

Si alguna variable dinamica se calcula con datos del propio partido puede contaminarse; conviene auditar cada feature nueva.

Tablas implicadas
  • partidos
  • equipo_elo
  • porcentajes_victoria
Ficheros y responsabilidad
  • 01_python/03_modelos/02_regresion_logistica_elo/01_train.py
    Entrena el pipeline y guarda métricas JSON.
  • 01_python/03_modelos/02_regresion_logistica_elo/03_backtest_build_prediction.py
    Genera predicciones históricas.
  • 01_python/03_modelos/02_regresion_logistica_elo/02_apply_future.py
    Calcula predicciones futuras.
Features técnicas del JSON de entrenamiento
Numéricas (5)
  • diff_elo
  • abs_diff_elo
  • racha_local_5
  • racha_visitante_5
  • diff_racha_5
Categóricas (1)
  • tipo_partido
Acierto
63,98%
Evaluables
12.976
Aciertos
8.302
Fallos
4.674
Cobertura histórica
81,22%
Cobertura útil
100,00%
Neutras 50/50
0
Sin pred. histórica
3.000
Temporadas
24
Ligas
3
Periodo
24/02/2019 20:30
14/06/2026 00:30
Última predicción
24/08/2026 08:26
Métricas de entrenamiento
Modelo JSON
02_regresion_logistica_elo
Total dataset
15.976
Train
12.780
Test
3.196
Mejor C
1
Accuracy test @0.5
65,49%
Mejor umbral test
0.52
Accuracy mejor umbral
65,77%
LogLoss test
0,6226
Brier test
0,2165
ROC AUC test
01_python/03_modelos/02_regresion_logistica_elo/metrics/lr_elo_metrics.json