Skip to content

AlessandroTaufer/SoccerPredictions-Predict404

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation


Predict 404

Piazza Fiera 4
38123, Trento (TN)
(+39) 335 718 9753 - Università degli Studi di Trento

Russia 2018


7 settembre 2018


Panoramica


L’obiettivo di Predict 404 è creare un programma in grado di prevedere chi vincerà le partite internazionali di calcio. L’uso che se ne farà sarà quello di predire gli esiti delle partite dei mondiali di Russia 2018.

Per adempiere a quest’obiettivo i membri del team hanno deciso di analizzare i parametri fisici dei giocatori, le quote SNAI delle squadre partecipanti, e il ranking delle medesime (ogni dato sarà antecedente all’effettiva data del torneo). L’algoritmo avrà il compito di calcolare il punteggio di una squadra e se superiore alla sua avversaria farla vincere. Le partite seguiranno come da regolamento FIFA:

  • 8 gironi da 4 squadre;
  • All’interno di ogni girone tutte le squadre si sfideranno ottenendo 3 punti per ogni vittoria e 1 punto per ogni pareggio. 0 in caso di sconfitta;
  • Per ogni girone le due squadre con maggior punteggio avanzeranno alla fase ad eliminazione;
  • In quest'ultima ogni squadra disputerà una partita e potrà proseguire il suo percorso verso la coppa solo in caso di vittoria;

Obiettivi

  1. Predire i risultati delle partite: L’obiettivo principale della sfida è produrre un servizio in grado di decretare un vincitore tra due squadre di calcio nazionali.

  2. Accuratezza: In secondo luogo bisogna determinare con quale probabilità le squadre seguiranno i pronostici

Specifiche

Il programma sarà presentato sabato 8 settembre 2018 e simulerà un sito web che utilizzerà il programma Predict 404 (omonimo al team di sviluppo). I linguaggi utilizzati per la programmazione front-end del sito sono html5, css3 e javascript, mentre il lato back-end è scritto unicamente in Python. Quest'ultimo si occuperà di prelevare i dati da vari csv contenenti le informazioni relative ai giocatori, ai team, alle quote e al PIL della nazione partecipante. Per ognuno di questi parametri sarà presente un moltiplicatore. Più sarà alto il valore del moltiplicatore, maggiore sarà il peso che quella caratteristica avrà sull'intera simulazione. La somma dei risultati ottenuti dovrà poi essere comparata con quella della squadra avversaria. Un punteggio simile produrrà un pareggio, mentre se una delle due dovesse possedere uno score nettamente superiore verrebbe decretata vincitrice della partita. Al contrario, il team con punteggio nettamente inferiore perderà lo scontro.

![](Capture.png)

Tappe intermedie

  1. Ricercare i dati
  2. La ricerca dei dati è il primo passo fondamentale all’interno della realizzazione del progetto. Al fine di procurarci tutti i dataset necessari abbiamo attinto a diverse fonti: wikipedia, github e kaggle.com



  3. Pulizia dei dati
  4. I dataset presentavano inoltre incoerenze e incompatibilità tra di essi (campi mancanti o che erano in conflitto a seconda dei file), per tanto è stato necessario verificare la veridicità delle informazioni e ricostruire quelle mancanti cercando di non alterare la media complessiva



  5. Immagazinamento delle informazioni
  6. Al fine di immagazzinare in memoria le informazioni ricavate dai dati è stata creata una complessa struttura di classi che è in grado di memorizzare ogni informazione relativa a ciascun giocatore,squadra,girone



  7. Bilanciamento parametri
  8. Una volta salvati i dati necessari al perseguimento della challenge sarà necessario modificare i pesi (l’influenza) che ogni parametro (punteggio totale giocatori, quote SNAI, team ranking, ecc) avrà sulla simulazione in modo da ricondurre il programma alla simulazione perfetta. Sarebbe stato quindi appropriato l'utilizzo di una regressione lineare ma a causa della scarsa quantità di tempo questo non è stato possibile e si è optato per una bilanciamento statistico (il peso è più alto per i parametri che sono statisticamente più influenti)



  9. Risultato
  10. Dopo avere effettuato la predizione, l'algoritmo produce delle immagini rappresentanti le classifiche di ciascun girone e delle eliminatorie



  11. Esposizione dei risultati
  12. Le immagini prodotte vengono successivamente utilizzare da una pagina web che le rende accessibili al pubblico



  13. Presentazione del progetto completo
  14. Sabato 8 settembre i membri del gruppo esporranno l'origine e il funzionamento del prototipo ad una giuria

Conclusioni

Questo progetto è un prototipo, la sua accuratezza è ancora lontana da quella ottimale ma si possono già notare alcune previsioni corrette e quindi un buon potenziale di crescita (aumentando i dati a disposizione e rendendo più precisi i parametri per elaborarli). L'accuratezza di questo algoritmo permette di scommettere sulle squadre classificate in alte posizioni ottenendo la (quasi) sicurezza che i pronostici vengano rispettati

About

Project created in 5 days during the ICT-days Trento by the team Predict404(Alessandro Taufer, Martino Papa, Pietro Ferrari, Sabrina Vianini, Samuele Bertolini)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors