in data science, Modele Statystyczne, Programowanie w R

Piłka nożna – modele bukmacherów

Piłka nożna to mało przewidywalny sport. O wyniku decydują bramki, których w porównaniu z innymi sportami pada niewiele. Często zdobywane są po błędach czy w wyniku przypadku. To wszystko powoduje, że żadnej drużyny nie można spisywać na straty jeszcze przed rozpoczęciem spotkania. Przewidywanie wyniku nie jest łatwym zadaniem. W tym wpisie sprawdzę jak radzą sobie z nim profesjonaliści czyli bukmacherzy. Będzie to też dobry benchmark dla tworzonych w przyszłości modeli. Przy okazji sprawdzimy też, który z bukmacherów ma najniższe marże.

Kursy bukmacherów w naszych danych

W poprzednim wpisie pisałem już o tym na podstawie jakiego zbioru danych robię swoje analizy. Mamy tam podane kursy bukmacherów. Jest tam jednak sporo braków. Dla części bukmacherów archiwum nie sięga daleko w przeszłość. Po części braki mogą wynikać z tego, że niektóre ligi nie są dostępne w ofercie danego bukmachera.

Sprawdźmy jak dużo braków jest w kursach bukmacherów w kolejnych sezonach.

braki kursow bukmacherow

Do budowania własnych modeli chciałbym mieć jak najwięcej meczów, więc zdecyduje się na sięgnięcie wstecz do sezonu 2005/2006 i skorzystam z kursów takich bukmacherów jak B365, B&W, WH, BB, IW, LB, VC.

Wykonując dzisiejszą analizę, posłużę się jednak sezonami od 2012/13 do 2016/17. Wybieram bukmacherów takich jak: b365, bwh, ps (pinnacle), wh, bb, iw, lb, vc.

bb – oznacza betbrain – serwis porównujący kursy bukmacherów. W tej analizie będzie to oznaczało średni kurs od bukmacherów porównywanych przez betbrain.

Wybieram tylko te mecze, dla których będziemy mieli komplet kursów od w/w bukmacherów.

Po nałożeniu takich warunków do analizy mamy 37 713 meczów. To całkiem spora próba.

Kursy -> prawdopodobieństwo

Kursy bukmacherów są odwrotnie proporcjonalne do prawdopodobieństwa zajścia zdarzenia, na które są wystawione.

Przykład:
Mecz Premier League – Brighton vs Manchester United. Bukmacher wystawia następujące kursy

  • Zwycięstwo gospodarzy – 4.20
  • Remis – 3.40
  • Zwycięstwo gości – 1.85

Oznacza to, że w ocenie bukmachera prawdopodobieństwo zajścia tych zdarzeń rozkłada się następująco:

  • P(Zwycięstwo gospodarzy) = 1 / 4.20 = 24%
  • P(Remis) = 1 / 3.40 = 29%
  • P(Zwycięstwo gości) = 1 / 1.85 = 54%

Wygląda to całkiem sensownie. United są faworytem. Jednak jedna rzecz się nie zgadza. Te 3 zdarzenia wyczerpują naszą przestrzeń probablistyczną. To znaczy, że mecz nie może zakończyć się innym wynikiem niż jeden z tych trzech. Suma ich prawdopodobieństw powinna wynosić 100%. Tutaj po zsumowaniu dostajemy wynik 107%. Różnica tych 7% jest marżą bukmachera. Bukmacher prowadzi biznes, a nie działalność charytatywną, więc niezależnie od wyniku meczu musi zarobić. Różni bukmacherzy mają różne marże. Dla gracza, im marża jest niższa, tym bardziej atrakcyjny będzie kurs.

W naszej analizie chcielibyśmy zniwelować różnice wynikające z marż bukmacherów. Dlatego od prawodpodobieństw uzyskanych przez odwrócenie kursów musimy odjąć wysokość marży. Nie wiemy tylko jak rozłożyć tę nadwyżkę (przykładowe 7%) pomiędzy każde z 3 zdarzeń. Myślę, że nie będzie dużym błędem, jeśli rozłożymy je proporcjonalnie do prawdopodobieństw.

Od odwrotności kursów odejmiemy:

  • Zwycięstwo gospodarzy: 7% * 24/107
  • Remis: 7% * 29/107
  • Zwycięstwo gości 7% * 54/107

Po odejmowaniu otrzymujemy już prawdopodobieństwa oczyszczone z marży:

  • Zwycięstwo gospodarzy: 22.43%
  • Remis: 27.10%
  • Zwycięstwo gości 50.47%

Który bukmacher ma największą marżę?

Wykres pudelkowy - Marze bukmacherow

Zdecydowanie najkorzystniejszą dla gracza marżę ma w swoich kursach Pinnacle Sports. To u nich najlepiej grać. Mediana marży w Pinnacle wynosi 2.58%. Drugim „najtańszym” bukmacherem jest VC Bet z medianą równą 4.08%. Dla większości bukmacherów mediana marż wyniosła między 6 a 8.1 %.  Najmniej korzystną ofertę ma pod tym względem Interwetten.

Który bukmacher ma lepszy model?

Wiemy już kto ma największe marże. Sprawdźmy teraz na kursach oczyszczonych z marży, kto najtrafniej przewidywał wygraną gospodarzy.

Macierz błędów

Na potrzeby liczenia skuteczności przyjmuję, że jeśli prawdopodobieństwo uzyskane z oczyszczonego z marży kursu jest wyższe niż 50% to bukmacher przewiduje, że gospodarze wygrają. W innym przypadku bukmacher prognozuje X2 – wygraną gości lub remis.

Dla takiego punktu odcięcia skuteczność wszystkich bukmacherów jest bardzo podobna i wynosi ok. 63%.

Za przykład do omówienia niech posłuży nam Pinnacle Sports. Jego macierz błędu wygląda tak:

confusion matrix pinnacle sports

 

Dowiadujemy się z niej, że:

  • Pinnacle Sports trafnie przewidział czy gospodarze wygrają w  63,12% wszystkich meczów.
  • Czułość wyniosła blisko 43% . Ze wszystkich meczów, w których wygrali gospodarze model prawidłowo wskazał 43%.
  • Swoistość wyniosła 79%. Ze wszystkich meczów, w których gospodarze nie wygrali (padł remis lub zwyciężyli goście) model prawidłowo oznaczył 79%.

Więcej o interpretacji macierzy błędów można znaleźć na przykład w tym artykule na wikipedii.

Pole pod krzywą ROC

Ponieważ wszyscy bukmacherzy uzyskali podobną dokładność, do określenia kto posługuje się najlepszym modelem musimy użyć innej metryki. Takiej, która będzie niezależna od punktu odcięcia i pozwoli ocenić czy model dobrze sortuje przypadki od najmniej do najbardziej prawdopodobnych. Metryką spełniającą te kryteria i bardzo często wykorzystywaną do oceny binarnych modeli klasyfikacyjnych jest pole pod krzywą ROC.

ROC AUC dla bukmacherow

Ku mojemu zaskoczeniu okazuje się, że wyniki modeli są niemal identyczne. Po zaokrągleniu modele wszystkich bukmacherów mają pole pod krzywą ROC równe 67%.

Czy prognozy bukmacherów są z roku na rok lepsze?

Sprawdzę teraz czy skuteczność modeli poprawia się z sezonu na sezon. Do tego celu będę posługiwał się kursami  oznaczonymi jako BbAv – czyli średnimi kursami z portalu betbrain. Oczywiście oczyszczonymi z marży.

Wyniki bukmacherów w podziale na sezony

Wygląda na to, że wyniki są stabilne z nieznacznym trendem wzrostowym.

Wyniki w zależności od ligi

Czy obraz gry w różnych ligach różnie się od siebie? Zdecydowanie. Może to sprawiać, że niektóre ligi są bardziej przewidywalne niż inne. Sprawdzam teraz jak wyglądają wyniki średnich kursów bukmacherów (BbAv) w zależności od ligi.

wyniki bukmacherów w zależności od lig

Zróżnicowanie jest dość duże. Pole pod krzywą ROC waha się od 54% do nawet 75%. Wyraźnie widać, że najlepiej modele bukmacherów radzą sobie z przewidywaniem wyników w najwyższych klasach rozgrywkowych.

Czy z meczu na mecz prognozy stają się dokładniejsze?

Zastanawia mnie jeszcze jedna rzecz – czy w miarę rozgrywania kolejnych meczów w sezonie przewidywalność rośnie. Wydaje się, że początek sezonu bywa niewiadomą, a każdy rozegrany mecz dostarcza więcej informacji o dyspozycji drużyn.

ROC AUC w kolejnych kolejkach

Okazuje się jednak, że modele bukmacherów spisują się tak samo dobrze na początku, w środku i na końcu sezonu.

Podsumowanie

Wiem już czego mogę się spodziewać po modelach bukmacherów. Będzie to dobry punkt odniesienia dla mojego własnego modelu. Pora zająć się jego budową. Więcej informacji o nim znajdzie się w kolejnych wpisach.

Write a Comment

Comment

Webmentions

  • Piłka nożna - wyliczenie zmiennych, ich ranking i korelacja - datahacking.tech

    […] Piłka nożna – modele bukmacherów […]