Bundesliga Match Fact Abilități: Cuantificarea calităților jucătorilor de fotbal folosind învățarea automată pe AWS

Nodul sursă: 1195672

În fotbal, ca și în multe sporturi, discuțiile despre jucătorii individuali au făcut întotdeauna parte din distracție. „Cine este cel mai bun marcator?” sau „Cine este regele apărătorilor?” sunt întrebări dezbătute permanent de fani, iar rețelele de socializare amplifică această dezbatere. Luați în considerare doar că Erling Haaland, Robert Lewandowski și Thomas Müller au în total 50 de milioane de urmăritori pe Instagram. Mulți fani sunt conștienți de incredibilele statistici pe care le creează jucătorii vedete precum Lewandowski și Haaland, dar poveștile ca aceasta sunt doar vârful aisbergului.

Luați în considerare faptul că aproape 600 de jucători sunt sub contract în Bundesliga și fiecare echipă are propriii campioni - jucători care sunt prezentați pentru a aduce o anumită abilitate într-un meci. Uită-te, de exemplu, la Michael Gregoritsch de la FC Augsburg. În momentul în care scriu aceste articole (ziua 21), el a marcat cinci goluri în sezonul 21/22, ceea ce nu ar face pe cineva să-l menționeze într-o conversație despre marii marcatori. Dar să ne uităm mai atent: dacă acumulezi valorile așteptate ale golurilor (xGoals) ale tuturor șanselor de gol pe care le-a avut Gregoritsch în acest sezon, cifra pe care o obții este de 1.7. Aceasta înseamnă că a supraperformat la șuturile sale pe poartă cu +194%, marcând cu 3.2 goluri mai multe decât se aștepta. În comparație, Lewandowski a supraperformat cu doar 1.6 goluri (+7%). Ce ispravă! În mod clar, Gregoritsch aduce în Augsburg o abilitate specială.

Deci, cum facem lumină asupra tuturor poveștilor ascunse despre jucătorii individuali din Bundesliga, abilitățile lor și impactul asupra rezultatelor meciurilor? Introduceți noul Bundesliga Match Fact oferit de AWS numit Skill. Skill-ul a fost dezvoltat printr-o analiză aprofundată de către DFL și AWS pentru a identifica jucătorii cu abilități în patru categorii specifice: inițiator, finisher, câștigător de minge și sprinter. Această postare oferă o scufundare profundă în aceste patru abilități și discută despre modul în care sunt implementate în infrastructura AWS.

Un alt punct interesant este că până acum, Bundesliga Match Facts au fost dezvoltate independent unul de celălalt. Skill este primul Bundesliga Match Fact care combină rezultatele mai multor Bundesliga Match Fact în timp real, folosind o arhitectură de streaming construită pe Streaming gestionat de Amazon Kafka (Amazon MSK).

Iniţiator

Un inițiator este un jucător care efectuează un număr mare de prim și al doilea pase decisive. Pentru a identifica și cuantifica valoarea acelor asistențe, am introdus noua metrică xAssist. Se calculează urmărind ultima și a doua pasă înainte de un șut la poartă și atribuind respectivele valori xGoals acelor acțiuni. Un bun inițiator creează oportunități în circumstanțe provocatoare, completând cu succes treceri cu o rată de dificultate ridicată. Pentru a evalua cât de greu este să finalizați o anumită trecere, folosim cele existente xPass model. În această măsurătoare, excludem în mod intenționat centrele și loviturile libere pentru a ne concentra pe jucătorii care generează șanse de marcare cu pase decisive din jocul deschis.

Scorul de calificare se calculează cu următoarea formulă:

Să ne uităm la actualul inițiator de rang 1, Thomas Müller, ca exemplu. El a adunat o valoare xAssist de 9.23 la momentul scrierii acestei (ziua 21), ceea ce înseamnă că pasele sale pentru următorii jucători care au tras la poartă au generat o valoare totală xGoal de 9.23. Raportul xAssist pe 90 de minute este 0.46. Acest lucru poate fi calculat din timpul total de joc al sezonului curent, care este remarcabil - peste 1,804 minute de joc. Ca un al doilea asist, a generat o valoare totală de 3.80, ceea ce se traduce în 0.19 secunde asistă la 90 de minute. În total, 38 din cele 58 de pase decisive au fost pase dificile. Și ca un al doilea pasaj, 11 din cele 28 de pase ale sale au fost, de asemenea, pase dificile. Cu aceste statistici, Thomas Müller s-a catapultat pe primul loc în clasamentul inițiatorilor. Pentru comparație, următorul tabel prezintă valorile primelor trei actuale.

.. xAsist xAssistper90 xSecondAssist xSecondAssistper90 DificilPasesAssisted DificilTrecereAsistat2 Scor final
Thomas Müller – rangul 1 9.23 0.46 3.80 0.18 38 11 0.948
Serge Gnabry – rangul 2 3.94 0.25 2.54 0.16 15 11 0.516
Florian Wirtz – Locul 3 6.41 0.37 2.45 0.14 21 1 0.510

finisor

Un finisher este un jucător care este excepțional de bun la înscrierea de goluri. Are o eficiență ridicată la șuturi și îndeplinește multe goluri în funcție de timpul de joc. Abilitatea se bazează pe golurile reale marcate și pe diferența dintre golurile așteptate (xGoals). Acest lucru ne permite să evaluăm dacă șansele sunt bine exploatate. Să presupunem că doi atacanți au același număr de goluri. Sunt la fel de puternici? Sau unul dintre ei înscrie din circumstanțe ușoare, în timp ce celălalt termină în situații dificile? Cu eficiența loviturilor, se poate răspunde la acest lucru: dacă golurile marcate depășesc numărul de xGoals, un jucător are performanțe excesive și este un trăgător mai eficient decât media. Prin amploarea acestei diferențe, putem cuantifica măsura în care eficiența unui trăgător bate media.

Scorul de calificare se calculează cu următoarea formulă:

Pentru terminator, ne concentrăm mai mult pe obiective. Următorul tabel oferă o privire mai atentă asupra primelor trei actuale.

.. Goluri GoluriPer90 ShotEficiency Scor final
Robert Lewandowski – Locul 1 24 1.14 1.55 0.813
Erling Haaland – rangul 2 16 1.18 5.32 0.811
Patrik Schick – Locul 3 18 1.10 4.27 0.802

Robert Lewandowski a marcat 24 de goluri în acest sezon, ceea ce îl plasează pe primul loc. Deși Haaland are o eficiență mai mare în șuturi, tot nu este suficient ca Haaland să fie clasat pe primul loc, deoarece acordăm o pondere mai mare golurilor marcate. Acest lucru indică faptul că Lewandowski profită foarte mult atât de calitatea, cât și de cantitatea paselor decisive primite, deși el marchează excepțional de bine. Patrick Schick a marcat încă două goluri decât Haaland, dar are o rată mai mică de gol la 90 de minute și o eficiență mai mică a loviturilor.

Sprinter

Sprinterul are capacitatea fizică de a atinge viteze maxime mari și o face mai des decât alții. În acest scop, evaluăm vitezele maxime medii în toate jocurile din sezonul curent al unui jucător și includem frecvența sprinturilor pe 90 de minute, printre alte valori. Un sprint este luat în considerare dacă un jucător aleargă cu un ritm minim de 4.0 m/s timp de mai mult de două secunde și atinge o viteză maximă de cel puțin 6.3 m/s în acest timp. Durata sprintului este caracterizată de timpul dintre prima și ultima dată când este atins pragul de 6.3 m/s și trebuie să fie de cel puțin 1 secundă pentru a fi confirmat. Un nou sprint poate fi considerat a fi avut loc numai după ce ritmul a scăzut din nou sub pragul de 4.0 m/s.

Scorul de calificare se calculează cu următoarea formulă:

Formula ne permite să evaluăm numeroasele moduri în care putem privi sprinturile de către jucători și să mergem mai departe decât să ne uităm la vitezele maxime pe care acești jucători le produc. De exemplu, Jeremiah St. Juste are recordul actual al sezonului de 36.65 km/h. Cu toate acestea, dacă ne uităm la frecvența sprinturilor sale, aflăm că sprintează doar de nouă ori în medie pe meci! Pe de altă parte, Alphonso Davies s-ar putea să nu fie la fel de rapid ca St. Juste (viteză maximă 36.08 km/h), dar efectuează 31 de sprinturi uimitoare pe meci! Sprintează mult mai des la o viteză medie mult mai mare, deschizând spațiu pentru echipa sa pe teren.

Câștigătorul mingii

Un jucător cu această abilitate provoacă pierderi de minge echipei adverse, atât în ​​total, cât și în ceea ce privește timpul de joc. Câștigă un număr mare de dueluri la sol și aerian și fură sau interceptează mingea des, creând el însuși un control sigur al mingii și o posibilitate pentru echipa sa de a contraataca.

Scorul de calificare se calculează cu următoarea formulă:

În momentul de față, câștigătorul mingii pe primul loc este Danilo Soares. Are un total de 235 de dueluri defensive. Din cele 235 de dueluri defensive, el a câștigat 75, învingând adversarii într-o confruntare. El a interceptat 51 de mingi în acest sezon în poziția sa de joc ca fundaș defensiv, oferindu-i o rată de câștig de aproximativ 32%. În medie, a interceptat 2.4 mingi la 90 de minute.

Exemplu de îndemânare

Skill Bundesliga Match Fact ne permite să dezvăluim abilitățile și punctele forte ale jucătorilor din Bundesliga. Clasamentul Skill-ului pune jucători în centrul atenției, care ar fi putut trece neobservați înainte în clasamentele statisticilor convenționale, cum ar fi golurile. De exemplu, luați un jucător ca Michael Gregoritsch. Gregoritsch este un atacant al lui FC Augsburg, care s-a clasat pe locul șase în clasamentul finisherului din ziua 21. El a marcat până acum cinci goluri, ceea ce nu l-ar pune în fruntea niciunui clasament de goluri. Cu toate acestea, a reușit să facă acest lucru în doar 663 de minute jucate! Unul dintre aceste goluri a fost egalarea târzie din minutul 97, care l-a ajutat pe Augsburg să evite pierderea în deplasare de la Berlin.

Prin Skill Bundesliga Match Fact, putem recunoaște și diverse calități ale fiecărui jucător. Un exemplu în acest sens este starul de la Dortmund Erling Haaland, care a câștigat și insigna de sprinter și finisher, iar în prezent se află pe locul șase printre sprinterii din Bundesliga.

Toate aceste valori se bazează pe date despre mișcarea jucătorului, date legate de gol, date legate de acțiunea mingii și date legate de pase. Prelucrăm aceste informații în conducte de date și extragem statisticile relevante necesare pentru fiecare abilitate, permițându-ne să calculăm dezvoltarea tuturor valorilor în timp real. Multe dintre statisticile menționate mai sus sunt normalizate în funcție de timpul de pe teren, permițând luarea în considerare a jucătorilor care au puțin timp de joc, dar performează uimitor de bine atunci când joacă. Combinațiile și ponderile valorilor sunt combinate într-un singur scor. Rezultatul este un clasament pentru toți jucătorii pe abilitățile celor patru jucători. Jucătorii care se află în top 10 primesc o insignă de calificare pentru a ajuta fanii să identifice rapid calitățile excepționale pe care le aduc echipelor lor.

Implementare și arhitectură

Faptele meciurilor din Bundesliga care au fost dezvoltate până în acest moment sunt independente unele de altele și se bazează doar pe asimilarea datelor privind pozițiile și evenimentele, precum și pe propriile calcule. Cu toate acestea, acest lucru se modifică pentru noua abilitate Bundesliga Match Fact, care calculează clasarea aptitudinilor pe baza datelor produse de Match Facts existente, cum ar fi, de exemplu, xGoals sau xPass. Rezultatul unui eveniment, posibil un obiectiv incredibil cu șanse reduse de a participa, poate avea un impact semnificativ asupra clasamentului abilităților de finisher. Prin urmare, am construit o arhitectură care oferă întotdeauna cele mai actualizate clasamente ale competențelor ori de câte ori există o actualizare a datelor de bază. Pentru a obține actualizări în timp real ale competențelor, folosim Amazon MSK, un serviciu AWS gestionat pentru Apache Kafka, ca soluție de transmitere a datelor și de mesagerie. În acest fel, diferite date despre meciurile din Bundesliga pot comunica cele mai recente evenimente și actualizări în timp real.

Arhitectura de bază pentru Skill constă din patru părți principale:

  • An Clusterul Amazon Aurora Serverless stochează toate rezultatele de potrivire existente. Acestea includ, de exemplu, datele pentru fiecare pasă (cum ar fi xPass, jucător, receptor) sau șut (xGoal, jucător, gol) care s-a întâmplat de la introducerea Bundesliga Match Facts.
  • O centrală AWS Lambdas funcția scrie rezultatele Bundesliga Match Fact în baza de date Aurora și notifică alte componente că a existat o actualizare.
  • O funcție Lambda pentru fiecare abilitate individuală calculează clasarea abilităților. Aceste funcții rulează ori de câte ori sunt disponibile date noi pentru calcularea abilității specifice.
  • Un cluster Amazon MSK Kafka servește ca punct central de comunicare între toate aceste componente.

Următoarea diagramă ilustrează acest flux de lucru. Fiecare fapt de meci din Bundesliga trimite imediat un mesaj despre eveniment către Kafka ori de câte ori există o actualizare a unui eveniment (cum ar fi o valoare xGoals actualizată pentru un eveniment de lovituri). Funcția Lambda a dispecerului central este declanșată automat ori de câte ori un Bundesliga Match Fact trimite un astfel de mesaj și scrie aceste date în baza de date. Apoi trimite un alt mesaj prin Kafka, care conține noile date înapoi către Kafka, care servește ca declanșator pentru funcțiile individuale de calcul al aptitudinilor. Aceste funcții folosesc datele de la acest eveniment de declanșare, precum și clusterul Aurora subiacent, pentru a calcula și publica cele mai noi clasamente de abilități. Pentru o privire mai aprofundată asupra utilizării Amazon MSK în cadrul acestui proiect, consultați postarea de blog Set Piece Threat.

Rezumat

În această postare, am demonstrat cum noua abilitate Bundesliga Match Fact face posibilă compararea obiectivă a jucătorilor din Bundesliga pe patru dimensiuni de bază ale jucătorilor, bazându-se și combinând fostele date independente ale meciurilor din Bundesliga în timp real. Acest lucru le permite comentatorilor și fanilor deopotrivă să descopere abilitățile jucătorilor neobservate anterior și să facă lumină asupra rolurilor pe care le îndeplinesc diverși jucători din Bundesliga.

Noul Bundesliga Match Fact este rezultatul unei analize aprofundate de către experții din fotbal din Bundesliga și oamenii de știință de date AWS pentru a distila și clasifica calitățile jucătorilor de fotbal pe baza datelor obiective de performanță. Insignele de calificare a jucătorilor sunt afișate în lista și pe paginile cu detalii ale jucătorilor din aplicația Bundesliga. În cadrul emisiunii, abilitățile jucătorului sunt oferite comentatorilor prin intermediul găsitor de povești de date și afișat vizual fanilor la înlocuirea jucătorului și atunci când un jucător urcă în clasamentul respectiv de top 10.

Sperăm că vă place acest nou-nouț Bundesliga Match Fact și că vă oferă noi perspective asupra jocului. Pentru a afla mai multe despre parteneriatul dintre AWS și Bundesliga, vizitați Bundesliga pe AWS!


Despre Autori

Simon Rolfes a jucat 288 de meciuri în Bundesliga ca mijlocaș central, a marcat 41 de goluri și a câștigat 26 de selecții pentru Germania. În prezent, Rolfes este director sportiv la Bayer 04 Leverkusen, unde supraveghează și dezvoltă lista de jucători profesioniști, departamentul de scouting și dezvoltarea clubului pentru tineret. Simon scrie, de asemenea, rubrici săptămânale pe Bundesliga.com despre cele mai recente date despre meciurile din Bundesliga furnizate de AWS

Luuk Figdor este un specialist senior în tehnologie sportivă în echipa AWS Professional Services. Lucrează cu jucători, cluburi, ligi și companii media, cum ar fi Bundesliga și Formula 1, pentru a-i ajuta să spună povești cu date folosind învățarea automată. În timpul liber, îi place să învețe totul despre minte și despre intersecția dintre psihologie, economie și AI.

Pascal Kühner este un dezvoltator de aplicații cloud în echipa AWS Professional Services. El lucrează cu clienții din diverse industrii pentru a-i ajuta să-și atingă rezultatele de afaceri prin dezvoltarea de aplicații, DevOps și infrastructură. Este foarte pasionat de sport și îi place să joace baschet și fotbal în timpul liber.

Tareq Haschemi este consultant în cadrul AWS Professional Services. Abilitățile și domeniile sale de expertiză includ dezvoltarea de aplicații, știința datelor, învățarea automată și big data. Cu sediul în Hamburg, el sprijină clienții în dezvoltarea de aplicații bazate pe date în cloud. Înainte de a se alătura AWS, a fost și consultant în diverse industrii, cum ar fi aviația și telecomunicațiile. Este pasionat de a permite clienților călătoria lor de date/AI către cloud.

Jakub Michalczyk este Data Scientist la Sportec Solutions AG. În urmă cu câțiva ani, a ales studiile de matematică în locul jocului de fotbal, după cum a ajuns la concluzia că nu era suficient de bun la acesta din urmă. Acum el combină ambele pasiuni în cariera sa profesională, aplicând metode de învățare automată pentru a obține o perspectivă mai bună asupra acestui joc frumos. În timpul liber, îi place încă să joace fotbal cu șapte, să se uite la filme criminale și să asculte muzică de film.

Javier Poveda-Panter este Data Scientist pentru clienții de sport din EMEA în cadrul echipei AWS Professional Services. El permite clienților din zona sporturilor pentru spectatori să inoveze și să-și valorifice datele, oferind utilizatorilor și fanilor experiențe de înaltă calitate prin învățarea automată și știința datelor. Își urmărește pasiunea pentru o gamă largă de sporturi, muzică și IA în timpul liber.

Timestamp-ul:

Mai mult de la Învățare automată AWS