Fatti sulla partita della Bundesliga Probabilità di vincita: quantificazione dell'effetto degli eventi di gioco sulle possibilità di vincita utilizzando l'apprendimento automatico su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Bundesliga Match Fact Probabilità di vincita: quantificare l'effetto degli eventi in-game sulle possibilità di vincita utilizzando l'apprendimento automatico su AWS

Tra dieci anni, l'idoneità tecnologica dei club sarà un fattore chiave per il loro successo. Oggi stiamo già assistendo al potenziale della tecnologia per rivoluzionare la comprensione del calcio. xGoal quantifica e consente il confronto del potenziale da rete di qualsiasi situazione di tiro, mentre xMinaccia ed EPV i modelli predicono il valore di qualsiasi momento di gioco. In definitiva, queste e altre statistiche avanzate hanno uno scopo: migliorare la comprensione di chi vincerà e perché. Entra nel nuovo Match Fact della Bundesliga: Probabilità di vittoria.

Nella seconda partita del Bayern contro il Bochum la scorsa stagione, la situazione si è ribaltata inaspettatamente. All'inizio della partita, Lewandowski segna 1:0 dopo soli 9 minuti. Il "Topo grigio" del campionato ricorda immediatamente il disastro di 7:0 quando ha affrontato il Bayern per la prima volta in quella stagione. Ma non questa volta: Christopher Antwi-Adjei segna il suo primo gol per il club solo 5 minuti dopo. Dopo aver ideato un rigore al 38', il Monaco di Baviera sembra paralizzata e le cose cominciano a esplodere: Gamboa noce moscata a Coman e chiude con un assoluto tappatore di rete, e Holtmann chiude il primo tempo con un mestolo sul 4:1 da sinistra. Il Bayern non aveva concepito così tanti gol nel primo tempo dal 1975 ed è stato a malapena in grado di andare via con un risultato di 4:2. Chi potrebbe averlo indovinato? Entrambe le squadre hanno giocato senza i primi portieri, il che per il Bayern significava perdere il loro capitano Manuel Neuer. La sua presenza avrebbe potuto salvarli da questo risultato inaspettato?

Allo stesso modo, il Colonia ha ottenuto due straordinari zingers nella stagione 2020/2021. Quando hanno affrontato il Dortmund, avevano perso 18 partite senza vittorie, mentre Haaland del BVB stava fornendo una lezione di maestri nel segnare gol in quella stagione (23 in 22 partite). Il ruolo del favorito era chiaro, eppure il Colonia si portava in vantaggio con appena 9 minuti sul cronometro. All'inizio del secondo tempo, Skhiri ha segnato un gol in copia carbone del suo primo: 0:2. Il Dortmund ha sostituito la forza offensiva, ha creato grandi occasioni e ha segnato 1:2. Di tutti i giocatori, Haaland ha saltato un giocatore a 5 minuti dall'inizio dei tempi supplementari e ha coronato il Colonia con i primi 3 punti a Dortmund dopo quasi 30 anni.

Più tardi in quella stagione, il Colonia, essendo l'ultimo in classifica in casa, ha sorpreso l'RB Lipsia, che aveva tutte le motivazioni per avvicinarsi al Bayern, capolista del campionato. L'avversario Lipsia ha messo sotto pressione i "Billy Goats" con un record stagionale di squadra di 13 tiri in porta nel primo tempo, aumentando le loro già alte possibilità di vittoria. Ironia della sorte, il Colonia ha segnato l'1:0 con il primo tiro in porta al minuto 46. Dopo che i "Red Bulls" hanno segnato un meritato pareggio, hanno dormito su una rimessa laterale solo 80 secondi dopo, portando Jonas Hector a segnare per il Colonia ancora. Proprio come il Dortmund, il Lipsia ora ha messo tutte le energie in attacco, ma il meglio che sono riusciti a ottenere è stato colpire il palo nei tempi supplementari.

Per tutte queste partite, esperti e principianti allo stesso modo avrebbero indovinato erroneamente il vincitore, anche durante la partita. Ma quali sono gli eventi che hanno portato a queste sorprendenti oscillazioni di probabilità di vincita all'interno del gioco? In quale momento le possibilità di vittoria dello sfavorito hanno superato quelle del favorito quando il tempo era scaduto? Bundesliga e AWS hanno collaborato per calcolare e illustrare lo sviluppo in tempo reale delle possibilità di vincita durante le partite, consentendo ai fan di vedere i momenti chiave degli sbalzi di probabilità. Il risultato è il nuovo Match Fact della Bundesliga basato sull'apprendimento automatico (ML): probabilità di vittoria.

Come funziona?

La nuova Bundesliga Match Fact Win Probability è stata sviluppata costruendo modelli ML che hanno analizzato oltre 1,000 partite storiche. Il modello live prende le stime pre-partita e le adatta in base allo svolgimento della partita in base alle caratteristiche che influiscono sul risultato, tra cui le seguenti:

  • Obiettivi
  • sanzioni
  • Cartellini rossi
  • Sostituzioni
  • Il tempo passò
  • Occasioni da rete create
  • Situazioni da calcio piazzato

Il modello live viene addestrato utilizzando un'architettura di rete neurale e utilizza un approccio di distribuzione di Poisson per prevedere una velocità di obiettivi al minuto r per ogni squadra, come descritto nella seguente equazione:

Tali tassi possono essere visti come una stima della forza di una squadra e sono calcolati utilizzando una serie di strati densi basati sugli input. Sulla base di queste percentuali e della differenza tra gli avversari, le probabilità di vittoria e pareggio vengono calcolate in tempo reale.

L'input per il modello è una tupla di 3 funzioni di input, differenza reti attuale e tempo di gioco rimanente in minuti.

Il primo componente delle tre dimensioni di input consiste in un set di funzionalità che descrive l'azione di gioco in corso in tempo reale per entrambe le squadre nelle metriche delle prestazioni. Questi includono vari valori xG aggregati basati sulla squadra, con particolare attenzione ai tiri effettuati negli ultimi 15 minuti prima del pronostico. Elaboriamo anche cartellini rossi, rigori, calci d'angolo e il numero di calci di punizione pericolosi. Un calcio di punizione pericoloso è classificato come un calcio di punizione a meno di 25 m dalla porta avversaria. Durante lo sviluppo del modello, oltre all'influenza dell'ex Bundesliga Match Fact xGoals, abbiamo anche valutato l'impatto della Bundesliga Match Fact Skill nel modello. Ciò significa che il modello reagisce alla sostituzione dei migliori giocatori: giocatori con badge nelle abilità Finisher, Initiator o Ball winner.

Fatti sulla partita della Bundesliga Probabilità di vincita: quantificazione dell'effetto degli eventi di gioco sulle possibilità di vincita utilizzando l'apprendimento automatico su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Esempio di probabilità di vittoria

Diamo un'occhiata a una partita della stagione in corso (2022/2023). Il grafico seguente mostra la probabilità di vittoria della partita Bayern Monaco e Stoccarda della sesta giornata.

Fatti sulla partita della Bundesliga Probabilità di vincita: quantificazione dell'effetto degli eventi di gioco sulle possibilità di vincita utilizzando l'apprendimento automatico su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Il modello pre-partita ha calcolato una probabilità di vittoria del 67% per il Bayern, del 14% per lo Stoccarda e del 19% per il pareggio. Quando guardiamo al corso della partita, vediamo un grande impatto dei gol segnati al minuto 36′, 57′ e 60′. Fino al primo minuto di supplementari, il punteggio è stato di 2:1 per il Bayern. Solo un rigore riuscito di S. Grassy al minuto 90+2 ha assicurato il pareggio. Il Win Probability Live Model ha quindi corretto la previsione di estrazione dal 5% a oltre il 90%. Il risultato è uno swing inaspettato nel finale, con la probabilità di vittoria del Bayern che scende dal 90% all'8% nel minuto 90+2. Il grafico è rappresentativo dell'altalena dell'atmosfera all'Allianz Arena quel giorno.

Come viene implementato?

Win Probability consuma i dati dell'evento da una partita in corso (eventi goal, falli, cartellini rossi e altro) così come i dati prodotti da altri Match Facts, come xGoals. Per gli aggiornamenti in tempo reale delle probabilità, utilizziamo Kafka in streaming gestito da Amazon (Amazon MSK) come soluzione centrale per lo streaming di dati e la messaggistica. In questo modo, i dati degli eventi, i dati delle posizioni e gli output di diversi Bundesliga Match Facts possono essere comunicati tra i contenitori in tempo reale.

Il diagramma seguente illustra il flusso di lavoro end-to-end per Win Probability.

Fatti sulla partita della Bundesliga Probabilità di vincita: quantificazione dell'effetto degli eventi di gioco sulle possibilità di vincita utilizzando l'apprendimento automatico su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

I dati relativi alle corrispondenze raccolti vengono inseriti tramite un provider esterno (DataHub). I metadati della corrispondenza vengono acquisiti ed elaborati in un AWS Lambda funzione. I dati di posizioni ed eventi vengono acquisiti tramite un AWS Fargate contenitore (MatchLink). Tutti i dati ingeriti vengono quindi pubblicati per il consumo nei rispettivi argomenti MSK. Il cuore di Win Probability Match Fact si trova in un contenitore Fargate dedicato (BMF WinProbability), che funziona per la durata della rispettiva corrispondenza e consuma tutti i dati richiesti ottenuti tramite Amazon MSK. I modelli ML (live e pre-match) vengono implementati Amazon Sage Maker Endpoint di inferenza serverless. Gli endpoint serverless avviano automaticamente le risorse di calcolo e ridimensionano tali risorse di calcolo in base al traffico in ingresso, eliminando la necessità di scegliere i tipi di istanza o di gestire le policy di ridimensionamento. Con questo modello pay-per-use, Serverless Inference è l'ideale per i carichi di lavoro che hanno periodi di inattività tra gli scatti di traffico. Quando non ci sono partite della Bundesliga, non ci sono costi per le risorse inattive.

Poco prima del calcio d'inizio, generiamo il nostro set iniziale di funzionalità e calcoliamo le probabilità di vincita pre-partita chiamando l'endpoint PreMatch SageMaker. Con queste probabilità PreMatch, inizializziamo il modello live, che reagisce in tempo reale agli eventi di gioco rilevanti e viene continuamente interrogato per ricevere le probabilità di vincita attuali.

Le probabilità calcolate vengono quindi rispedite a DataHub per essere fornite ad altri consumatori MatchFacts. Le probabilità vengono anche inviate al cluster MSK su un argomento dedicato, che verrà utilizzato da altri Match Facts della Bundesliga. Una funzione Lambda consuma tutte le probabilità dal rispettivo argomento Kafka e le scrive in un Amazon Aurora Banca dati. Questi dati vengono quindi utilizzati per visualizzazioni interattive quasi in tempo reale Amazon QuickSight.

Fatti sulla partita della Bundesliga Probabilità di vincita: quantificazione dell'effetto degli eventi di gioco sulle possibilità di vincita utilizzando l'apprendimento automatico su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Sommario

In questo post, abbiamo dimostrato come la nuova Probabilità di vincita dei fatti della Bundesliga mostra l'impatto degli eventi in-game sulle possibilità che una squadra vinca o perda una partita. Per fare ciò, costruiamo e combiniamo in tempo reale i fatti sulle partite della Bundesliga precedentemente pubblicati. Ciò consente a commentatori e fan di scoprire momenti di sbalzi di probabilità e altro durante le partite in diretta.

Il nuovo Bundesliga Match Fact è il risultato di un'analisi approfondita degli esperti di calcio della Bundesliga e dei data scientist di AWS. Le probabilità di vincita sono mostrate nel live ticker delle rispettive partite nell'app ufficiale della Bundesliga. Durante una trasmissione, le probabilità di vincita vengono fornite ai commentatori tramite il cercatore di storie di dati e mostrato visivamente ai fan nei momenti chiave, come quando il perdente prende il comando e ora ha maggiori probabilità di vincere la partita.

Ci auguriamo che questo nuovissimo Match Fact della Bundesliga vi piaccia e che vi fornisca nuove informazioni sul gioco. Per saperne di più sulla partnership tra AWS e Bundesliga, visita Bundesliga su AWS!

Siamo entusiasti di sapere quali modelli scoprirai. Condividi le tue opinioni con noi: @AWScloud su Twitter, con l'hashtag #BundesligaMatchFacts.


Informazioni sugli autori

Simone Rolfes ha giocato 288 partite di Bundesliga come centrocampista centrale, ha segnato 41 gol e ha vinto 26 presenze con la Germania. Attualmente, Rolfes ricopre il ruolo di Managing Director Sport presso il Bayer 04 Leverkusen, dove supervisiona e sviluppa l'elenco dei giocatori professionisti, il dipartimento di scouting e lo sviluppo giovanile del club. Simon scrive anche colonne settimanali su Bundesliga.com sugli ultimi fatti sulle partite della Bundesliga forniti da AWS. Lì offre la sua esperienza come ex giocatore, capitano e analista televisivo per evidenziare l'impatto delle statistiche avanzate e dell'apprendimento automatico nel mondo del calcio.

Tarek Haschemi è un consulente all'interno di AWS Professional Services. Le sue abilità e aree di competenza includono lo sviluppo di applicazioni, la scienza dei dati, l'apprendimento automatico e i big data. Supporta i clienti nello sviluppo di applicazioni basate sui dati all'interno del cloud. Prima di entrare in AWS, è stato anche consulente in vari settori come l'aviazione e le telecomunicazioni. È appassionato di consentire ai clienti il ​​loro viaggio di dati/AI verso il cloud.

Javier Poveda-Panter è un Data Scientist per i clienti sportivi EMEA all'interno del team AWS Professional Services. Consente ai clienti nell'area degli sport per spettatori di innovare e capitalizzare i propri dati, offrendo esperienze di alta qualità a utenti e fan attraverso l'apprendimento automatico e la scienza dei dati. Segue la sua passione per un'ampia gamma di sport, musica e intelligenza artificiale nel tempo libero.

Luuk Figdor è un consulente per la tecnologia sportiva nel team dei servizi professionali di AWS. Lavora con giocatori, club, campionati e società di media come la Bundesliga e la Formula 1 per aiutarli a raccontare storie con i dati utilizzando l'apprendimento automatico. Nel tempo libero, gli piace imparare tutto sulla mente e sull'intersezione tra psicologia, economia e intelligenza artificiale.

Gabriele Zylka è un ingegnere di machine learning all'interno dei servizi professionali AWS. Lavora a stretto contatto con i clienti per accelerare il loro percorso di adozione del cloud. Specializzato nel dominio MLOps, si concentra sulla produzione di carichi di lavoro di machine learning automatizzando i cicli di vita di machine learning end-to-end e aiutando a raggiungere i risultati aziendali desiderati.

Jakub Michalczyk è un Data Scientist presso Sportec Solutions AG. Diversi anni fa, ha preferito gli studi di matematica al gioco del calcio, poiché è giunto alla conclusione che non era abbastanza bravo in quest'ultimo. Ora combina entrambe queste passioni nella sua carriera professionale applicando metodi di apprendimento automatico per ottenere una visione migliore di questo bellissimo gioco. Nel tempo libero, gli piace ancora giocare a calcio a sette, guardare film polizieschi e ascoltare musica da film.

Timestamp:

Di più da Apprendimento automatico di AWS