Logo Pista InteligentePista Inteligente
Pista Inteligente - Programa Hipódromo Chile y Club Hípico de Chile con Predicciones IA

🤖 Metodología de Inteligencia Artificial

Transparencia total sobre cómo funciona nuestro sistema predictivo. En esta página explicamos en detalle cada etapa de nuestro pipeline de Machine Learning, desde la recolección de datos hasta la publicación de las predicciones.

📊 Visión General del Pipeline

Nuestro sistema de predicciones opera como un pipeline automatizado de extremo a extremo: desde la recolección de datos de los hipódromos hasta la publicación de resultados en el frontend. El proceso se ejecuta automáticamente cada vez que se detectan nuevos programas de carreras.

📥
Scraping
🔄
ETL
🧮
Features
🎯
Inferencia
📤
Publicación

📥 Etapa 1: Recolección de Datos (Scraping)

El primer paso es obtener los datos. Nuestro sistema de scraping, desarrollado en Python con BeautifulSoup y requests, monitorea automáticamente las páginas oficiales de los hipódromos chilenos para detectar cuándo se publica un nuevo programa de carreras.

Una vez detectado un programa, se extraen los datos de todos los partantes: nombre del caballo, jinete, preparador, stud, haras, peso asignado, posición de partida, distancia de la carrera, categoría y condición de pista. Además, recopilamos los resultados de cada jornada una vez finalizada, incluyendo posiciones finales, tiempos y dividendos.

Estos datos se almacenan en una base de datos SQLite local para procesamiento rápido y posteriormente se sincronizan con Supabase (PostgreSQL en la nube) para alimentar el frontend.

🧮 Etapa 2: Ingeniería de Features

La calidad de las predicciones depende directamente de la calidad de las variables (features) que alimentan al modelo. Nuestro pipeline genera más de 50 features por cada caballo participante, agrupadas en las siguientes categorías:

Historial del Caballo

Win rate (porcentaje de victorias), place rate (top 2), show rate (top 3), tendencia de rendimiento reciente (últimas 3-5 carreras), rendimiento en la distancia específica, rendimiento en el hipódromo específico y categoría relativa.

Rendimiento del Jinete

Eficiencia general del jinete, eficiencia rolling (últimos 30/60/90 días), rendimiento en el hipódromo específico, y un feature de interacción jinete-caballo que mide el historial de la combinación específica.

Factores de Carrera

Posición de partida (riel interior vs exterior), peso asignado, días de descanso desde la última carrera, categoría de la carrera, distancia, y análisis de los rivales directos (fuerza del campo).

Features Categóricos

Preparador (entrenador), stud (propietario), haras de origen. Estos features se procesan mediante Target Encoding, que asigna a cada categoría el rendimiento promedio histórico observado.

🏗️ Etapa 3: Arquitectura del Modelo (Ensemble)

Utilizamos una arquitectura de Stacking Ensemble que combina tres modelos base de Gradient Boosting con un meta-learner. La idea central es que cada modelo comete errores diferentes, y al combinarlos, los errores individuales se compensan.

🔵 LightGBM (Modelo Principal)

Gradient Boosting optimizado para velocidad, usando crecimiento de árbol basado en histogramas. Es el modelo más rápido de entrenar y ofrece un excelente balance entre velocidad y precisión. Configurado con objetivo de ranking (LambdaRank) para optimizar directamente el orden de los caballos.

🟢 XGBoost (Modelo Secundario)

Extreme Gradient Boosting con regularización L1 y L2 para prevenir sobreajuste. Aporta robustez al ensemble gracias a su control avanzado de complejidad del modelo. Especialmente útil cuando los datos tienen ruido o patrones espurios.

🟡 CatBoost (Modelo Terciario)

Gradient Boosting especializado en variables categóricas de alta cardinalidad (como el nombre del jinete, preparador o haras). Implementa Target Statistics para encoding categórico nativo, sin necesidad de preprocesamiento manual, lo que reduce el riesgo de data leakage.

⚡ Meta-Learner: Ridge Regression

Las predicciones de los tres modelos base se combinan usando Ridge Regression (regresión lineal con regularización L2). Este meta-learner aprende cuánto peso asignar a cada modelo base según su rendimiento histórico, generando una predicción final más estable que cualquier modelo individual.

📐 Etapa 4: Calibración de Probabilidades

Los modelos de Gradient Boosting generan scores que no necesariamente representan probabilidades bien calibradas. Por ejemplo, un score de 0.70 no significa necesariamente que el caballo tenga 70% de probabilidad de ganar.

Para resolver esto, aplicamos Isotonic Regression como paso de post-procesamiento. Este calibrador no-paramétrico ajusta las probabilidades para que reflejen la frecuencia real de aciertos observada en datos históricos. Si el calibrador dice 0.30, significa que históricamente, los caballos con ese score aproximado han ganado aproximadamente el 30% de las veces.

La calibración es especialmente importante para que el Score de Confianza mostrado en las predicciones sea interpretable y no engañoso. Un score calibrado permite al usuario comparar directamente las probabilidades entre caballos de la misma carrera.

✅ Etapa 5: Validación y Monitoreo

No basta con entrenar un modelo una vez; es necesario monitorear continuamente su rendimiento para detectar degradación. Nuestro sistema implementa:

  • Validación temporal: Usamos los datos más recientes como conjunto de validación (time-series split), nunca datos aleatorios, para simular condiciones reales de predicción.
  • Métricas de rendimiento: Tasa de acierto para ganador exacto, quiniela (top 2), trifecta (top 3) y superfecta (top 4), calculadas y publicadas automáticamente.
  • Monitoreo de drift: Un script de detección de drift usando PSI (Population Stability Index) alerta si la distribución de los datos de entrada cambia significativamente, lo que podría indicar que el modelo necesita reentrenamiento.
  • Transparencia: Todas las métricas de rendimiento se muestran públicamente en la página de Precisión.

⚠️ Limitaciones del Modelo

En aras de la transparencia total, es importante mencionar las limitaciones conocidas de nuestro sistema:

  • Caballos debutantes: Para caballos sin historial de carreras, el modelo tiene información limitada y depende más del preparador, jinete y haras de origen.
  • Eventos atípicos: Incidentes durante la carrera (tropezones, interferencias, salidas falsas) son inherentemente impredecibles.
  • Cambios de último minuto: Sustituciones de jinete o retiros de último momento pueden afectar la precisión si ocurren después de la generación de predicciones.
  • Sesgo de datos: El modelo puede estar sesgado hacia patrones del pasado reciente, lo que mitigamos con monitoreo de drift y reentrenamiento periódico.

¿Quieres ver el modelo en acción?

Ver Predicciones de HoyRendimiento Verificado
Chat