Sestavte si vlastní fotbalový predikční model
Potřebná data, Poissonův model krok za krokem až k tabulce výsledků, korekce, které stojí za to přidat, walk-forward testování bez budoucího zkreslení a aritmetika, která ukáže, kdy se model nevyplatí stavět.
Fotbalový predikční model je postup, který přeměňuje historii zápasů na pravděpodobnost pro každé skóre a z této tabulky na kurz pro každý trh v sázkové kanceláři. Jeho jádrem je jedno rozdělení a dvě čísla na každý zápas – kolik gólů se očekává od každé strany. Všechno ostatní je pak už jen hygiena dat, korekce a testování, což je místo, kde většina domácích modelů tiše selhává.
Ve zkratce.
- Potřebujete výsledky zápasů s daty a místy, ne průměry za sezónu. Minimálně dvanáct domácích a dvanáct venkovních zápasů na klub.
- Základním modelem je Poisson: dvě hodnoty očekávaných gólů vytvoří tabulku skóre a 1X2, více/méně gólů a oba týmy skórují jsou součty buněk v této tabulce.
- U zpracovaného zápasu tabulka dává 51,4 % domácí, 24,5 % remíza, 24,1 % hosté – férové kurzy 1,95, 4,08 a 4,14.
- Backtestujte walk-forward, nebo vůbec: jakákoli hodnota vypočítaná z celé sezóny obsahuje výsledek zápasu, který oceňujete.
- Referenčním bodem není zisk, ale trh: pokud vaše pravděpodobnosti nejsou lepší než kurz v nabídce, žádný systém sázení je nezachrání.
Co musí model překonat
Srovnání není váš model vs. realita, ale vs. kurz. Třícestná nabídka obvykle dosahuje asi 105 %, takže marže je zhruba pět bodů rozložených mezi výsledky – výpočet je v průvodci marží sázkových kanceláří.
To nastavuje laťku. Aby se sázení vyplatilo, musí vaše pravděpodobnost překonat tržní o víc, než je marže na vámi podporované straně. Být zhruba stejně dobrý jako nabídka je skutečný úspěch, ale přesto stabilně proděláváte.
Data, která skutečně potřebujete
Začněte s nejmenší tabulkou, která model podporuje: každý sloupec navíc je další věc, kterou je třeba udržovat v čistotě.
| Pole | Proč je potřeba | Častá past |
|---|---|---|
| Datum a čas výkopu | Uspořádá data pro testování a vážení aktuálnosti | Řazení podle kola místo data po odložených zápasech |
| Domácí a hostující klub | Rozděluje každou hodnotu podle místa konání | Změny názvů a duplicitní zápisy vytvářející dva kluby |
| Góly každé strany | Jediná povinná výstupní proměnná modelu | Zaznamenávání gólů z prodloužení nebo penalt v pohárových zápasech |
| Soutěž | Ligové a pohárové zápasy se chovají odlišně | Míchání domácí ligy s mezinárodními zápasy |
| Střely a očekávané góly, pokud jsou k dispozici | Méně zašumělý vstup než samotné góly | Míchání hodnot od dvou poskytovatelů s různými definicemi |
| Kurz, který jste mohli vsadit | Změní předpověď na testovatelnou sázku | Ukládání dnešního kurzu a předstírání, že byl dostupný tehdy |
Dvě sezóny jedné ligy stačí k sestavení a jedna další k testování. Góly jsou zašumělé – tým může hrát dobře a prohrát 0:1 – proto pomáhají náhodné vstupy, jakmile základní verze funguje: viz vysvětlení očekávaných gólů a širší seznam statistik, které předpovídají výsledky.
Základní model ve třech krocích
Krok první – úroveň samotné ligy. Předpokládejme, že liga odehrála 240 zápasů, ve kterých padlo 612 gólů: 2,55 na zápas. Domácí týmy vstřelily 336 z nich a hosté 276, takže domácí základ je 336 ÷ 240 = 1,40 a venkovní základ 276 ÷ 240 = 1,15. Tato dvě čísla již obsahují domácí výhodu, není třeba ji odhadovat.
Krok druhý – čtyři poměry. U domácího klubu vydělte góly vstřelené v domácích zápasech hodnotou 1,40 a góly obdržené v domácích zápasech hodnotou 1,15. U hostů vydělte góly vstřelené venku hodnotou 1,15 a góly obdržené venku hodnotou 1,40. Hodnocení 1,00 znamená přesně průměr v dané činnosti.
Krok třetí – dvě hodnoty očekávaných gólů. Násobte, nikdy nesčítejte. Řekněme, že domácí tým má doma útok 1,30 a hosté mají venku obranu 0,91; domácí hodnota je 1,40 × 1,30 × 0,91 = 1,65. Pokud hosté mají venku útok 1,05 a domácí mají doma obranu 0,87, venkovní hodnota je 1,15 × 1,05 × 0,87 = 1,05.
Tabulka skóre a co z ní vypadne
Počty gólů se dostatečně blíží Poissonovu rozdělení, aby se s ním dalo oceňovat: šance na přesně k gólů při očekávaných μ je e−μ × μk ÷ k faktoriál, což je vzorec uvedený v průvodci gólovými liniemi. Pro μ = 1,65 jsou šance domácích na 0, 1, 2, 3 a 4 góly 19,2 %, 31,7 %, 26,1 %, 14,4 % a 5,9 %. Pro μ = 1,05 jsou šance hostů 35,0 %, 36,7 %, 19,3 %, 6,8 % a 1,8 %.
Vynásobte každou domácí hodnotu každou venkovní a máte tabulku. Hodnoty jsou v procentech; řádky jsou domácí góly, sloupce hostující góly.
| Domácí / hosté | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| 0 | 6,72 | 7,06 | 3,70 | 1,30 | 0,34 |
| 1 | 11,09 | 11,64 | 6,11 | 2,14 | 0,56 |
| 2 | 9,15 | 9,61 | 5,04 | 1,77 | 0,46 |
| 3 | 5,03 | 5,28 | 2,77 | 0,97 | 0,25 |
| 4 | 2,08 | 2,18 | 1,14 | 0,40 | 0,11 |
Těchto dvacet pět buněk pokrývá 96,9 % výsledků, proto počítejte až do osmi nebo deseti gólů před sčítáním. Každý trh je pak součtem buněk: pod diagonálou je výhra domácích, na diagonále remíza, nad diagonálou výhra hostů.
Sečtení celé tabulky dává 51,4 % domácí, 24,5 % remíza a 24,1 % hosté. Férové kurzy jsou převrácené hodnoty: 1 ÷ 0,514 = 1,95, 1 ÷ 0,245 = 4,08, 1 ÷ 0,241 = 4,14. Tatáž tabulka říká, že oba týmy skórují v 52,5 % případů (férový kurz 1,90) a tři nebo více gólů přijde v 50,6 % případů (férový kurz 1,97), takže jeden výpočet ocení celý zápas.
Příklad. Nabídka ukazuje 1,85 / 3,60 / 4,40. Převod na procenta dává 54,1 % + 27,8 % + 22,7 % = 104,6 %, takže marže je 4,6 % – metoda je v převodu kurzů na pravděpodobnost. Proti vaší tabulce je domácí kurz drahý: 0,514 × 1,85 − 1 = −4,9 %, passovat. Hostující kurz nikoli: 0,241 × 4,40 − 1 = +6,0 %, což je při sázce 100 Kč zisk 6 Kč očekávané hodnoty. Při čtyřiceti takových sázkách po 100 Kč – vsazeno 4 000 Kč – je to asi 240 Kč, přicházejících ve velmi nerovnoměrné posloupnosti.
Korekce, které stojí za to přidat, v pořadí důležitosti
- Vážení aktuálnosti. Zápas z loňského října by neměl mít stejnou váhu jako březnový. Každý zápas vážte faktorem poklesu – přibližné půlení každých třicet zápasů je rozumný začátek – spíše než pevným cutoffem po deseti zápasech.
- Smršťování pro malé vzorky. Nováček s šesti zápasy by neměl mít hodnocení útoku 1,60. Při k zápasech a konstantě 10 vezměte k ÷ (k + 10) skutečného hodnocení a zbytek z ligového průměru.
- Korekce nízkého skóre. Nezávislé Poissonovo rozdělení mírně podhodnocuje 0:0 a 1:1 a nadhodnocuje 1:0 a 0:1, protože v reálném zápase nejsou dvě skóre nezávislá. Úprava těchto čtyř buněk je standardním prvním vylepšením.
- Rozdělení soutěží. Pohárové zápasy, zápasy o nic a mezinárodní konfrontace se chovají odlišně: modelujte je zvlášť nebo je vynechte.
- Ruční zásahy, střídmě. Potvrzená absence klíčového útočníka nebo brankáře si zaslouží úpravu. Dva zásahy na zápas jsou model s pomocníkem; deset je člověk hádající s příliš mnoha kroky.
Backtestování bez budoucího zkreslení
Budoucí zkreslení je jakákoli informace ve vašem testu, kterou byste v okamžiku sázky neměli. Je tichá, vždy lichotí, a je to důvod, proč většina domácích modelů vypadá v historii skvěle a v reálu prodělává.
| Zkratka | Co prozrazuje | Dopad na výsledek |
|---|---|---|
| Hodnocení postavená z celé sezóny | Výsledek oceňovaného zápasu | Silně lichotí; model už podvědomě zná odpověď |
| Testování na stejných datech, která určila prahy | Váš vlastní pohled zpět na to, která pravidla fungovala | Každý práh vypadá optimálně |
| Používání zavíracích kurzů jako vsazeného kurzu | Informace, které dorazily po vaší sázce | Nadhodnocuje výhodu, protože zavírací kurzy jsou ostřejší |
| Vynechávání zápasů s chybějícími daty | Obvykle zrušené a podivné zápasy | Odstraňuje právě ty výsledky, které bolí |
| Řazení podle kola místo času výkopu | Přeložené zápasy hrané později | Malé, ale systematické a vždy ve váš prospěch |
Lékem je walk-forward testování. Seřaďte každý zápas podle času výkopu; pro každý zápas přestavte hodnocení z utkání, která skončila před ním, ohodnoťte jej, zaznamenejte sázku, kterou by pravidlo umístilo, a kurz, který byl tehdy k dispozici, a pokračujte. Nechte jednu sezónu nedotčenou, dokud není model hotový, a první výsledek z ní považujte za skutečný.
Důležité. Počítejte každou sázku, kterou pravidlo vygeneruje, včetně těch, ze kterých byste se sami vymluvili. Backtest, který tiše vynechává zápasy, není testem modelu, ale vaší paměti, a stejná disciplína platí i pro záznam vašich skutečných sázek – viz sledování vašich sázek.
Kalibrace: jsou procenta upřímná?
Zisk je pomalá a zašumělá míra modelu. Přesnost je rychlejší: vezměte pravděpodobnost, kterou jste dali, odečtěte 1, pokud událost nastala, a 0, pokud ne, a umocněte rozdíl. Nižší je lepší a váš průměr lze porovnat přímo s trhem.
| Zápas | Model | Trh | Výsledek | Chyba modelu² | Chyba trhu² |
|---|---|---|---|---|---|
| 1 | 55 % | 50 % | Výhra | 0,2025 | 0,2500 |
| 2 | 40 % | 45 % | Prohra | 0,1600 | 0,2025 |
| 3 | 62 % | 58 % | Výhra | 0,1444 | 0,1764 |
| 4 | 30 % | 35 % | Prohra | 0,0900 | 0,1225 |
| 5 | 48 % | 52 % | Výhra | 0,2704 | 0,2304 |
| 6 | 25 % | 22 % | Prohra | 0,0625 | 0,0484 |
Celková chyba modelu je 0,9298 za šest zápasů, průměr 0,155; celková chyba trhu je 1,0302, průměr 0,172. V této hrstce je model přesnější – a šest zápasů nic nerozhodne, což je pointa. Jak dlouho trvá, než je verdikt skutečně platný, je rozpracováno v varianci a velikosti vzorku.
Spouštějte stejnou míru i po pásmech. Pokud vše, co ohodnotíte 60 %, vyhrává asi v 60 % případů, model je kalibrován; pokud sebevědomé pásmo trvale zaostává, hodnocení jsou natahovaná.
Kdy se model nevyplatí stavět
Počítejte hodiny poctivě: čtyřicet hodin na první verzi, pak dvě až tři týdně na udržování dat v aktuálnosti. Předpokládejme, že to produkuje dvacet kvalifikovaných sázek týdně po 100 Kč se skutečnou 3% výhodou. To je 20 × 100 Kč = 2 000 Kč obratu a 60 Kč týdně očekávané hodnoty – zhruba 20 Kč za hodinu údržby, ještě před prvním ztrátovým měsícem.
Tři věci to zhoršují: trhy, které nedokážete modelovat, kde jsou vaše data slabší než u provozovatele; ligy pod silnou profesionální pozorností, kde kurz již obsahuje to, co vaše tabulka ví; a samotný úspěch, protože účet, který kurz neustále poráží, bývá omezován – viz omezené účty.
Model se vyplatí stavět, pokud chcete číslo, se kterým se dá hádat, spíše než pocit, a dokážete přijmout, že jeho hlavním produktem jsou zamítnutí. Pro výstup bez údržby vás strukturovaná analýza jednotlivých zápasů dostane většinou tam – viz jak analyzovat zápas a ligy na stránce turnajů.
FAQ
Potřebuji programátorské dovednosti k sestavení tohoto modelu?
Ne pro výše uvedenou verzi. Tabulka s jedním řádkem na zápas, čtyřmi hodnoceními na klub a tabulkou o dvaceti pěti buňkách udělá vše, co je zde popsáno. Kód je nutný pro walk-forward testování napříč několika sezónami, protože ruční přestavování hodnocení před každým zápasem je nepraktické.
Proč model tak často nesouhlasí s trhem?
Obvykle proto, že mu chybí informace, ne proto, že našel hodnotu. Absence, změna trenéra, neutrální hřiště a rotace před pohárovým zápasem jsou v kurzu, ale ne v tabulce. Velký rozdíl berte jako podnět ke kontrole vstupů a passujte, když nedokážete vysvětlit, odkud pochází.
Měl bych místo skutečných gólů použít jako vstup očekávané góly?
Ano, jakmile základní verze běží. Góly jsou malý vzorek zašumělého procesu a kvalita šancí se stabilizuje rychleji, takže hodnocení postavená na očekávaných gólech se méně mění při jednom šíleném výsledku. Nechte běžet obě verze jednu sezónu a porovnejte jejich kvadrát chyb, než přepnete.
Kolik historie by měla hodnocení používat?
Zhruba jednu a půl sezóny s poklesem, spíše než pevné okno. Příliš krátké a jedna výhra 4:0 přepíše hodnocení; příliš dlouhé a popisujete tým, který už neexistuje. Smršťujte směrem k ligovému průměru, kdykoli méně než osm zápasů na daném místě podporuje hodnotu.
Tento článek je pouze informativní a není výzvou k hazardu. Sázení s sebou nese riziko ztráty peněz – nikdy nesázejte více, než si můžete dovolit ztratit. 18+. Pokud hazardování přestane být zábavou, přečtěte si náš průvodce odpovědným hraním a vyhledejte pomoc.