15 мин.

Модели для прогнозирования футбольных матчей

Автор: Dmitriy Sonic

Блог: Триумфатор и GameleonTeam

Я очень часто наталкивался на форумах даже на такие абсурдные фразы как например: «Думаю Челси выиграет этот матч в 60% случаев поэтому поставлю на них за коэффициент 1,5». То есть автору этой фразы достаточно того, что его ставка сыграет чаще, чем не сыграет, и совершенно наплевать, что если его ставка будет играть в 60% случаев при коэффициенте 1,5, то он будет терять на дистанции 10% от поставленных денег. А значит, если он поставит 100 ставок по $10 на коэффициент 1,5, то в среднем на дистанции он проиграет за эти 100 ставок $100. Здесь достаточно легкий расчет, но я все же остановлюсь на нем чтобы ни у кого не возникало вопросов. Игрок ставит $10 на одну ставку. Выиграет он ее в 60% случаев, а проиграет соответственно в 40% случаев. Значит в 40% случаев он получит убыток в 10$, а в 60% случаев его прибыль составит $5, так как он ставил $10 за коэффициент 1,5. А значит на длинной дистанции он будет терять в среднем по одному доллару с каждой ставки. Формула всех расчетов на скрине.

 

Чтобы такого не происходило, нужно ставить задачу не найти ставку которая чаще сыграет, чем не сыграет, а найти ставку у которой на один из исходов есть плюсовый ROI и поставить на этот самый исход. И как раз для этого нам нужно научиться как можно точнее прогнозировать вероятности исходов события. Другими словами, мы должны научиться как можно точнее рассчитывать вероятность победы первой команды в конкретном матче, вероятность победы второй команды, а также, вероятность ничьи, если это конечно вид спорта, в котором возможны ничьи. 

Научившись достаточно точно прогнозировать эти вероятности, мы сможем довольно легко находить матчи в которых есть ROI на какой-либо исход. Для этого нам нужно каждую отдельную вероятность умножить на коэффициент который дает контора на этот самый исход. 

Возьмем такой пример. Допустим играет сборная Египта против сборной Болгарии футбольный поединок. И мы путем своих подсчетов (предположим что они идеальные) определили следующие вероятности:

  • Победа Египта 38%

  • Ничья 32%

  • Победа Болгарии 30%

А контора, где мы собираемся делать ставку, выставила следующие коэффициенты в линии:

  • Победа Египта 2,5

  • Ничья 3,2 

  • Победа Болгарии 3,15

Значит если мы поставим на победу Египта, то мы поставим с ROI -5% (минус 5), то есть на длинной дистанции мы будем 5% от тех денег, что ставим на победу Египта.

Считается это так:

38%(Победа Египта) *2,5(Коэффициент на победу Египта) -100 = -5%

Что же произойдет если мы поставим на победу Болгарии?

30%(Победа Болгарии)*3.15(Коэффициент на победу Болгарии)-100= -5,5%

Эти 2 исхода говорят нам о том, что мы ни в коем случае не должны ставить на победу Египта или Болгарии, если подсчеты наши по вероятностям победы конечно точны. Нам нужно либо пропустить данные ставки, либо дождаться, когда коэффициенты на победу изменяться до тех пор, пока один из исходов не будет иметь положительный ROI.

Но у нас еще в линии есть ничья, что же с ней?

32%(Вероятность ничьи)*3,2(Коэффициент на ничью)-100= +2,4%

Как мы видим при ставке на ничью мы получаем ROI 2,4%, а значит ставки на этот исход нам выгодны, и на дистанции с каждого поставленного доллара на этот исход мы будем получать 2,4% прибыли. Таким образом, подытожив, мы можем сказать, что все что нам нужно, это научиться правильно определять вероятности исходов матча. То есть вероятность победы первой команды, ничьи и победы второй, после чего мы без труда найдем ставки у которых есть ROI, и как итог сможем ставить на матчи с плюсовым ROI и зарабатывать деньги.

Теперь когда вы понимаете что когда вы научитесь максимально точно определять вероятности исходов события, вы без труда сможете находить ставки с плюсовым ROI, и ставить на дистанции в плюс. Давайте перейдем к началу изучения прогнозирования вероятностей.

За прогнозирование вероятностей любого события будь то спортивное событие либо не спортивное, к примеру прогноз погоды или попадание снаряда в цель, отвечают науки - теория вероятностей и статистика. Для тех кому интересно начать изучать эти безумно полезные науки, если вы их не изучали ранее, я составил список очень полезных книг по которым вам проще всего будет получить знания:

1. Наиболее простым и понятным неискушенному читателю языком, написаны книги Е.С. Вентцель,т.к. они были предназначены для офицеров-артиллеристов. Там множество примеров (из артиллерии), все довольно подробно "разжевано".

2. Для тех же у кого есть математическая база знаний подойдет вузовский учебник "Чистяков В.П. Курс теории вероятностей", он очень лаконичен, но, вместе с тем, содержит практически все понемногу, а детали всегда можно найти в интернете. 

3. Так же неплохая книга "Руководство для инженеров по решению задач теории вероятностей".Ленинград, 1962 г.

Для тех кому легче обучаться по видео, могу посоветовать посмотреть лекции вот этого дядьки.  

https://www.youtube.com/watch?v=ixbM-sYrKaE&list=PLDrmKwRSNx7I3oNz_9RncOmuOj1Bny-Yw 

Очень толково, интересно и доходчиво все рассказывает, специально искал на ютубе хорошего преподавателя, чтобы вам легче было усвоить тему. Посмотрел несколько его уроков и могу сказать, что по этим видео обучаться достаточно легко, и преподаватель достаточно сильный. 

Кто же не тяготеет к математическим наукам, не расстраивайтесь, так как на нашем Youtube-канале: 

https://www.youtube.com/channel/UCOg_DNGpyPYFxDipaIBl4kQ/videos?view_as=subscriber 

мы будем все рассказывать и показывать очень подробно, чтобы вы смогли понимать, что и как делать для прогнозирования матчей.

Теория вероятностей- это сугубо математическая наука, а значит для прогнозирования вероятностей понадобится разрабатывать математические модели, которые будут прогнозировать вероятности наступления того или иного события. Наша задача создавать максимально точные модели, ведь чем точнее мы рассчитаем вероятности, тем точнее будут наши ставки, и соответственно мы будем получать выше ROI. 

Первое, о чем нужно подумать при создании любой модели прогнозирующей вероятностей, это то, на данных какого типа будет она строиться? К примеру, в баскетболе можно строить различные системы прогнозирования на очках набранных командой в матче, так как этих очков достаточно много в каждом матче и соответственно в каждом сезоне. Так же если брать к примеру НБА, то там очень много матчей за сезон, поэтому база данных для прогнозирования каждый сезон набирается достаточно быстро. Если брать теннис, то здесь уже все несколько сложнее. Рассчитывать вероятности на основе окончательного счета, то есть, на основе количества выигранных сетов в том или ином матче бесполезное занятие. Т. к. сетов играется очень мало, бывает, что игроки за месяц играют всего лишь по 6-8 сетов. Даже если сделать модель на основе сетов мы столкнемся с той проблемой, что на основе сетов никак нельзя посчитать вероятности того или иного точного тотала геймов. К примеру, с помощью модели основанной на сетах, мы никак не узнаем какая вероятность того, что игроки сыграют ровно 20 геймов или к примеру 21 гейм в матче, а эти данные нам нужны для расчета вероятностей тотала. Я видел множество примеров расчетов тотала в теннисе. И везде на основе прошлых матчей пытались спрогнозировать как часто матч закончится больше или меньше того тотала, который написан в линии. На самом деле это вкорне неверный подход. Для прогнозирования тотала необходимо создавать модель которая будет определять вероятности каждого количества геймов. То есть, после того как модель сделала расчеты, мы должны видеть какова вероятность того, что в матче будет ровно 12 геймов, какова вероятность что будет ровно 13 геймов, 14, 15 и так далее. Если нельзя прогнозировать с помощью сетов, то как же прогнозировать вероятности в теннисе? 

Первое что приходит на ум это геймы, но и с ними есть множество проблем. Количество геймов, которые играет игрок, по-прежнему недостаточно большое, особенно если вспомнить что теннис это одиночный вид спорта и здесь очень большое влияние на вероятности играет текущая форма игрока, поэтому модели нужно строить на свежих данных, т. к. модели которые построены на данных четырех-пяти месячной давности будут очень неточны из-за того, что форма игроков в то время была совершенно другая относительно нынешней формы. Еще одной проблемой является то, что геймы в теннисе набираются не всегда линейным способом, ведь никак нельзя сыграть ровно 11 геймов в сете, это вносит очень большие коррективы при прогнозировании тотала. Об этом мы обязательно расскажем в дальнейших наших постах и видео. В общем мы подошли к ответу, что точнее всего вероятности исходов в теннисном матче прогнозируются с помощью данных о вероятности выиграть один розыгрыш. Зная вероятности с которыми соперники будут выигрывать очко на своей подаче против конкретного соперника, можно очень легко с помощью метода Монте-Карло посчитать абсолютно любую вероятность в матче, от вероятности побед соперников, до вероятностей того, что конечный счет будет 7-6 2-6 1-6.

На рисунке ниже представлена схема, с помощью которой можно построить модель Монте-Карло в екселе, обязательно попробуйте это сделать, очень полезно и интересно.

Давайте теперь перейдем к футболу.

На каких данных строить модель в футболе? Первое что приходит на ум это создавать модель на основе результатов прошлых матчей, то есть, на основе голов. Давайте рассмотрим футбол с математической точки зрения, чтобы понять почему эта затея несерьезна. Футбол это самый дисперсионный вид спорта, и я готов объяснить почему.

Если рассматривать виды спорта на которые принимаются ставки, то только в футболе возможны ситуации, когда одна из команд бьет в 10-20 раз больше ударов, но проигрывает матч. Думаю, каждый из вас хоть раз сталкивался с матчем, где одна из команд наносила 20-30 ударов по воротам и проигрывала матч команде, которая нанесла 1-2 удара. Все это из-за того, что футбол спорт с очень низкой результативностью, и у доброй половины ударов вероятность воплотиться в гол менее 5% и только у совсем малого количества ударов такая вероятность превышает 30%. Представьте ситуацию, чтобы в гандболе одной команде дали бросить 30 раз по воротам, а второй 3 раза, и выиграла вторая команда. Как вы понимаете у второй команды априори нет шансов выиграть, так как в гандболе вероятность забить гол в каждом броске намного выше. Поэтому команда, которая наносит 30 бросков, забьет даже при самых худших раскладах 10 голов, а при лучших более 25, а значит у команды с 3 бросками нет абсолютно никаких шансов. Тоже самое и в баскетболе, команда которая бросит в 10 раз больше в кольцо, победит без каких-либо вариантов. Наиболее близкий футболу по рандомности вид спорта это хоккей, но и там дисперсия все же меньше чем в футболе, т. к. голов и бросков больше. Так же зачастую в хоккее играют больше матчей чем в футболе. Но все же в хоккее дисперсия так же очень большая, чтобы прогнозировать отталкиваясь от результата игры. Поэтому прогнозирование на основе конечного счета так же не даст достаточно точных результатов.

Итак, как же прогнозировать вероятности футбольных матчей? Одним из вариантов является построение модели прогнозирования основанной на более мелких элементах игры, чем голы, а именно на ударах по воротам, и на владении мячом. Давайте я вкратце расскажу, как работали системы несколько лет назад и как люди делали ставки, даже не смотря ни одного матча за год. Когда я жил в Чехии, я познакомился с одним успешным беттором из Германии, которого звали Пауль и я лично видел, как он делает ставки на футбол, и какие системы для этого использует. Для того чтобы узнать какова вероятность того или иного исхода матча, он рассчитывал вначале вероятности для владения мячом и удара. К примеру, представим, что в матче Лион и Марсель он рассчитал такие вероятности владения мячом:

Вероятности Лион Марсель

Как вы видите из картинке выше у каждого владения есть своя вероятность, к примеру в 10% матчей Лион будет владеть мячом ровно 55% времени; в 8% матчей Лион будет владеть ровно 54% времени; в 2 % матчей Лион будет владеть 48% времени. Все эти вероятности зависят от различного хода матча. 

Тоже самое Пауль сделал и для ударов по воротам, к примеру на картинке ниже в 8% случаев Лион нанесет ровно на 4 удара больше, чем соперник, и так же в 8% матчей ровно на 3 удара больше, чем соперник. В 1 % матчей на 16 ударов больше, чем соперник, и так же в 1% на 10 ударов меньше, чем соперник.

 

Точно так он работал и с пасами, угловыми и другими статистическими показателями. Что с этим со всем он делал дальше?

У него были математические модели, основанные на статистики с 30 000 матчей, эти модели помогали ему конвертировать вероятности владения, вероятности ударов и вероятности прочих статистических данных в вероятности исходов события. Давайте расскажу, как это выглядело, но сразу скажу, что этих данных к сожалению, у меня нет, так как в то время я не делал ставки, а когда мы обратили внимание на ставки, то сразу начали работать с xG. Поэтому буду показывать примеры с данными собранными за 3000 матчей специально для этого поста. Если кто-нибудь желает пользоваться этой стратегией которую я сейчас покажу, то скажу сразу, нужно в идеале собрать статистику как минимум с 30 000 матчей, чтобы получить точные данные. Если работать одному, то уйдет около недели-двух. 

Итак, смотрим на картинку ниже, где у нас 4 колонки.

Первая колонка - это столбик в котором написана разница ударов между домашней командой и командой гостей. Как вы понимаете здесь как пример указана лишь несколько разниц, так как команды могут нанести не только на 5 ударов больше по воротам, но и на 10 и на 20, но это нам сейчас ни к чему.

Вторая колонка - это вероятность с которой выиграет первая команда при той или иной разнице в ударах.

Третья колонка соответственно вероятность ничьи, и четвертая вероятность победы второй команды.

 

Как пример, если первая команда нанесет на 3 удара больше по воротам, то она победит в матче в 47% процентах случаев, сыграет вничью в 26% и проиграет 27% матчей. Если домашняя команда нанесет на 5 ударов меньше, то она выиграет в 32% случаях, в 28% будет ничья, а проиграет соответственно в 40% матчей. Как вы видите прослеживается отличная корреляция между нанесенными ударами и вероятностями исхода матча.

Теперь вы понимаете, что когда Пауль, к примеру, рассчитывал, что в матче Лиона и Марселя, Лион нанесет в 8% матчей на 3 удара больше по воротам, он понимал, что в тех матчах, где разница будет ровно на 3 удара, Лион выиграет в 47% случаев, ничья будет в 26%, а победа Марселя в 27%.

То есть из этих 8% матчей Лион выиграет 8*0,47=3,76%, ничья будет в 8*0,26=2,08%, а Марсель победит в 8*0,27=2,16%.

 

Далее такие же подсчеты проделывались и для остальных вероятностей, к примеру, когда в 2% матчей Марсель нанесет на 5 ударов больше по воротам, он выиграет в 40%, сыграет вничью в 28% и проиграет в 32% матчей, а значит в этих 2% мы получим 2*0,32=0,64% победа Лиона, 2*0,28=0,56% ничья и 0,8% победа Марселя, и так далее.

Как итог, умножив все вероятности из этой кривой Гаусса

 

на вероятности из таблицы вероятностей,

 

Пауль получал вероятности исходов матча Лион – Марсель. Так он проделывал и для ударов, и для владения, и для нескольких других статистических данных. Например, угловые, пасы, отборы, и на выходе после всех этих манипуляций он знал достаточно точные вероятности исходов, и на дистанции переигрывал пул игроков с приличным ROI. Все что ему нужно было, так это построить модель прогнозирующую вероятности владения, пасов, ударов, и так далее.

Эта модель строится достаточно легко и к ее построению мы еще доберемся, когда будем рассказывать, как строить такие модели для xG, правда там все намного сложнее.

Кстати, если вы внимательно смотрели на таблицу, то могли заметить, что при равном количестве ударов (0), к примеру, при счете 15-15 по ударам, вероятность победы первой команды 39%, а второй лишь 31%.

Это связано НЕ с тем, что домашние команды лучше реализуют моменты на домашнем стадионе, т.к на реализацию самого удара не особо влияет домашний или гостевой стадионы. Это объясняется тем, что домашние команды создают более опасные моменты в матче, чем гостевые команды. К примеру, домашние команды реже бьют издали, и чаще с близкого расстояния. Это все дает то, что вероятность реализовать удар у домашней команды чуть выше, чем у гостевой, и соответственно 15 ударов домашней команды чуть лучше, чем те же 15 ударов гостевой команды. Это может быть незаметно глазу, но изучив уже через время статистику по xG, мы действительно нашли математическое подтверждение этому факту, в будущем у нас будет выходить множество видео по xG и в одном из них Артем покажет и расскажет об этом.

Итак, системы построенные на проценте владения, на угловых и на количестве ударов действительно могут достаточно точно определять вероятности исходов предстоящих матчей. Но с появлением xG все изменилось. Теперь можно прогнозировать матчи намного точнее, ведь мы можем узнать не просто количество ударов в матче, но и вероятность каждого удара стать голом. И этот путь ведет к прогнозированию вероятностей с изумительной точностью.

ОРИГИНАЛЬНЫЙ ПОСТ

Читайте самые горячие 🔥 материалы «Академии»: