Predikční Model

Predikční Model ~ Český Mistr

Pravděpodobnosti konkrétního bodového zisku týmu, jeho šance na titul, sestup, nebo účast v evropských pohárech pocházejí z Monte Carlo simulace zbytku ligové sezóny.

Soutěž je ze současného známého stavu virtuálně 100 000x dohrána na základě podkladového pravděpodobnostního modelu využívajícího strojové učení a elo rating system. Snahou je soutěž simulovat co nejvěrohodněji. To pro nasazení do evropských pohárů obnáší i znalost vítěze ligového poháru. Ten je tak součástí simulace, a to včetně všech zákonitostí losu jednotlivých kol. Simulována je i druhá liga.

Zápasové pravděpodobnosti

Pro simulaci celé soutěže je nutné odhadnout pravděpodobnostní rozdělení výsledku jednotlivých zápasů.

Z takto odhadnutého pravděpodobnostního rozdělení je v každém kole simulace (100 000) náhodně vylosován vítěz zápasu, nebo remíza.

pravdepodobnost vysledku zapasu
Obrázek 1 – Pravděpodobnost výsledku zápasu v závislosti na rozdílu ratingu týmů

Na obrázku  je ukázkové pravděpodobnostní rozdělení pro výhru domácího týmu, remízu a výhru hostů v závislosti na rozdílu v ratingu zúčastněných týmů. V jádru je elo rating vyvinutý původně pro hodnocení šachistů – konkrétní specifikace a úpravy jsou popsány níže.

K vyhlazení pravděpodobnostní křivky je použitý model logistické regrese s kubickým splinem o pěti stupních volnosti vážený četností pozorovaných hodnot.

Stejný model v poissonovské variaci je použitý pro odhad skóre zápasu.

Elo rating

Na ose x Obrázku 1 je hodnota tzv. elo rovnice

xres = 1/(1+10**(-(elo_diff + hga)/400)),

kde

elo_diff = elo_home - elo_away

a hga výhoda domácího prostředí. elo_home a elo_away jsou bodovým elo ratingem domácího a hostujícího týmu.

Aktualizace ratingu

Rating týmů je aktualizován po každém zápase podle vzorce

elo_exchange = K * (res - xres) * GD,

kde K pro 1. ligu je 18,75 a pro 2. ligu 28,75. Hodnota res nabývá hodnoty {1, 0,5, 0} podle toho, zda tým vedený jako domácí vyhrál, remizoval, nebo prohrál. GD je koeficient pro zohlednění skóre zápasu. Hodnota K je pro nižší soutěž vyšší, jelikož je v ní větší fluktuace týmů a vyšší hodnota K na to dokáže rychleji reagovat.

Koeficient brankového rozdílu GD
Obrázek 2 – Koeficient brankového rozdílu GD

Funkce zohlednění rozdílu ve skóre na obrázku roste stále pomaleji. Každý dodatečný gól rozdílu má menší váhu, neboť rozdíl výhry 7:0 a 8:0 nenese takovou informaci o rozdílu v převaze týmu jako např. dodatečný gól z 1:0 na 2:0.

Výhoda domácího prostředí

Výhoda domácího hřiště hga je nastavena tak, aby se s časem mohla vyvíjet. Její funkcí je reagovat na to, že domácí týmy typicky dosahují lepších výsledků a zahrnout to věrohodně do výpočtu.

Na konci každého hracího dne se sečte elo_exchange domácích týmů a hga se aktualizuje podle vzorce

hga = hga + sum(elo_exchange) * c,

kde c = 0,019. Pokud tým nehraje na svém hřišti, výhoda domácího prostředí se nezapočítává.

Automatická korekce (nad/pod)hodnocené elo kvality týmu

V algoritmu je zahrnuta automatická kontrola, zda dlouhodobě nedochází k nadhodnocení/podhodnocení kvality týmu vyjádřené elo ratingem (např. po výrazném posílení/rozprodání kádru).

Pro očekávané výsledky týmu je formulován interval spolehlivosti

xres_bounds = xres_mean ± sqrt(xres_mean * (1 - xres_mean) / 36) * 2.108,

kde xres_mean je průměr xres za posledních 36 zápasů a 2.108 odpovídá z-score pro p-hodnotu 0.035.

Pokud tým interval opustí, je pomocí inverzní funkce k elo rovnici xres

elo_diff = -400 * log10((1-xres)/xres)

vyjádřena hodnota elo, o který je rating týmu vyšší/nižší než povolený interval. Např. pokud tým dosahoval horších výsledků (rating je příliš vysoký)

decrease_diff = [-400 * log10((1-xres_lb)/xres_lb)] - [-400 * log10((1-res_mean)/res_mean)],

kde xres_lb je dolní hodnota intervalu spolehlivosti a res_mean je průměr reálně dosažených výsledků res.

Aby nedošlo ke změně průměru elo ratingu napříč týmy, je rating všem týmům, se kterými se tým, jehož rating je přepočítán, ve sledovaném období 36 zápasů utkal (i jemu samému), navýšen o decrease_diff / počet týmů.

Počáteční elo hodnoty

Výpočet probíhá ve 2 krocích

1. zjištění průměrného elo v soutěži,
2. určení elo jednotlivých týmů.

Zjištění průměrného elo v soutěži

1. Určení výpočetních konstant, úvodní hodnoty hga a průměrného elo napříč soutěžemi.

K = 20; c = 0,075; hga = 75; elo = 1 500.

2. Počítej elo pro prvních 6 sezón.
3. Zjisti hga a průměrné elo uvnitř soutěží v poslední spočtené sezóně (1998/99).
4. Použij zjištěné elo a hga jako počáteční hodnoty pro týmy uvnitř této soutěže v první sezóně (1993/94) a opakuj body 2. až 4., dokud je Manhattanská vzdálenost počátečních hodnot týmů dvou po sobě jdoucích iterací větší než 20.

Určení elo jednotlivých týmů

1. Použij výsledky z předchozího bodu a spočítej elo pro prvních 55 % zápasů první sezóny.
2. Získané elo hodnoty jednotlivých týmů použij jako jejich počáteční hodnoty.

Elo postupujících týmů

Přesuny mezi první a druhou ligou jsou bezproblémové, týmy si svoje hodnocení přenášejí do nové soutěže. Týmům postupujícím do 2. ligy je vždy přiřazeno průměrné elo týmů, které se ve skončené sezóně umístily na posledních 3 místech tabulky.

Nastavení elo parametrů

Pro každý prvek elo modelu byla vyzkoušena škála různých parametrů. I v rámci jednotlivých prvků byly zkoušeny různé možnosti. Např. u výhody domácího prostředí bylo ověřeno, že využití individuálního hga pro konkrétní tým nepřinese do modelu zpřesnění.

Výsledné nastavení je takové, které nejlépe predikuje samotné zápasy. Kvalita předpovědí byla posuzována pomocí RPS (Ranked Probability Score).