Calcolo della probabilità di vincita per 2 squadre usando la loro storia?

1

Quindi sto lavorando a questo progetto in cui ho un database pieno di storia vincente del team. Ad esempio diciamo che sono tutte squadre di calcio. Ogni partita ha 2 partecipanti (2 squadre) e sempre un vincitore.

Ora sto provando a creare uno script che calcola effettivamente la probabilità di vincita usando queste informazioni, ma sto facendo fatica a trovare un algoritmo adatto a questo per prevedere in modo efficace.

Per rendere questo più chiaro, facciamo un esempio. Abbiamo due squadre che giocano l'una contro l'altra: squadra 1 e squadra 2. Ora il modo più semplice per calcolare qualcosa sarebbe quello di verificare se quelle due squadre esatte hanno mai giocato prima e quali sono stati i risultati. Per esempio, se la squadra 1 ha battuto una volta la squadra 2 e poi in un'altra squadra di gioco 2 invece è stato il vincitore, allora la probabilità per questo gioco sarebbe 50-50.

Ma mi piacerebbe renderlo un po 'più complicato di così. Ad esempio, diciamo che ci sono tre squadre: squadra 1, squadra 2 e squadra 3. Questa è la cronologia delle partite per quei team:
la squadra 1 batte la squadra 2
la squadra 2 batte la squadra 3
E ora abbiamo una partita che è la squadra 1 contro la squadra 3. E guardando la storia, possiamo calcolare che la squadra 3 è molto probabile che perderà.

Quindi immagino che la mia domanda sia, come si codifica un tale algoritmo? Non sto cercando frammenti di codice ma piuttosto un approccio logico per questi algoritmi. Se si dispone di esempi di codice, sarei felice di guardare anche a quelli. Sto programmando questo in PHP da solo, ma i frammenti possono essere in qualsiasi lingua. E inoltre sto cercando altre idee sugli algoritmi se qualcuno ne ha.

Grazie in anticipo!

    
posta Martin J 11.03.2015 - 01:23
fonte

1 risposta

2

Perché reinventare la ruota? Prova sistema di valutazione ELO - è stato sviluppato proprio per questo scopo ed è meglio conosciuto per essere utilizzato per valutare i giocatori di scacchi, sebbene non esclusivamente. E ha resistito alla prova del tempo, per essere sicuro.

Come per calcolare la probabilità che il giocatore (o squadra) A sconfigga B, guarda sotto link per una formula .

Ecco un pezzo di codice già pronto che implementa ELO: link

È in PHP, dato che lo menzioni in modo specifico, ma sono sicuro che potresti trovare qualcosa di simile per ogni lingua principale.

Nota che non l'ho ancora testato e non sono in alcun modo affiliato con l'autore.

    
risposta data 11.03.2015 - 01:27
fonte

Leggi altre domande sui tag