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.
Todos
Vista general
01
Elo básico
02
Reg. logística + Elo
03
Naive Bayes + Elo
04
Naive Bayes + stats
05
Ensemble jugadores
06
Ensemble calibrado
07
Ensemble selectivo
08
Comité especialistas
09
Modelo margen
| Modelo | Tipo | Objetivo | Evaluables | Cobertura | Acierto | Última | |
|---|---|---|---|---|---|---|---|
| Elo básico 01_elo_basico | Elo | Crear una probabilidad base usando fuerza historica de equipos. | 15.927 49 neutras | 100,00% útil 99,69% | 62,55% | 24/08/2026 08:26 | Ver |
| Reg. logística + Elo 02_regresion_logistica_elo | Regresión logística | Mejorar Elo aprendiendo pesos estadisticos sobre variables dinamicas. | 12.976 3.000 sin pred. histórica | 81,22% útil 100,00% | 63,98% | 24/08/2026 08:26 | Ver |
| Naive Bayes + Elo 03_naive_bayes_elo | Naive Bayes | Probar un clasificador probabilistico simple con señales Elo. | 12.976 3.000 sin pred. histórica | 81,22% útil 100,00% | 62,48% | 24/08/2026 08:26 | Ver |
| Naive Bayes + stats 04_naive_bayes_stats | Naive Bayes + stats | Añadir estadisticas recientes de equipo al enfoque Naive Bayes. | 12.976 3.000 sin pred. histórica | 81,22% útil 100,00% | 62,57% | 24/08/2026 08:26 | Ver |
| Ensemble jugadores 05_ensemble_jugadores | Ensemble | Combinar Elo, forma de equipo y perfiles rolling de jugadores. | 12.975 1 neutras 3.000 sin pred. histórica | 81,22% útil 99,99% | 63,53% | 24/08/2026 08:29 | Ver |
| Ensemble calibrado 06_ensemble_calibrado | Ensemble calibrado | Mejorar la calibracion de probabilidades del ensemble. | 11.976 4.000 sin pred. histórica | 74,96% útil 100,00% | 63,83% | 24/08/2026 08:33 | Ver |
| Ensemble selectivo 07_ensemble_selectivo | Ensemble selectivo | Subir el porcentaje de acierto seleccionando solo predicciones de alta confianza. | 3.259 8.717 neutras 4.000 sin pred. histórica | 74,96% útil 27,21% | 76,77% | 24/08/2026 08:39 | Ver |
| Comité especialistas 08_comite_especialistas | Comité de especialistas | Mejorar el acierto usando un experto distinto según el tipo de partido. | 11.976 4.000 sin pred. histórica | 74,96% útil 100,00% | 63,37% | 24/08/2026 08:48 | Ver |
| Modelo margen 09_modelo_margen_puntos | Modelo de margen | Predecir diferencia de puntos y convertirla en probabilidad de victoria. | 11.976 4.000 sin pred. histórica | 74,96% útil 100,00% | 65,03% | 24/08/2026 08:51 | Ver |
Naive Bayes + stats
04_naive_bayes_stats
Qué hace
Extiende el Naive Bayes anterior incorporando estadísticas rolling de equipo: tiro, rebote, asistencias, pérdidas, ritmo, posesiones y métricas de eficiencia.
Resumen de datos que usa
- Elo
- Racha reciente
- Diferenciales rolling de estadísticas de equipo
- Tipo de partido
Idea central
- Comprueba si añadir boxscore/equipo mejora al Naive Bayes base.
- No usa jugadores individualizados: trabaja con estadísticas agregadas por equipo.
- Mantiene la ventaja de ser rápido y sencillo, pero con más señales que el 03.
Features construidas
- Diferenciales Elo y rachas de 5 partidos.
- Diferenciales rolling de 10 partidos para tiro de campo, triples, libres, rebotes, asistencias y pérdidas.
- Diferenciales rolling de rating neto, eFG, TS, ritmo, posesiones y PIE.
tipo_partidocomo categórica.
Entrenamiento
- Usa
GaussianNBcon imputación y one-hot. - Guarda métricas en
metrics/nb_stats_metrics.json. - La selección incluye umbral óptimo además del corte estándar 0.5.
Backtest y aplicación
03_backtest.pyreconstruye el histórico actualizando estado después de cada partido.02_apply_future.pyusa el historial disponible para construir features de próximos partidos.- Escribe en
porcentajes_victoriaconmodelo=04_naive_bayes_stats.
Riesgos de lectura
- Es más sensible a contaminación porque las estadísticas de equipo vienen del mismo dominio que el marcador.
- Si las columnas rolling se calculan después de incorporar el partido actual, el acierto queda inflado.
- El Naive Bayes puede calibrar mal con muchas variables correlacionadas.
Validación resumida
Entrenamiento y backtest historico del propio script.
Salida resumida
Probabilidades historicas y futuras cuando hay datos suficientes.
Riesgo o lectura resumida
Las estadisticas de equipo deben estar cortadas antes del partido; si vienen del mismo partido contaminan.
Tablas implicadas
- partidos
- equipo_elo
- estadisticas_equipos_partido
- porcentajes_victoria
Ficheros y responsabilidad
-
01_python/03_modelos/04_naive_bayes_stats/01_train.py
Entrena Naive Bayes con estadísticas rolling. -
01_python/03_modelos/04_naive_bayes_stats/03_backtest.py
Backtest histórico cronológico. -
01_python/03_modelos/04_naive_bayes_stats/02_apply_future.py
Predicción de futuros.
Features técnicas del JSON de entrenamiento
Numéricas (17)
diff_eloabs_diff_eloracha_local_5racha_visitante_5diff_racha_5diff_fg_pct_10diff_tp_pct_10diff_ft_pct_10diff_reb_10diff_ast_10diff_tov_10diff_net_rating_10diff_efg_10diff_ts_10diff_pace_10diff_possessions_10diff_pie_10
Categóricas (1)
tipo_partido
Stats rolling (12)
porcentaje_tiros_campoporcentaje_triplesporcentaje_tiros_libresrebotes_totalesasistenciasperdidasrating_netoporcentaje_efectivo_tiroporcentaje_tiro_realritmoposesionespie
Acierto
62,57%
Evaluables
12.976
Aciertos
8.119
Fallos
4.857
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
14/06/2026 00:30
Última predicción
24/08/2026 08:26
Métricas de entrenamiento
Modelo JSON
04_naive_bayes_stats
Total dataset
15.976
Train
12.780
Test
3.196
Var smoothing
1.0E-9
Accuracy test @0.5
63,42%
Mejor umbral test
0.4
Accuracy mejor umbral
63,86%
LogLoss test
1,0144
Brier test
0,2740
ROC AUC test
0,6797