Bundesliga Match Fact Skill: Kwantyfikowanie cech piłkarza przy użyciu uczenia maszynowego w AWS

Węzeł źródłowy: 1195672

W piłce nożnej, podobnie jak w wielu innych dyscyplinach sportu, dyskusje na temat poszczególnych zawodników zawsze były częścią zabawy. „Kto jest najlepszym strzelcem?” lub „Kto jest królem obrońców?” to pytania, nad którymi fani nieustannie debatują, a media społecznościowe wzmacniają tę debatę. Weźcie pod uwagę, że sami Erling Haaland, Robert Lewandowski i Thomas Müller mają łącznie 50 milionów obserwujących na Instagramie. Wielu fanów jest świadomych niesamowitych statystyk, jakie tworzą gwiazdy takie jak Lewandowski i Haaland, ale takie historie to tylko wierzchołek góry lodowej.

Weź pod uwagę, że w Bundeslidze kontrakty ma prawie 600 zawodników, a każda drużyna ma swoich mistrzów — zawodników, których przedstawia się, aby wnieśli określone umiejętności do wykorzystania w meczu. Spójrz na przykład na Michaela Gregoritscha z FC Augsburg. W chwili pisania tego tekstu (21. kolejka) strzelił pięć goli w sezonie 21/22, a nie jest to coś, co spowodowałoby, że ktokolwiek wspomniałby o nim w rozmowie o świetnych strzelcach. Ale przyjrzyjmy się bliżej: jeśli zsumujesz oczekiwane wartości bramek (xGoals) wszystkich szans na zdobycie bramki przez Gregoritscha w tym sezonie, otrzymasz liczbę 1.7. Oznacza to, że jego skuteczność w strzałach na bramkę przekroczyła oczekiwania o +194%, strzelając o 3.2 goli więcej, niż oczekiwano. Dla porównania Lewandowski strzelił zaledwie 1.6 gola (+7%). Co za wyczyn! Najwyraźniej Gregoritsch wnosi do Augsburga szczególne umiejętności.

Jak zatem rzucić światło na wszystkie ukryte historie dotyczące poszczególnych zawodników Bundesligi, ich umiejętności i wpływu na wyniki meczów? Wprowadź nowy fakt dotyczący meczu Bundesligi obsługiwany przez AWS o nazwie Skill. Umiejętność została opracowana w drodze dogłębnej analizy przeprowadzonej przez DFL i AWS w celu zidentyfikowania graczy posiadających umiejętności w czterech konkretnych kategoriach: inicjator, finiszujący, zdobywca piłki i sprinter. W tym poście szczegółowo omawiamy te cztery umiejętności i omawiamy sposób ich implementacji w infrastrukturze AWS.

Kolejną interesującą kwestią jest to, że do tej pory informacje o meczach Bundesligi były opracowywane niezależnie od siebie. Skill to pierwszy fakt na temat meczów Bundesligi, który łączy w sobie dane wyjściowe wielu faktów na temat meczów Bundesligi w czasie rzeczywistym, wykorzystując architekturę przesyłania strumieniowego zbudowaną na Streaming zarządzany przez Amazon Kafka (Amazon MSK).

Inicjator

Inicjator to zawodnik, który wykonuje dużą liczbę cennych pierwszych i drugich asyst. Aby zidentyfikować i określić ilościowo wartość tych asyst, wprowadziliśmy nowy wskaźnik xAssist. Oblicza się go, śledząc ostatnie i przedostatnie podanie przed strzałem na bramkę i przypisując tym działaniom odpowiednią wartość xGoals. Dobry inicjator stwarza możliwości w trudnych okolicznościach, pomyślnie kończąc przejścia z wysokim stopniem trudności. Aby ocenić, jak trudno jest ukończyć dane przejście, korzystamy z naszych istniejących xPass Model. W tym wskaźniku celowo wykluczamy dośrodkowania i rzuty wolne, aby skupić się na zawodnikach, którzy generują szanse na zdobycie bramki dzięki precyzyjnym asystom w otwartej grze.

Wynik umiejętności oblicza się według następującego wzoru:

Spójrzmy na przykład na obecnego inicjatora rangi 1, Thomasa Müllera. W chwili pisania tego tekstu (9.23. kolejka) uzyskał wartość xAssist wynoszącą 21, co oznacza, że ​​jego podania dla kolejnych zawodników, którzy strzelili na bramkę, wygenerowały łączną wartość xGoal wynoszącą 9.23. Współczynnik xAssist na 90 minut wynosi 0.46. Można to obliczyć na podstawie jego całkowitego czasu gry w bieżącym sezonie, co jest niezwykłe – ponad 1,804 minut gry. Jako drugą asystę wygenerował łączną wartość 3.80, co przekłada się na 0.19 sekundy asysty na 90 minut. W sumie 38 z 58 jego pierwszych asyst było trudnymi podaniami. A jako druga asysta, 11 z jego 28 podań było również trudnych. Dzięki tym statystykom Thomas Müller katapultował się na pierwsze miejsce w rankingu inicjatorów. Dla porównania poniższa tabela przedstawia wartości aktualnej trójki.

.. xAsystent xAsystent90 xDruga pomoc xDrugi Asystent90 Trudne podania z asystą Trudne Podania Z Asystą 2 Wynik końcowy
Tomasz Müller – Miejsce 1 9.23 0.46 3.80 0.18 38 11 0.948
Serge Gnabry – Miejsce 2 3.94 0.25 2.54 0.16 15 11 0.516
Florian Wirtz – Miejsce 3 6.41 0.37 2.45 0.14 21 1 0.510

Apreter

Finisher to zawodnik, który wyjątkowo dobrze radzi sobie ze strzelaniem bramek. Cechuje się dużą skutecznością strzałów i osiąga wiele bramek stosownie do swojego czasu gry. Umiejętność opiera się na faktycznie zdobytych bramkach i ich różnicy w stosunku do oczekiwanych bramek (xGoals). Pozwala to ocenić, czy szanse są dobrze wykorzystywane. Załóżmy, że dwóch napastników ma tę samą liczbę bramek. Czy są równie mocne? A może jeden z nich zdobywa punkty w łatwych okolicznościach, a drugi kończy w trudnych sytuacjach? Jeśli chodzi o efektywność strzałów, można odpowiedzieć na to pytanie: jeśli zdobyte bramki przekraczają liczbę xGoals, zawodnik osiąga ponadprzeciętne wyniki i jest strzelcem skuteczniejszym niż przeciętnie. Dzięki wielkości tej różnicy możemy określić ilościowo, w jakim stopniu skuteczność strzelca przewyższa średnią.

Wynik umiejętności oblicza się według następującego wzoru:

Jeśli chodzi o strzelca, skupiamy się bardziej na celach. Poniższa tabela przedstawia bliższe spojrzenie na obecną trójkę najlepszych.

.. Gole Bramki na 90 Wydajność strzału Wynik końcowy
Robert Lewandowski – Miejsce 1 24 1.14 1.55 0.813
Erling Haaland – Stopień 2 16 1.18 5.32 0.811
Patryk Schick – Miejsce 3 18 1.10 4.27 0.802

Robert Lewandowski strzelił w sezonie 24 gole, co plasuje go na pierwszym miejscu. Chociaż Haaland ma wyższą skuteczność strzałów, to wciąż nie wystarczy, aby Haaland zajął pierwsze miejsce w rankingu, ponieważ większą wagę przywiązujemy do zdobytych bramek. Oznacza to, że Lewandowski czerpie duże korzyści zarówno z jakości, jak i ilości otrzymywanych asyst, mimo że notuje wyjątkowo dobre wyniki. Patrick Schick strzelił o dwa gole więcej niż Haaland, ale ma niższy wskaźnik goli na 90 minut i niższą skuteczność strzałów.

sprinter

Sprinter ma fizyczną zdolność do osiągania dużych prędkości maksymalnych i robi to częściej niż inni. W tym celu oceniamy średnie prędkości maksymalne we wszystkich meczach bieżącego sezonu zawodnika i uwzględniamy między innymi częstotliwość sprintów na 90 minut. Do sprintu zalicza się biegnięcie zawodnika z prędkością minimalną 4.0 m/s przez ponad dwie sekundy i osiągnięcie w tym czasie prędkości maksymalnej wynoszącej co najmniej 6.3 m/s. Czas trwania sprintu charakteryzuje się czasem między pierwszym a ostatnim osiągnięciem progu 6.3 m/s i aby został uznany, musi wynosić co najmniej 1 sekundę. Nowy sprint można uznać za wykonany dopiero wtedy, gdy prędkość ponownie spadnie poniżej progu 4.0 m/s.

Wynik umiejętności oblicza się według następującego wzoru:

Wzór pozwala nam ocenić, na wiele sposobów możemy spojrzeć na sprinty graczy i wyjść poza samo patrzenie na maksymalne prędkości osiągane przez tych graczy. Na przykład Jeremiah St. Juste ma aktualny rekord sezonu wynoszący 36.65 km/h. Jeśli jednak przyjrzymy się częstotliwości jego sprintów, okaże się, że wykonuje on średnio tylko dziewięć sprintów na mecz! Z drugiej strony Alphonso Davies może nie jest tak szybki jak St. Juste (maksymalna prędkość 36.08 km/h), ale wykonuje oszałamiające 31 sprintów na mecz! Sprintuje znacznie częściej i ze znacznie większą średnią prędkością, otwierając swojemu zespołowi miejsce na boisku.

Zwycięzca piłki

Zawodnik posiadający tę zdolność powoduje straty piłek drużyny przeciwnej, zarówno w sumie, jak i w zależności od jego czasu gry. Wygrywa dużą liczbę pojedynków w parterze i w powietrzu, często przechwytuje lub kradnie piłkę, zapewniając sobie bezpieczną kontrolę nad piłką i możliwość kontrataku swojej drużyny.

Wynik umiejętności oblicza się według następującego wzoru:

W chwili pisania tego tekstu zdobywcą piłki pierwszego miejsca jest Danilo Soares. Łącznie rozegrał 235 pojedynków w defensywie. Z 235 pojedynków obronnych wygrał 75, pokonując przeciwników w bezpośrednim starciu. W sezonie, na swojej pozycji defensywnego obrońcy, przechwycił 51 piłek, co dało mu wskaźnik zwycięstw na poziomie około 32%. Przechwytywał średnio 2.4 piłki na 90 minut.

Przykład umiejętności

Skill Bundesliga Match Fact pozwala nam odkryć umiejętności i mocne strony zawodników Bundesligi. Rankingi umiejętności stawiają graczy w centrum uwagi, co mogło wcześniej pozostać niezauważone w rankingach konwencjonalnych statystyk, takich jak bramki. Weźmy na przykład gracza takiego jak Michael Gregoritsch. Gregoritsch to napastnik drużyny FC Augsburg, który na dzień 21. kolejki zajmował szóste miejsce w rankingu finalistów. Do tej pory strzelił pięć goli, co nie stawiałoby go na szczycie żadnego rankingu strzelców bramek. Udało mu się tego jednak dokonać w ciągu zaledwie 663 minut gry! Jednym z tych goli było wyrównanie w końcówce w 97. minucie, które pomogło Augsburgowi uniknąć porażki na wyjeździe w Berlinie.

Dzięki faktom dotyczącym meczu Skill Bundesliga możemy również rozpoznać różne cechy każdego gracza. Jednym z przykładów jest gwiazda Dortmundu Erling Haaland, który zdobył także miano sprintera i finiszera, a obecnie zajmuje szóste miejsce wśród sprinterów Bundesligi.

Wszystkie te wskaźniki opierają się na danych dotyczących ruchu zawodników, danych dotyczących bramek, danych związanych z akcjami piłki i danymi związanymi z podaniami. Przetwarzamy te informacje w potokach danych i wyodrębniamy niezbędne statystyki dla każdej umiejętności, co pozwala nam obliczyć rozwój wszystkich wskaźników w czasie rzeczywistym. Wiele z wyżej wymienionych statystyk jest normalizowanych według czasu spędzonego na boisku, co pozwala uwzględnić zawodników, którzy mają mało czasu na grę, ale radzą sobie zdumiewająco dobrze. Kombinacje i wagi metryk są łączone w jeden wynik. Wynikiem jest ranking wszystkich graczy według umiejętności czterech graczy. Gracze znajdujący się w pierwszej dziesiątce otrzymają odznakę umiejętności, która pomoże fanom szybko rozpoznać wyjątkowe cechy, jakie wnoszą do swoich drużyn.

Implementacja i architektura

Fakty dotyczące meczów Bundesligi, które zostały opracowane do tego momentu, są od siebie niezależne i opierają się wyłącznie na danych dotyczących pozycji i wydarzeń, a także na ich własnych obliczeniach. Zmienia się to jednak w przypadku nowej umiejętności Bundesliga Match Fact Skill, która oblicza rankingi umiejętności na podstawie danych generowanych przez istniejące fakty meczowe, takie jak na przykład xGoals lub xPass. Wynik jednego wydarzenia, na przykład niesamowity gol z niskimi szansami na zdobycie bramki, może mieć znaczący wpływ na ranking umiejętności finalisty. Dlatego stworzyliśmy architekturę, która zawsze zapewnia najbardziej aktualne rankingi umiejętności, gdy tylko następuje aktualizacja podstawowych danych. Aby móc aktualizować umiejętności w czasie rzeczywistym, korzystamy z Amazon MSK, zarządzanej usługi AWS dla Apache Kafka, jako rozwiązania do przesyłania strumieniowego danych i przesyłania wiadomości. W ten sposób różne fakty dotyczące meczów Bundesligi mogą przekazywać najnowsze wydarzenia i aktualizacje w czasie rzeczywistym.

Podstawowa architektura umiejętności składa się z czterech głównych części:

  • An Klaster bezserwerowy Amazon Aurora przechowuje wszystkie wyniki istniejących faktów dopasowania. Obejmuje to na przykład dane dotyczące każdego podania (np. xPass, zawodnik, zamierzony odbiorca) lub strzału (xGoal, zawodnik, gol), które miały miejsce od czasu wprowadzenia faktów meczowych Bundesligi.
  • Centralny AWS Lambda funkcja zapisuje dane wyjściowe dotyczące faktów meczowych Bundesligi do bazy danych Aurora i powiadamia inne komponenty o aktualizacji.
  • Funkcja Lambda dla każdej indywidualnej umiejętności oblicza ranking umiejętności. Funkcje te są uruchamiane zawsze, gdy dostępne są nowe dane do obliczenia konkretnej umiejętności.
  • Klaster Amazon MSK Kafka służy jako centralny punkt komunikacji pomiędzy wszystkimi tymi komponentami.

Poniższy diagram ilustruje ten przepływ pracy. Każdy fakt dotyczący meczu Bundesligi natychmiast wysyła wiadomość o zdarzeniu do Kafki za każdym razem, gdy pojawia się aktualizacja wydarzenia (np. zaktualizowana wartość xGoals dla zdarzenia związanego ze strzałem). Funkcja centralnego dyspozytora Lambda jest uruchamiana automatycznie za każdym razem, gdy Bundesliga Match Fact wysyła taką wiadomość i zapisuje te dane do bazy danych. Następnie wysyła kolejną wiadomość za pośrednictwem Kafki zawierającą nowe dane z powrotem do Kafki, co służy jako wyzwalacz dla funkcji obliczania indywidualnych umiejętności. Funkcje te wykorzystują dane z tego zdarzenia wyzwalającego, a także z bazowego klastra Aurora, do obliczania i publikowania najnowszych rankingów umiejętności. Bardziej szczegółowe informacje na temat wykorzystania Amazon MSK w tym projekcie można znaleźć w poście na blogu Set Piece Threat.

Podsumowanie

W tym poście pokazaliśmy, jak nowa funkcja Bundesliga Match Fact Skill umożliwia obiektywne porównywanie graczy Bundesligi pod kątem czterech głównych wymiarów zawodników, opierając się na i łącząc w czasie rzeczywistym wcześniejsze niezależne informacje o meczach Bundesligi. Pozwala to zarówno komentatorom, jak i fanom odkryć niezauważone wcześniej umiejętności zawodników i rzucić światło na role, jakie pełnią różni gracze Bundesligi.

Nowy raport Bundesliga Match Fact jest wynikiem dogłębnej analizy przeprowadzonej przez ekspertów piłkarskich Bundesligi i naukowców zajmujących się danymi AWS, których celem jest wyodrębnienie i kategoryzowanie cech piłkarzy w oparciu o obiektywne dane dotyczące wyników. Odznaki umiejętności zawodników są wyświetlane w składzie i na stronach ze szczegółowymi informacjami o zawodnikach w aplikacji Bundesligi. Podczas transmisji umiejętności zawodników są udostępniane komentatorom za pośrednictwem wyszukiwarka historii danych i wizualnie pokazywane fanom podczas zmiany zawodnika oraz gdy zawodnik awansuje do odpowiedniej 10-tki w rankingu.

Mamy nadzieję, że spodoba ci się ten nowy fakt o meczu w Bundeslidze i że dostarczy ci on nowych informacji na temat gry. Aby dowiedzieć się więcej o partnerstwie AWS i Bundesligi, odwiedź Bundesliga na AWS!


O autorach

Szymon Rolfes rozegrał 288 meczów Bundesligi jako środkowy pomocnik, strzelił 41 goli i wygrał 26 meczów dla Niemiec. Obecnie Rolfes pełni funkcję dyrektora sportowego w Bayer 04 Leverkusen, gdzie nadzoruje i rozwija skład profesjonalnych graczy, dział skautingu i rozwój młodzieży w klubie. Simon pisze również cotygodniowe felietony na Bundesliga.com o najnowszych faktach meczowych Bundesligi zasilanych przez AWS

Łukasz Figdor jest starszym specjalistą ds. technologii sportowych w zespole AWS Professional Services. Współpracuje z zawodnikami, klubami, ligami i firmami medialnymi, takimi jak Bundesliga i Formuła 1, aby pomóc im opowiadać historie za pomocą danych za pomocą uczenia maszynowego. W wolnym czasie lubi dowiadywać się wszystkiego o umyśle i powiązaniach psychologii, ekonomii i sztucznej inteligencji.

Pascala Kühnera jest programistą aplikacji chmurowych w zespole usług profesjonalnych AWS. Współpracuje z klientami z różnych branż, aby pomóc im osiągnąć wyniki biznesowe poprzez rozwój aplikacji, DevOps i infrastrukturę. Jego pasją jest sport, a w wolnym czasie gra w koszykówkę i piłkę nożną.

Tarek Haschemi jest konsultantem w AWS Professional Services. Jego umiejętności i obszary specjalizacji obejmują tworzenie aplikacji, analizę danych, uczenie maszynowe i duże zbiory danych. Mieszka w Hamburgu i wspiera klientów w tworzeniu aplikacji opartych na danych w chmurze. Przed dołączeniem do AWS był także konsultantem w różnych branżach, takich jak lotnictwo i telekomunikacja. Jego pasją jest umożliwianie klientom podróży w oparciu o dane/sztuczną inteligencję do chmury.

Jakuba Michalczyka jest analitykiem danych w Sportec Solutions AG. Kilka lat temu przedłożył studia matematyczne nad grę w piłkę nożną, bo doszedł do wniosku, że w tym drugim nie jest wystarczająco dobry. Teraz łączy obie te pasje w swojej karierze zawodowej, stosując metody uczenia maszynowego, aby uzyskać lepszy wgląd w tę piękną grę. W wolnym czasie nadal lubi grać w siatkówkę, oglądać filmy kryminalne i słuchać muzyki filmowej.

Javiera Povedy-Pantera jest analitykiem danych dla klientów sportowych z regionu EMEA w zespole AWS Professional Services. Umożliwia klientom w dziedzinie sportów widowiskowych wprowadzanie innowacji i wykorzystywanie ich danych, zapewniając wysokiej jakości wrażenia użytkowników i fanów dzięki uczeniu maszynowemu i nauce danych. W wolnym czasie podąża za swoją pasją do szerokiej gamy sportów, muzyki i sztucznej inteligencji.

Znak czasu:

Więcej z Uczenie maszynowe AWS