Bundesliga Match Fact Skill: cuantificación de las cualidades de los jugadores de fútbol mediante el aprendizaje automático en AWS

Nodo de origen: 1195672

En el fútbol, ​​como en muchos deportes, las discusiones sobre jugadores individuales siempre han sido parte de la diversión. “¿Quién es el mejor anotador?” o "¿Quién es el rey de los defensores?" son preguntas perennemente debatidas por los fanáticos, y las redes sociales amplifican este debate. Solo considere que Erling Haaland, Robert Lewandowski y Thomas Müller tienen un total combinado de 50 millones de seguidores en Instagram. Muchos fanáticos son conscientes de las increíbles estadísticas que crean jugadores estrella como Lewandowski y Haaland, pero historias como esta son solo la punta del iceberg.

Considere que casi 600 jugadores están bajo contrato en la Bundesliga, y cada equipo tiene sus propios campeones, jugadores que se presentan para aportar una habilidad específica en un partido. Mire, por ejemplo, a Michael Gregoritsch del FC Augsburg. Hasta el momento (jornada 21), lleva cinco goles en la temporada 21/22, algo que no haría que nadie lo mencionara en una conversación sobre los grandes goleadores. Pero miremos más de cerca: si acumula los valores de goles esperados (xGoals) de todas las oportunidades de gol que tuvo Gregoritsch esta temporada, la cifra que obtiene es 1.7. Esto significa que tuvo un rendimiento superior en sus tiros a puerta en un +194 %, anotando 3.2 goles más de lo esperado. En comparación, Lewandowski superó su desempeño por solo 1.6 goles (+7%). ¡Qué hazaña! Claramente, Gregoritsch aporta una habilidad especial a Augsburgo.

Entonces, ¿cómo arrojamos luz sobre todas las historias ocultas sobre jugadores individuales de la Bundesliga, sus habilidades y el impacto en los resultados de los partidos? Ingrese el nuevo Bundesliga Match Fact impulsado por AWS llamado Skill. La habilidad se ha desarrollado a través de un análisis en profundidad por parte de la DFL y la AWS para identificar a los jugadores con habilidades en cuatro categorías específicas: iniciador, finalizador, ganador de la pelota y velocista. Esta publicación proporciona una inmersión profunda en estas cuatro habilidades y analiza cómo se implementan en la infraestructura de AWS.

Otro punto interesante es que hasta ahora, Bundesliga Match Facts se ha desarrollado de forma independiente entre sí. Skill es el primer Bundesliga Match Fact que combina la salida de múltiples Bundesliga Match Facts en tiempo real utilizando una arquitectura de transmisión basada en Streaming gestionado por Amazon Kafka (Amazon MSK).

Iniciador

Un iniciador es un jugador que realiza una gran cantidad de valiosas primeras y segundas asistencias. Para identificar y cuantificar el valor de esas asistencias, presentamos la nueva métrica xAssist. Se calcula rastreando el último y penúltimo pase antes de un tiro a puerta, y asignando el valor xGoals respectivo a esas acciones. Un buen iniciador crea oportunidades en circunstancias desafiantes al completar con éxito pases con una tasa de dificultad alta. Para evaluar qué tan difícil es completar un pase dado, usamos nuestro pase x modelo. En esta métrica, excluimos deliberadamente los centros y los tiros libres para centrarnos en los jugadores que generan oportunidades de gol con sus asistencias precisas desde el juego abierto.

La puntuación de habilidad se calcula con la siguiente fórmula:

Veamos al actual iniciador de Rango 1, Thomas Müller, como ejemplo. Ha acumulado un valor de xAssist de 9.23 a fecha de este escrito (jornada 21), lo que significa que sus pases a los siguientes jugadores que dispararon a portería han generado un valor total de xGoal de 9.23. La relación xAssist por 90 minutos es de 0.46. Esto se puede calcular a partir de su tiempo de juego total de la temporada actual, que es notable: más de 1,804 minutos de tiempo de juego. Como segunda asistencia, generó un valor total de 3.80, lo que se traduce en 0.19 segundos de asistencia cada 90 minutos. En total, 38 de sus 58 primeras asistencias fueron pases difíciles. Y como segunda asistencia, 11 de sus 28 pases también fueron pases difíciles. Con estas estadísticas, Thomas Müller se ha catapultado al primer puesto del ranking de iniciadores. A modo de comparación, la siguiente tabla presenta los valores de los tres principales actuales.

.. xAsistir xAsistenteper90 xSegundaAsistencia xSecondAssistper90 DifícilPasesAsistidos DifícilPasesAsistido2 Resultado Final
Thomas Müller – Puesto 1 9.23 0.46 3.80 0.18 38 11 0.948
Serge Gnabry – Rango 2 3.94 0.25 2.54 0.16 15 11 0.516
Florian Wirtz – Puesto 3 6.41 0.37 2.45 0.14 21 1 0.510

Acabador

Un finalizador es un jugador excepcionalmente bueno marcando goles. Tiene una alta eficiencia de tiro y logra muchos goles con respecto a su tiempo de juego. La habilidad se basa en los goles reales marcados y su diferencia con los goles esperados (xGoals). Esto nos permite evaluar si las ocasiones están siendo bien aprovechadas. Supongamos que dos delanteros tienen el mismo número de goles. ¿Son igual de fuertes? ¿O uno de ellos anota en circunstancias fáciles mientras que el otro termina en situaciones difíciles? Con la eficiencia del tiro, esto se puede responder: si los goles marcados superan el número de xGoals, un jugador tiene un rendimiento superior y es un tirador más eficiente que el promedio. A través de la magnitud de esta diferencia, podemos cuantificar hasta qué punto la eficiencia de un tirador supera el promedio.

La puntuación de habilidad se calcula con la siguiente fórmula:

Para el finisher, nos centramos más en los goles. La siguiente tabla ofrece una mirada más cercana a los tres principales actuales.

.. Goals GolesPer90 DisparoEficiencia Resultado Final
Robert Lewandowski – Puesto 1 24 1.14 1.55 0.813
Erling Haaland – Rango 2 16 1.18 5.32 0.811
Patrik Schick – Rango 3 18 1.10 4.27 0.802

Robert Lewandowski ha marcado 24 goles esta temporada, lo que le sitúa en el primer puesto. Aunque Haaland tiene una eficacia de tiro más alta, todavía no es suficiente para que Haaland ocupe el primer lugar, porque damos mayor peso a los goles marcados. Esto indica que Lewandowski se beneficia mucho tanto de la calidad como de la cantidad de asistencias recibidas, aunque anota excepcionalmente bien. Patrick Schick ha marcado dos goles más que Haaland, pero tiene una tasa de goles por 90 minutos más baja y una eficiencia de tiro más baja.

velocista

El velocista tiene la capacidad física para alcanzar altas velocidades máximas y lo hace con más frecuencia que otros. Para este propósito, evaluamos las velocidades máximas promedio en todos los juegos de la temporada actual de un jugador e incluimos la frecuencia de los sprints por 90 minutos, entre otras métricas. Se cuenta un sprint si un jugador corre a un ritmo mínimo de 4.0 m/s durante más de dos segundos y alcanza una velocidad máxima de al menos 6.3 m/s durante este tiempo. La duración del sprint se caracteriza por el tiempo entre la primera y la última vez que se alcanza el umbral de 6.3 m/s, y debe tener al menos 1 segundo de duración para que se reconozca. Solo se puede considerar que se ha producido un nuevo sprint después de que el ritmo haya vuelto a caer por debajo del umbral de 4.0 m/s.

La puntuación de habilidad se calcula con la siguiente fórmula:

La fórmula nos permite evaluar las muchas formas en que podemos ver los sprints de los jugadores e ir más allá de solo mirar las velocidades máximas que producen estos jugadores. Por ejemplo, Jeremiah St. Juste tiene el récord de la temporada actual de 36.65 km/h. Sin embargo, si observamos la frecuencia de sus sprints, ¡encontramos que solo corre nueve veces en promedio por partido! Alphonso Davies, por otro lado, puede que no sea tan rápido como St. Juste (velocidad máxima de 36.08 km/h), ¡pero realiza la asombrosa cantidad de 31 sprints por partido! Corre con mucha más frecuencia a una velocidad media mucho más alta, abriendo espacio para su equipo en el campo.

ganador de la pelota

Un jugador con esta habilidad provoca pérdidas de balón al equipo contrario, tanto en el total como en su tiempo de juego. Gana una gran cantidad de duelos terrestres y aéreos, y roba o intercepta el balón a menudo, creando un control seguro del balón y la posibilidad de que su equipo contraataque.

La puntuación de habilidad se calcula con la siguiente fórmula:

Al escribir estas líneas, el ganador de la pelota del primer lugar es Danilo Soares. Lleva un total de 235 duelos defensivos. De los 235 duelos defensivos, ha ganado 75, derrotando a los rivales en un cara a cara. Ha interceptado 51 balones esta temporada en su posición de juego como back defensivo, lo que le da una tasa de victorias de alrededor del 32%. En promedio, interceptó 2.4 balones por 90 minutos.

Ejemplo de habilidad

El Skill Bundesliga Match Fact nos permite revelar las habilidades y fortalezas de los jugadores de la Bundesliga. Las clasificaciones de habilidades ponen en el centro de atención a jugadores que podrían haber pasado desapercibidos antes en las clasificaciones de estadísticas convencionales como los goles. Por ejemplo, tome un jugador como Michael Gregoritsch. Gregoritsch es un delantero del FC Augsburg que ocupaba el sexto lugar en el ranking de finalistas a partir de la jornada 21. Ha marcado cinco goles hasta ahora, lo que no lo colocaría en la cima de ningún ranking de goleadores. ¡Sin embargo, logró hacer esto en solo 663 minutos jugados! Uno de estos goles fue el empate tardío en el minuto 97 que ayudó al Augsburgo a evitar la derrota fuera de casa en Berlín.

A través del Skill Bundesliga Match Fact, también podemos reconocer varias cualidades de cada jugador. Un ejemplo de esto es la estrella del Dortmund Erling Haaland, quien también se ganó la insignia de velocista y finisher, y actualmente ocupa el sexto lugar entre los velocistas de la Bundesliga.

Todas estas métricas se basan en datos de movimiento del jugador, datos relacionados con goles, datos relacionados con la acción del balón y datos relacionados con pases. Procesamos esta información en canalizaciones de datos y extraemos las estadísticas relevantes necesarias por habilidad, lo que nos permite calcular el desarrollo de todas las métricas en tiempo real. Muchas de las estadísticas antes mencionadas están normalizadas por tiempo en el campo, lo que permite considerar a jugadores que tienen poco tiempo de juego pero se desempeñan increíblemente bien cuando juegan. Las combinaciones y pesos de las métricas se combinan en una sola puntuación. El resultado es una clasificación para todos los jugadores en las habilidades de los cuatro jugadores. Los jugadores clasificados entre los 10 primeros reciben una insignia de habilidad para ayudar a los fanáticos a identificar rápidamente las cualidades excepcionales que aportan a sus escuadrones.

Implementación y arquitectura

Bundesliga Match Facts que se han desarrollado hasta este punto son independientes entre sí y se basan únicamente en la ingestión de datos de posición y de eventos, así como en sus propios cálculos. Sin embargo, esto cambia para la nueva Bundesliga Match Fact Skill, que calcula las clasificaciones de habilidad en función de los datos producidos por Match Facts existentes, como por ejemplo xGoals o xPass. El resultado de un evento, posiblemente un gol increíble con pocas posibilidades de entrar, puede tener un impacto significativo en la clasificación de habilidades de los finalistas. Por lo tanto, creamos una arquitectura que siempre proporciona las clasificaciones de habilidades más actualizadas cada vez que hay una actualización de los datos subyacentes. Para lograr actualizaciones en tiempo real de las habilidades, utilizamos Amazon MSK, un servicio de AWS administrado para Apache Kafka, como una solución de mensajería y transmisión de datos. De esta manera, diferentes Bundesliga Match Facts pueden comunicar los últimos eventos y actualizaciones en tiempo real.

La arquitectura subyacente de Skill consta de cuatro partes principales:

  • An Clúster sin servidor de Amazon Aurora almacena todas las salidas de los hechos de coincidencia existentes. Esto incluye, por ejemplo, datos para cada pase (como xPass, jugador, receptor previsto) o tiro (xGoal, jugador, gol) que ha ocurrido desde la introducción de Bundesliga Match Facts.
  • Una central AWS Lambda La función escribe los resultados de Bundesliga Match Fact en la base de datos de Aurora y notifica a otros componentes que ha habido una actualización.
  • Una función Lambda para cada habilidad individual calcula la clasificación de habilidades. Estas funciones se ejecutan cada vez que hay nuevos datos disponibles para el cálculo de la habilidad específica.
  • Un clúster de Amazon MSK Kafka sirve como punto central de comunicación entre todos estos componentes.

El siguiente diagrama ilustra este flujo de trabajo. Cada hecho de partido de la Bundesliga envía inmediatamente un mensaje de evento a Kafka cada vez que hay una actualización de un evento (como un valor actualizado de xGoals para un evento de tiro). La función Lambda del despachador central se activa automáticamente cada vez que un hecho de partido de la Bundesliga envía un mensaje de este tipo y escribe estos datos en la base de datos. Luego, envía otro mensaje a través de Kafka que contiene los nuevos datos a Kafka, que sirve como disparador para las funciones de cálculo de habilidades individuales. Estas funciones utilizan datos de este evento desencadenante, así como del clúster de Aurora subyacente, para calcular y publicar las clasificaciones de habilidades más recientes. Para obtener una mirada más detallada sobre el uso de Amazon MSK dentro de este proyecto, consulte la publicación de blog Set Piece Threat.

Resumen

En esta publicación, demostramos cómo la nueva Bundesliga Match Fact Skill hace posible comparar de manera objetiva a los jugadores de la Bundesliga en cuatro dimensiones principales de jugadores, basándose y combinando Bundesliga Match Facts independientes anteriores en tiempo real. Esto permite a los comentaristas y fanáticos descubrir las habilidades de los jugadores que antes pasaban desapercibidas y arrojar luz sobre los roles que cumplen varios jugadores de la Bundesliga.

El nuevo Bundesliga Match Fact es el resultado de un análisis en profundidad realizado por los expertos en fútbol de la Bundesliga y los científicos de datos de AWS para destilar y categorizar las cualidades de los jugadores de fútbol en función de los datos de rendimiento objetivos. Las insignias de habilidades de los jugadores se muestran en la alineación y en las páginas de detalles de los jugadores en la aplicación de la Bundesliga. En la transmisión, las habilidades de los jugadores se proporcionan a los comentaristas a través del buscador de historias de datos y se muestra visualmente a los fanáticos en la sustitución de jugadores y cuando un jugador asciende a la respectiva clasificación de los 10 primeros.

Esperamos que disfrute de este nuevo Bundesliga Match Fact y que le brinde nuevos conocimientos sobre el juego. Para obtener más información sobre la asociación entre AWS y la Bundesliga, visite Bundesliga en AWS!


Acerca de los autores

Simón Rolfes Jugó 288 partidos de la Bundesliga como mediocampista central, marcó 41 goles y ganó 26 partidos con Alemania. Actualmente, Rolfes se desempeña como director deportivo en Bayer 04 Leverkusen, donde supervisa y desarrolla la lista de jugadores profesionales, el departamento de exploración y el desarrollo juvenil del club. Simon también escribe columnas semanales en Bundesliga.com sobre los últimos datos de los partidos de la Bundesliga impulsados ​​por AWS

Luuk Figdor es especialista sénior en tecnología deportiva en el equipo de servicios profesionales de AWS. Trabaja con jugadores, clubes, ligas y empresas de medios como la Bundesliga y la Fórmula 1 para ayudarlos a contar historias con datos mediante el aprendizaje automático. En su tiempo libre, le gusta aprender todo sobre la mente y la intersección entre psicología, economía e IA.

pascal kühner es un desarrollador de aplicaciones en la nube en el equipo de servicios profesionales de AWS. Trabaja con clientes de todas las industrias para ayudarlos a lograr sus resultados comerciales a través del desarrollo de aplicaciones, DevOps e infraestructura. Es un apasionado de los deportes y disfruta jugando al baloncesto y al fútbol en su tiempo libre.

Tarek Haschemi es consultor de AWS Professional Services. Sus habilidades y áreas de especialización incluyen desarrollo de aplicaciones, ciencia de datos, aprendizaje automático y big data. Con sede en Hamburgo, apoya a los clientes en el desarrollo de aplicaciones basadas en datos dentro de la nube. Antes de unirse a AWS, también fue consultor en varias industrias, como la aviación y las telecomunicaciones. Le apasiona ayudar a los clientes en su viaje de datos/IA a la nube.

Jakub Michalczyk es científico de datos en Sportec Solutions AG. Hace varios años, eligió estudiar matemáticas en lugar de jugar al fútbol, ​​y llegó a la conclusión de que no era lo suficientemente bueno en este último. Ahora combina ambas pasiones en su carrera profesional mediante la aplicación de métodos de aprendizaje automático para obtener una mejor visión de este hermoso juego. En su tiempo libre, todavía le gusta jugar al fútbol siete, ver películas policíacas y escuchar música de cine.

Javier Poveda Panter es científico de datos para clientes deportivos de EMEA dentro del equipo de servicios profesionales de AWS. Permite a los clientes en el área de los deportes para espectadores innovar y capitalizar sus datos, brindando experiencias de alta calidad para usuarios y fanáticos a través del aprendizaje automático y la ciencia de datos. Sigue su pasión por una amplia gama de deportes, música e inteligencia artificial en su tiempo libre.

Sello de tiempo:

Mas de Aprendizaje automático de AWS