Golver

Machine Learning en Predicción de Fútbol: Algoritmos, Datos de Entrenamiento y Aplicación a Apuestas

Cargando...

Los algoritmos de machine learning detectan patrones invisibles para el análisis humano

En 2023 pasé tres meses construyendo un modelo de regresión logística para predecir resultados de LaLiga. Funcionaba razonablemente bien — yield del 3,2% en backtesting. Luego, por curiosidad, entrené un random forest con las mismas variables. El yield en backtesting saltó al 4,8%. La diferencia no estaba en los datos — eran idénticos — sino en la capacidad del algoritmo para capturar interacciones no lineales entre variables que mi regresión logística simplemente no podia modelar.

Las estrategias ganadoras se basan cada vez más en modelos estadísticos y machine learning que calculan probabilidades con precisión superior a los metodos tradicionales. Los analistas del sector anticipan que la inteligencia artificial explicable y los sistemas de certificacion etica marcaran la diferencia entre lideres y rezagados en los próximos años. El machine learning no es una bala magica — he visto más modelos de ML fracasar que triunfar — pero cuando esta bien ejecutado, ofrece una ventaja que los metodos clásicos no pueden igualar.

Algoritmos principales: regresión logística, random forest, redes neuronales

No voy a convertir esto en una clase de ciencia de datos, pero si necesitas entender que hace cada algoritmo a nivel conceptual para decidir cual usar — o para evaluar si un servicio de predicciones que usa «inteligencia artificial» esta haciendo algo real o simplemente vistiendo una regresión con palabras de moda.

La regresión logística es el punto de partida. Es un modelo lineal que estima la probabilidad de cada resultado (victoria local, empate, victoria visitante) basandose en una combinacion ponderada de variables. Sus ventajas: es interpretable — puedes ver exactamente cuánto contribuye cada variable a la predicción — y es rápida de entrenar. Su limitacion: solo captura relaciones lineales. Si la ventaja de campo vale más cuando la diferencia de xG entre equipos es pequena que cuando es grande, la regresión logística no puede modelar esa interacción sin que tu la especifiques manualmente.

El random forest es un conjunto de cientos de árboles de decisión que votan sobre el resultado más probable. Cada arbol se entrena con una muestra aleatoria de los datos y un subconjunto aleatorio de variables. La media de todos los árboles produce predicciones robustas y resistentes al sobreajuste. Su ventaja principal: captura interacciones complejas entre variables de forma automática. Su limitacion: es una «caja negra» relativa — puedes ver que variables son importantes globalmente, pero no exactamente como interactuan en cada predicción individual.

Las redes neuronales son el extremo de la complejidad. Pueden modelar relaciones no lineales de orden arbitrario, lo que las hace potentisimas en teoria. En la práctica, para predicción de fútbol, rara vez superan al random forest de forma significativa. La razón es que el fútbol tiene relativamente pocas variables relevantes y relativamente poco volumen de datos comparado con, digamos, reconocimiento de imagenes. Las redes neuronales brillan con millónes de datos y cientos de variables; con los pocos miles de partidos de una liga y 10-15 variables significativas, tienden al sobreajuste.

Mi recomendación tras años de experimentar: empieza con regresión logística para entender tus datos. Pasa a random forest cuando quieras capturar interacciones no lineales. Reserva las redes neuronales para cuando tengas un volumen de datos excepciónal — multiples ligas, datos a nivel de jugador, datos de tracking — y la experiencia para gestionar su complejidad.

Datos de entrenamiento: que necesitas y donde conseguirlo

Un algoritmo de machine learning es tan bueno cómo los datos con los que se alimenta. Los modelos de xG estan entrenados con casi un millón de tiros históricos e integran más de 20 variables por disparo — eso da una idea del volumen que necesitas para que el ML aporte valor real sobre los metodos simples.

Los datos mínimos para un modelo de ML funcional son: resultados de partidos, cuotas de apertura y cierre, métricas de xG por equipo (o por tiro si quieres más granularidad), y estadísticas básicas — posesión, tiros, corners, faltas. Estos datos estan disponibles en fuentes publicas y semigratuitas para las principales ligas europeas.

Para un modelo avanzado, necesitas ademas: datos a nivel de jugador (xG individual, minutos jugados, pases completados en el último tercio), datos de alineaciones confirmadas, datos de tracking físico (distancia recorrida, sprints, presión alta) y, idealmente, datos de flujos de apuestas — cuánto dinero se mueve en cada lado del mercado. Estos datos requieren suscripciones de pago que van desde los 50 hasta los 500 euros mensuales.

Una trampa comun: usar datos de toda la temporada para predecir partidos de esa misma temporada. El ML necesita datos estrictamente anteriores al partido que predice — nunca datos del futuro. Si tu conjunto de entrenamiento incluye datos de la jornada 30 para predecir la jornada 15, tu modelo parece brillante en backtesting pero es inutil en la realidad. La disciplina temporal en los datos es innegociable.

ML frente a modelos clasicos: cuando compensa la complejidad adicional

8 de los 10 mejores modelos predictivos de fútbol utilizan datos xG, independientemente de si son clásicos o basados en ML. La diferencia no esta en el tipo de datos sino en cómo los procesan. La pregunta práctica es: merece la pena la complejidad adicional del ML respecto a un modelo clásico bien construido?

Mi respuesta, basada en experiencia directa con ambos enfoques, es: depende de tu volumen de datos y de tu tolerancia a la opacidad. Si operas solo en LaLiga con datos a nivel de equipo — unos 380 partidos por temporada — un random forest no tiene suficientes datos para superar consistentemente a una regresión logística bien especificada. Si operas en cinco ligas simultáneamente con datos a nivel de jugador — 2.000 o más partidos por temporada — el ML empieza a detectar patrones que la regresión no puede capturar.

El coste oculto del ML es el mantenimiento. Un modelo de regresión logística con seis variables puedes revisarlo y recalibrarlo en una tarde. Un random forest con 200 árboles y 15 variables requiere un pipeline de datos automatizado, monitorizacion continua del rendimiento y recalibracion periodica. Si no tienes tiempo ni conocimientos técnicos para mantener ese pipeline, el modelo se degrada sin que te des cuenta.

Mi setup actual: un modelo base de regresión logística para selecciones rápidas y un modelo de random forest para apuestas con mayor stake donde la precisión adicional justifica el esfuerzo de análisis. Ambos alimentados por las mismas fuentes de datos de xG pero procesados de forma diferente. El modelo clásico cubre el 70% de mis apuestas; el ML cubre el 30% restante con los picks de mayor confianza. Si todavía no has construido tu primer modelo clásico, empieza por ahi — la guía de expected goals es el mejor punto de partida para entender los datos que alimentaran cualquier algoritmo.

Es necesario un equipo de datos para usar machine learning en apuestas?
No. Un apostador individual con conocimientos básicos de Python puede construir y operar un modelo de random forest. Las librerias de ML como scikit-learn tienen implementaciones listas para usar que requieren pocas líneas de código. Lo que si necesitas es dedicar tiempo al preprocesamiento de datos y a la validacion rigurosa — eso ocupa el 80% del trabajo, no el algoritmo en si.
Qué precisión alcanzan los modelos de machine learning en predicción de fútbol?
Un modelo de ML bien construido para las cinco grandes ligas europeas alcanza típicamente un 50-55% de precisión en el mercado 1X2 — parece modesto pero supera al azar con tres resultados posibles que es del 33%. Lo relevante no es la precisión bruta sino la calibración: si el modelo dice 60% y el resultado ocurre el 60% de las veces, el modelo es util aunque no acierte siempre. La rentabilidad viene de la calibración, no de la tasa de acierto.