Predecir los resultados del Super Bowl 2023 usando Python

Feb 11 2023
Faltan solo unos días para el Super Bowl de la NFL y, de hecho, me siento emocionado por este año. Como persona curiosa, no puedo esperar unos días más para ver al ganador, así que pensé que sería interesante intentar predecir el ganador de antemano.

Faltan solo unos días para el Super Bowl de la NFL y, de hecho, me siento emocionado por este año. Como persona curiosa, no puedo esperar unos días más para ver al ganador, así que pensé que sería interesante intentar predecir el ganador de antemano. Usé Python y RandomForest Classifier para predecir el ganador y luego usé Regressor para adivinar el puntaje. Esta es mi manera de predecir el resultado del Super Bowl.

los datos

Lo primero es lo primero. Así que he comenzado con los datos. Después de un poco de investigación y una breve descripción de las estadísticas, me di cuenta de que no tiene mucho sentido mirar los datos que no sean la última temporada. Demasiadas variables están cambiando con el tiempo. Nuevos jugadores, nuevos fichajes, nuevas estrategias y lesiones. Todo esto hace que el juego sea tan impredecible e interesante de ver. Entonces, usé solo las estadísticas de la temporada 2022 para predecir el resultado del Super Bowl. Por supuesto, me dejó con solo 17 juegos para cada equipo. No es mucho de un dato si no decir peor. Pero veamos hasta dónde podemos llegar con él.

Los datos que utilicé incluyen todos los juegos de la temporada 2022. Entonces, en total hay 532 filas de información valiosa. He usado las siguientes métricas para el análisis.

Observé 32 equipos de la NFL durante la última temporada y tomé el núcleo, así que aquí están los diagramas de dispersión para las métricas del equipo para cada juego de la temporada.

Los diagramas de dispersión muestran la correlación entre cualquier par de métricas dentro del marco de datos.

Mirando brevemente los datos, no puedo notar ninguna correlación lineal entre el rendimiento del equipo y los puntajes que esperaban obtener durante el juego. Asumiría que las yardas por tierra son más significativas que las yardas por pase y el número de pérdidas de balón tienden a correlacionarse con un juego aéreo.

Lo siguiente que debe observar antes de continuar con la predicción es la varianza de la métrica principal. ¿Cuál es el rango de puntuación que necesito para apuntar?

La puntuación total se reparte en torno a los 44 pts por partido

Distribución de los pts totales por partido

Y el Score para ganadores y perdedores ronda los 28 y 17 pts respectivamente

Distribución de los pts para ganadores y perdedores
El histograma de las puntuaciones obtenidas por ganadores y perdedores.

Equipos objetivo

Como tengo la suerte de ver el inicio del Super Bowl en un par de días, ya sé qué equipos van a competir por el trofeo. Con una ayuda tan grande, la predicción debería ser tan fácil como elegir entre A y B. Entonces, echemos un vistazo más de cerca a los equipos.

Kansas City Chiefs, quienes ganaron el Super Bowl dos veces en su historia. La última vez en 2019. No hace mucho tiempo.

Philadelphia Eagles acaba de ganar una vez en su historia, que fue en 2018. Ok, parece que esto no nos acercará a elegir el juego favorito. Veamos el desempeño de los equipos durante la última temporada.

Parece que ambos equipos son igualmente fuertes. Lo único que puedo notar es que Phila tiende a ganar más Rushing Yard por juego, ya que los Chiefs son mejores en pases. Bien, veamos hasta dónde podemos llegar con estos datos.

Clasificador RandomForest para predecir el ganador

Al principio, dividamos los datos en conjuntos de datos de entrenamiento y prueba. Eso significa aún menos datos para entrenar el modelo, pero al menos podemos verificar si podemos predecir algo o no.

Dividir los datos en conjuntos de datos de entrenamiento y prueba

Cuando elijo predictores para construir mi modelo, tengo que ignorar factores como el juego local/visitante y el número de juego en la temporada, ya que es el mismo para ambos equipos.

Según los datos, RF puede hacer una predicción con una tasa de precisión del 73,6 %.
La puntuación de precisión es 0.731

¡Aquí vamos! El modelo que hemos construido puede predecir el ganador en 106 de 145 juegos y el perdedor en 98 de 132 juegos. Lo que nos da una puntuación de precisión de 0,731. Absolutamente no está mal para una información tan limitada.

Y he aquí el momento de la Verdad. ¿Quién ganará?

Águilas!

Ta-dam. Chiefs puede perder el juego con el , lo que significa una victoria para Eagles con un 73,6 % de precisión.

RandomForest Regressor para predecir la puntuación

En el futuro, es posible que queramos saber el resultado potencial del juego. Y aquí usaremos RandomForest Regressor para construir el modelo para datos nominales.

Ok, parece que predecir el puntaje es una tarea más complicada incluso para modelos avanzados de ML. Aquí solo tenemos una tasa de precisión del 62,16 %. Ok, veamos a dónde nos llevaría.

Usando las métricas centrales para cada equipo tenemos la predicción de...

RandomForest Regressor para predecir la puntuación

24–31. ¡Águilas gana!

resumen

¡Ahí lo tenemos! Ahora tenemos un pronóstico que tiene en cuenta las estadísticas de la temporada, el rendimiento de los equipos y predice el ganador del juego del Super Bowl. Por supuesto, la probabilidad del puntaje final es bastante menor al 100% y no puedo decir que apostaría por eso. Pero este resultado parece más probable que suceda que cualquier otro. Este modelo se puede desarrollar aún más, agregando más factores al análisis, como: estadísticas del mariscal de campo, informe de lesiones, condiciones climáticas, etc. Entonces, más adelante intentaremos generar una predicción más precisa.

Enlaces

  • Cuaderno original de Jupyter
  • LinkedIn