in data science, Modele Statystyczne, Programowanie w R

Piłka nożna – wyliczenie zmiennych, ich ranking i korelacja

Zaczynamy prawdziwą zabawę. Dzisiaj przygotuję dane – wybiorę próbę do modelowania, wyliczę zmienne i postaram się ocenić, które z nich będą przydatne w przewidywaniu wyników.

Jest to 3 z serii artykułów o modelowaniu wyników w meczach piłki nożnej. Poprzednie dwa to:

  1. Modelowanie wyników w piłce nożnej – dane i zmienna celu
  2. Piłka nożna – modele bukmacherów

Próba do modelowania

Za próbę do modelowania posłużą nam mecze z sezonów od 2005/2006 do 2017/2018. Przy czym ostatni sezon będzie niepełny ze względu na dostępność danych.

Ligi, które znalazły się w próbie to:

Ligi - Proba do modelowania

 

Przyjęte założenia

Pierwszy model chce zrobić szybko. Będzie to wymagało maksymalnego uproszczenia problemu. Dlatego przyjmuje takie założenia:

  1. Rozdzielam formę drużyny na mecze u siebie i na wyjeździe. To znaczy, że do oceny formy gospodarzy biorę pod uwagę tylko te mecze, w których grali u siebie. Podobnie przy ocenie formy drużyny gości patrzę tylko na mecze, które rozgrywali na wyjeździe.
  2. Interesuje mnie tylko bieżąca forma. Patrzę tylko na 3 ostatnie mecze. Nie interesują mnie ani wyniki z poprzedniego sezonu, ani sprzed 2 miesięcy.
  3. Boisko weryfikuje wartość drużyny – nie biorę pod uwagę wycen piłkarzy czy rocznych budżetów klubów. Liczą się wyniki, a nie potencjał.

Przyjmując takie uproszczenia jestem w stanie stosunkowo szybko przygotować dane.

 

Przygotowanie zmiennych

Do określenia prawdopodobieństwa wygranej gospodarzy posłużą mi dane o 3 ostatnich meczach drużyny gospodarzy i gości takie jak:

  • punkty
  • zdobyte bramki
  • stracone bramki
  • bilans bramkowy
  • rzuty rożne
  • bilans rzutów rożnych
  • oddane strzały
  • bilans strzałów,
  • strzały w światło bramki,
  • bilans strzałów w światło bramki,
  • celność strzałów.
  • bilans celności strzałów,
  • skuteczność strzałów na bramkę,
  • bilans skuteczności strzałów na bramkę.

Dodatkowo, żeby uwzględnić fakt, że bramka strzelona w meczu z liderem jest cenniejsza niż bramka z drużyną zamykającą ligową stawkę, wszystkie powyższe zmienne przeważyłem. Wagą było prawdopodobieństwo wygranej przeciwnika wyliczone na podstawie kursu bukmachera. Ważone zmienne nie zastąpiły pierwotnych, ale występują w moim zbiorze obok nich.

 

Ranking zmiennych

Do określenia, które zmienne mają wartość predykcyjną użyłem tutaj małego triku. Zbuduję na ich podstawie las losowy, a następnie sprawdzę dla których zmiennych wartość metryki o nazwie importance jest najwyższa. Nie jest to może idealne rozwiązanie, ale pozwala w szybki sposób wybrać przydatne zmienne z dużego zbioru.

Wyniki są następujące:

Importance Plot

Wyniki są ciekawe. Nasuwa się kilka wniosków:

  • zmienne ważone jakością przeciwnika są lepsze niż te bez wag,
  • najsilniejsze zmienne dotyczą strzałów (a nie punktów, czy goli)
  • zaskakująco mocne są zmienne związane z rzutami rożnymi.

Nazwy zmiennych na powyższej grafice są mocno robocze. Dlatego przetłumaczę ich znaczenie na język normalnego człowieka. Zrobię to dla 10 najmocniejszych zmiennych.

Robocza nazwa zmiennej Znaczenie
HS_wgh_h_h_r3 Średnia liczba strzałów gospodarzy w 3 ostatnich meczach ważona jakością drużyny przeciwnej
h_on_target_ratio_wgh_h_h_r3 Średni stosunek strzałów celnych do wszystkich strzałów gospodarzy w 3 ostatnich meczach ważony jakością drużyny w przeciwnej
a_s_balance_wgh_a_a_r3 Średni bilans strzałów gości w ich 3 ostatnich meczach ważony jakością drużyny przeciwnej
AS_wgh_a_a_r3 Średnia liczba strzałów gości w 3 ostatnich meczach ważona jakością drużyny przeciwnej
FTHG_wgh_a_a_r3 Średnia liczba straconych przez gości goli z ich 3 ostatnich meczów ważona jakością drużyny przeciwnej
HC_wgh_h_h_r3 Średnia liczba rzutów rożnych gospodarzy w ich 3 ostatnich meczach ważona jakością drużyny przeciwnej
a_st_balance_wgh_a_a_r3 Średni bilans celnych strzałów drużyny gości w ich 3 ostatnich meczach, ważony jakością drużyny przeciwnej
a_on_target_ratio_wgh_a_a_r3 Średni stosunek strzałów celnych do wszystkich strzałów gości z ich 3 ostatnich meczów, ważony jakkością drużyny przeciwnej
AC_wgh_a_a_r3 Średnia liczba rzutów rożnych gości w ich 3 ostatnich meczach ważona jakością drużyny przeciwnej
a_c_balance_wgh_a_a_r3 Bilans rzutów rożnych drużyny gości w 3 ostatnich meczach ważona jakością drużyny przeciwnej

Korelacja zmiennych

Na koniec tego artykułu sprawdzam jeszcze wzajemne korelacje między zmiennymi.

Wykres korelacji zmiennych

Widzimy grupy silnie skorelowanych zmiennych. Biorąc pod uwagę konstrukcję zmiennych nie powinno to nas zaskakiwać. Tworząc modele liniowe będę musiał poradzić sobie z tym problemem. W modelach opartych na drzewach korelacje nie powinny stanowić problemu.

W kolejnych wpisach postaram się zbudować pierwsze modele.

Write a Comment

Comment

Webmentions

  • Piłka nożna - Drzewo decyzyjne - datahacking.tech

    […] Piłka nożna – wyliczenie zmiennych ich ranking i korelacja […]