Modellbildung
Im Rahmen dieses Projektes werden zwei verschiedene Ansätze zur Cluster-Modellbildung verfolgt und auf ihre Ergebnisse und Eignung für die Klassifizierung von Spielertypen aus Positionsdaten verglichen. Zum einen werden die Daten aus den erkannten und extrahierten Bewegungen auf Ebene einzelner Sprints aggregiert und in eine Liste mit sprintbezogenen Features gespeichert. Diese Feature-Liste dient als Basis für das erste Cluster-Modell und der Ansatz wird im späteren Verlauf zur Abkürzung als klassisch gekennzeichnet, da in den verschiedenen Algorithmen die Abstandsmaße der euklidischen Geometrie eingesetzt werden.
Im zweiten Modell wird mit dem Dynamic Time Warping (DTW) eine Methode zur Analyse und zum Vergleich von Zeitreihen eingesetzt. Mit Hilfe dieses Ansatzes wird gezielter auf den Verlauf und die Form der Bewegungen eingegangen. DTW eignet sich besonders gut, um phasenverschobene Bewegungen besser miteinander vergleichen zu können.
Modell 1: Klassisch, mit Feature-Liste
Das erste Cluster-Modell wird auf Basis einer Liste an Features erstellt. Diese Features sind die jeweils aggregierten Werte der einzelnen Datensätze eines Sprints. Ein zwei Sekunden langer Sprint besteht beispielsweise aus 50 Frames, welche dann gruppiert und aggregiert in einer Zeile gespeichert werden. Ein Feature ist zum Beispiel der Median der Beschleunigung, der maximale Wert der Geschwindigkeit oder die maximal auftretende prozentuale Beschleunigung des Sprints. Zusätzlich sind in der Liste Features enthalten, welche nicht direkt mit dem Sprint und seiner Form in Verbindung stehen, wie zum Beispiel die Anzahl Sprints pro Spiel oder der Bezug eines Sprints auf die gesamte durchschnittliche Geschwindigkeit des Spiels. Diese von der einzelnen Bewegung unabhängigen Features werden versuchsweise mitberücksichtigt und auf ihre Eignung zur Modellbildung getestet. In der folgenden Tabelle ist der exemplarische Aufbau des Datensatzes und der Features dargestellt:
Um ein geeignetes Cluster-Modell auf Basis der sprintbezogenen Features zu erhalten, werden die einzelnen Features systematisch auf ihre Eignung getestet. Dafür wird jedes Feature isoliert betrachtet und jeweils ein Modell mit Hilfe des k-Means-Algorithmus und ein hierarchisches Modell erstellt und mit den Kriterien der Entropie und dem Silhouette Koeffizient bewertet. Die erfolgreichsten Features werden im nächsten Schritt nacheinander zusammengeführt und daraus neue Modelle erstellt. Durch dieses Vorgehen werden die Features für das Zielmodell schrittweise hinzugefügt und nach jedem neuen Modell auf ihre Eignung zur Cluster-Bildung bewertet. Zum Ende dieser Modellbildungsphase hat sich aufgrund der niedrigen Entropie verbunden mit einem hohen Silhouette-Koeffizient ein Modell mit k=5 Features als die vielversprechendste Variante an Modellen herauskristallisiert.
Modell 2: Dynamik Time Warping Distanzen
Das zweite Cluster-Modell verwendet für die Einteilung und den Vergleich der Sprints das DTW-Verfahren als Abstandsmaß. Um verschieden lange Zeitreihen, wie die Sprints in diesem Projekt, miteinander vergleichen zu können, kann die Methode des Dynamic Time Warping (DTW) eingesetzt werden. DTW ist laut Wang et al. (2013) die relevanteste Methode zur Bestimmung der Distanzen zwischen mehreren Zeitreihen. Das deutlich robustere Distanzmaß lässt sich auch auf ähnliche Formen von Sequenzen und Zeitreihen anwenden, welche phasenverschoben sind. DTW erlaubt eine elastische Verschiebung der Zeitachse bei der Berechnung der Distanz zwischen zwei Sequenzen.
Um ein Cluster-Modell mit der DTW-Methode zu erzeugen, wird im ersten Schritt eine Abstands-Matrix berechnet, welche für jede Kombination den Abstand von zwei Sprints berechnet. Damit diese Matrix in Python berechnet werden kann, wird als Eingabe ein Array mit allen Sprints jeweils in Form einer Zeitreihe benötigt. Dafür wird aus dem gelabelten Datensatz jeder Sprint nacheinander als Array in Form einer Zeit-reihe extrahiert und dann in ein größeres Array gespeichert, welches alle einzelnen Sprints enthalten soll.
Dieses Array wird nun als Eingabe in die Python-Funktion von Meert et al. (2020) zur Berechnung aller Abstände aus der Menge aller Sprints gegeben. Das Ergebnis ist eine symmetrische Distanz-Matrix der Größe n×n, wie in Tabelle XX dargestellt.:
Grundlage sind in diesem Modell die Sprints aus zehn kompletten Spielen von Projektpartner Borussia Mönchengladbach. Insgesamt sind in diesem Datensatz 1995 Sprints enthalten.
Vergleichbar mit der klassischen Modellbildung aus dem vorherigen Abschnitt werden auch unter Verwendung der DTW-Abstände Eingabeparameter für die Anzahl an Clustern n, die Anzahl an Iterationen im k-Means-Algorithmus und Bewertungskriterien wie die Entropie und der Silhouette-Koeffizient verwendet. Im weiteren Verlauf dieser Projektphase wird die Anzahl an Clustern mit dem Ellenbogenkriterium bestimmt und die Modelle jeweils mit der Entropie bewertet. Der k-Means-Algorithmus wird mit 20 Iterationen aufgerufen, da sich ab diesem Wert die Ergebnisse in Form des Entropie-Wertes nicht mehr weiter verbessert haben.
Ergebnis dieser Phase des Projekts ist ein Cluster-Modell, berechnet mit dem DTW-Abstandsmaß und einer Anzahl von k=7 verschiedenen Clustern.
Letzte Phase:
In der abschließenden Phase des Projekts habe ich verschiedene Spielerprofile definiert und die Spieler in diese Profile eingeteilt. Grundlage dafür sind die Ergebnisse des Clustering-Modells auf Basis des DTW-Ansatzes. In der folgenden Abbildung ist ein Prototyp veranschaulicht, welcher eine mögliche Analyse von Spielern und verschiedenen Spielerprofilen ermöglichen kann. Dafür ist das Bewegungsprofil eines Spielers in einem Spinnen-Diagramm dargestellt, wodurch die Verteilung seiner Sprints in die verschiedenen Sprint-Cluster abgelesen werden kann. Die Ausprägungen in diesem Spinnen-Diagramm beschreiben hier jeweils eine Bewegungs-Kategorie, welche exemplarisch nach ihren Charakteristiken benannt ist. Beispielsweise sind die Sprints von Spieler 1 (grünes Profil) etwa zu 22% in der Sprint-Kategorie „med_intens_>5sec_4Acc“ zu finden. Diese Kategorie beschreibt Sprints mit:
- mittlerer Intensität auf Basis zur Ausgangssituation,
- Dauer > 5 Sekunden,
- 4 Beschleunigungsphasen in der Bewegung.
Fazit:
Aus den Positionsdaten einer Saison konnte ich verschiedene Cluster von Spielerprofilen definieren. Mit Hilfe dieser Klassifizierung sollen Scoutingentscheidungen unterstützt und die Eignung eines Spielers auf taktische Vorgaben getestet werden. In einem ersten Prototyp konnte ich andeuten, wohin die Auswertung von Positionsdaten mit Methoden des maschinellen Lernens führen kann und welche graphischen Aufbereitungen und Analysen in Zukunft möglich sind.
Jetzt steht der nächste Schritt der Entwicklung und der Auswertung von Positionsdaten an! Haben Sie einen vergleichbaren Use Case oder finden das Thema einfach spannend? Sprechen Sie mich gerne an – unser sportbegeistertes Team an Data Scientists steht ihnen gerne bei Fragen rund um das Thema Data Science und speziell Sports Analytics gerne zur Seite!