Suchen

Erfolg im Fußball besser verstehen

Autor / Redakteur: Marcelo Aberle, Mirko Janetzke und Lina Mongrand* / Nico Litzel

Wenn in einem Fußballspiel ein Tor fällt, sorgt das oft für lebhafte Diskussionen. Dabei kann man mittlerweile exakt berechnen, wie hoch die Wahrscheinlichkeit war – dank Künstlicher Intelligenz. Hierfür trägt die Deutsche Fußball Liga (DFL) in jeder Begegnung der ersten und zweiten Bundesliga über 3,6 Millionen Datenpunkte zusammen. Das Ergebnis ihrer Analyse findet sich in den xGoals (oder „Expected Goals“)-Statistiken der Bundesliga Match Facts powered by AWS.

Firmen zum Thema

Mit welcher Wahrscheinlichkeit geht der Ball in einer spezifischen Situation ins Netz? Antworten liefern die Echtzeitstatistiken des DFL.
Mit welcher Wahrscheinlichkeit geht der Ball in einer spezifischen Situation ins Netz? Antworten liefern die Echtzeitstatistiken des DFL.
(Bild: © ickup-stock.adobe.com)

Bei den xGoals oder „Expected Goals“ kann seit Mai 2020 jeder Fan sehen, mit welcher Wahrscheinlichkeit der Ball in einer spezifischen Situation ins Netz geht. Diese Echtzeitstatistiken erstellt die DFL mithilfe der Technologien von Amazon Web Service (AWS) mit Machine Learning (ML).Für Aufbau und Einsatz der ML-Modelle verwendet xGoals dabei den vollständig verwalteten Dienst Amazon SageMaker. Dabei bewertet xGoals die Torchancen objektiv und zeigt auch auf, ob ein Pass zu einem anderen Mitspieler eine höhere Torwahrscheinlichkeit ergeben hätte.

Quantifizierung von Chancen

Beim Spiel zwischen dem FC Bayern München und Borussia Dortmund am 26. Mai 2020 erzielte Josua Kimmich ein Traumtor. Unter Berücksichtigung der Entfernung und des Winkels zum Tor, der Anzahl der den Schützen umgebenden Spieler sowie anderer Faktoren lag die Erfolgswahrscheinlichkeit laut xGoals lediglich bei sechs Prozent. Zum Vergleich: Für das Verwandeln eines Elfmeters liegt die Torwahrscheinlichkeit bei 77 Prozent. Um solche Voraussagen zu treffen, ist eine datenbasierte, holistische Betrachtung der Ereignisse auf dem Spielfeld nötig – einschließlich der Positionen anderer Akteure. Nur wenn möglichst alle relevanten Informationen in das xGoals-ML-Modell einfließen, lassen sich akkurate Prognosen erstellen.

Umfangreiche Datenerfassung

Bei der Erstellung der Bundesliga Match Facts arbeiten zahlreiche Akteure zusammen. So erstellen einige Grafiken beziehungsweise andere Inhalte oder kommentieren das Spiel. Andere verfolgen mit 20 Kameras die Position der Spieler und des Balls. Redakteure verarbeiten zusätzliche Videodaten, wählen Kameraeinstellungen und bestimmen, wann die Bundesliga Match Facts auf dem Bildschirm erscheinen.

Die live dokumentierten Spielszenen werden anschließend an die DFL-Systeme übertragen, wo menschliche Betrachter den Verlauf sichten, kategorisieren und situationsspezifische Informationen hinzufügen. Diese Rohdaten werden dann in das Bundesliga Match Facts System auf AWS importiert. Daraus errechnet das System die xGoals-Werte und verteilt sie an die Medienpartner.

Der Weg zum Ziel

Um das cloudbasierte ML-Angebot zu realisieren, arbeiten die Führungsspitze der DFL sowie Entwickler und Management eng verzahnt mit dem AWS Professional Services Team zusammen. Am Anfang standen Bestandsaufnahme, Erhebung und Evaluation der gewünschten Ergebnisse, die dann in eine Analyse der betriebswirtschaftlichen und technischen Machbarkeit mündete. Die Berater von AWS Professional Services entwickelten dabei Proof of Concepts (POCs) sowie Minimum Viable Products (MVPs) und führten die erstellten ML-Lösungen in den Produktivbetrieb ein.

Eine besondere Rolle kommt der DFL-Tochterfirma Sportec Solutions zu. Sie führte interne Testläufe und ein erstes Prototyping durch. Zusätzlich ist eine Forschungsgemeinschaft im Sports-Analytics-Bereich involviert, die die Leistungsfähigkeit und Genauigkeit der Berechnungen steigern soll.

Basis für das Training der ML-basierten xGoals-Modelle sind Positions- und Ereignisdaten aus Spielen vergangener Meisterschaften. Zur Evaluation der Datenqualität und für erste Tests werden explorative Datenanalysen durchgeführt. Informationen werden in Amazon SageMaker Notebooks visualisiert, transformiert und validiert. Dann werden die ML-Workloads des Forschungs- und Analysestadiums in die tatsächliche Entwicklungsphase überführt. Bei der Erstellung von ML-Modellen ist darauf zu achten, dass eine interdisziplinäre Entwicklung aus Data Engineering, Data Science und der Softwareentwicklung stattfindet. Besonderes Augenmerk gilt hier dem Fehler-Management sowie Failover-Prozessen und Wiederherstellungsplänen. Weitere Bestandteile von ML Systementwicklung und -betrieb sind die Refaktorisierung und Optimierung von Code, Automatisierung, das Aufsetzen zugrundeliegender Cloud-Infrastruktur, die Einhaltung von Sicherheits- und DevOps-Standards, Ende-zu-Ende-Tests, Monitoring sowie ein umfassendes System-Design.

Amazon SageMaker Basis für das Training

Die Ereignisdaten, die dem ML-Training zugrunde liegen, sind manuell bestimmte Spielerpositionen. Hinzu kommen Positionsdaten, die mit einer Bildrate von 25 Hertz erfasst wurden, was die Qualität der Ergebnisse verbessert. Für das Training wurden über 40.000 Bundesliga-Torschüsse in den Amazon SageMaker XGBoost-Algorithmus mittels Standard-Trainingsskript (XGBoost als eingebauter Algorithmus) oder Skripten für zusätzliche Vor- und Nachverarbeitung (XGBoost als Framework) eingespeist. Das Amazon SageMaker Python SDK stellt die für eine Optimierung der XGBoost-Hyperparameter nötigen Cloud-Ressourcen zur Verfügung und erleichtert die automatische Ausführung und Skalierung des ML-Modell-Trainings im Programmcode.

Ein xGoals-Trainingsjob besteht aus einer binären Klassifikationsaufgabe mit Area Under the ROC Curve (AUC) als Performance-Metrik sowie aus einem ungleichmäßig verteilten Datensatz erfolgreich verwandelter und nicht-erfolgreicher Torschüsse. Hier werden verschiedene ML-Modell-Kandidaten durch einen bayesianischen Suchalgorithmus zur Optimierung von Hyperparametern gefunden. Dabei kann der Endpunkt aus Anwendungen wie AWS Lambda-Funktionen heraus oder innerhalb eines Amazon SageMaker Notebooks mittels API für Echtzeit-Interferenz aufgerufen werden. Wichtig für eine voll ausgereifte ML-Pipeline im Produktivbetrieb sind allerdings auch Komponenten der Cloud-Infrastruktur wie etwa die Integration, Bereinigung und Vorverarbeitung von Daten.

Implementierung und Architektur

Zu Beginn des Projekts stand die Definition einer Pipeline für die kontinuierliche Integration und Delivery/Deployment (CI/CD). Mehrere AWS-Konten wurden bei der Konzeption und Implementierung von Cloud-Architekturen jeweils für Development, Staging und Production verwendet. Bei der Bereitstellung der Cloud-Komponenten kommt ein Infrastructure-as-Code (IaC)-Ansatz zum Zuge, der eine getrennte, reproduzierbare und versionierte Cloud-Infrastruktur bei anwendungsspezifischen Code-Änderungen sicherstellt. Dies vereinfacht das Testen und verkürzt Entwicklungs- und Veröffentlichungszyklen.

Die xGoals-Architektur im Überblick
Die xGoals-Architektur im Überblick
(Bild: AWS)

Die Daten werden über zwei unterschiedliche Wege eingespeist. Die Informationen zu Positionen und Ereignissen empfängt die serverlose Datenverarbeitungseinheit für Container, AWS Fargate, Amazon API Gateway zusätzliche Metadaten wie etwa die Mannschaftsaufstellung. Kommen Daten im System an, übernehmen AWS Lambda-Funktionen einmalige und kurzlebige Aufgaben. Dazu gehören zum Beispiel der Abbau ungenutzter Ressourcen oder die teilweise Vorverarbeitung von Daten – etwa einfache ETL-Jobs zum Extrahieren, Transformieren und Laden. AWS Lambda wird zudem dafür genutzt, den Amazon SageMaker-Endpunkt und die xGoals-Berechnungsroutinen einzuleiten.

Gespeichert werden die Informationen in mehreren Datenbanken, in der Amazon DynamoDB, in einer Schlüssel-Werte-Datenbank sowie in der MongoDB-kompatiblen Dokumentendatenbank Amazon DocumentDB. Sie eignet sich besonders dort, wo flexible Schemata für eine schnelle und iterative Entwicklung notwendig sind. Offizielle Spieldaten, welche die xGoals-Modelle iterativ verbessern, werden im Amazon Simple Storage Service (Amazon S3) zentral gespeichert. Für die Kontrolle und Statusabfrage kommt eine AWS Amplify Web-Applikation zum Einsatz. Ein Dashboard zeigt hier den Zustand der Berechnungen und der Cloud-Infrastruktur und sammelt Metriken zur Evaluation gewünschter Geschäftsziele.

Die Bundesliga Match Facts-Architektur unterstützt bei Bedarf die Bereitstellung höherer Rechenleistung dynamisch und gibt diese, falls sie nicht mehr benötigt wird, automatisch frei. Zusätzlich sorgt die xGoals-Architektur für eine verbesserte Sichtbarkeit und Vereinfachung sowohl der Entwicklung als auch der Handhabung der Anwendung. Dabei ersparen es die vollständig verwalteten Amazon-Dienste der IT-Abteilung, Server oder andere grundlegende Infrastruktur-Komponenten zu betreiben und zu warten. Neben dem Nutzen, den die Fans aus dem Angebot ziehen, freuen sich die Betreiber über geringere Betriebskosten und Überkapazitäten.

Dieser Beitrag erschien zuerst auf unserer Partnerplattform Bigdata-Insider.de.

* Marcelo Aberle ist Data Scientist bei AWS Professional Services, Mirko Janetzke ist Head of IT Development bei Sportec Solutions und Lina Mongrand ist Senior Enterprise Services Manager bei AWS Professional Services

(ID:46998943)