«Зенит» чемпион с вероятностью 85%, шансы «Спартака» на ЛЧ – 18%, «Сочи» – 17%. Итог 20 тысяч симуляций РПЛ по методу Монте-Карло
Интрига.
Прошлой весной мы уже рассказывали про модель математических прогнозов от FiveThirtyEight и показывали матрицу вероятностей на РПЛ: в процентах оценивали шансы команд на чемпионство, еврокубки и вылет.
Коротко напомним, что такое FiveThirtyEight. Это популярнейший американский сайт с математическими прогнозами на разные мировые события (политика, культура, спорт), сейчас он входит в холдинг ABC News. С недавнего времени там даже есть прогнозы на РПЛ! Если коротко, модель проводит симуляции матчей чемпионата, исходя из рейтинга команд, который рассчитываются по сложной схеме (детали обязательно расскажем ниже): учитываются результаты прошлых лет, стоимость состава, xG и даже турнирная мотивация.
В прошлом сезоне модель не попала в точку, но верно обозначила тренды
Перед тем, как повторить эксперимент, давайте оценим успешность прошлогоднего прогноза: мы его публиковали перед рестартом сезона.
![](https://photobooth.cdn.sports.ru/preset/post/f/b0/b373d24884b2494f81b1dd9835a14.png?f=webp&q=90&s=2x&w=730)
На первый взгляд, провал! Модель угадала только 4 точных места из 16. Но есть и кое-что положительное, а именно – верные тренды. Это видно, если сравнить итоговую таблицу с позициями команд после 20-го тура – когда составлялся прогноз.
![](https://photobooth.cdn.sports.ru/preset/post/3/63/659602c4048a39049b07ab252c8f9.png?f=webp&q=90&s=2x&w=730)
Модель недооценила «Сочи» и «Локомотив», но зато угадала прогресс «Спартака», «Динамо», «Рубина», падение «Ахмата» в зону вылета, прямой вылет «Крыльев» и неудачи «Ростова», который на момент прогноза шел третьим.
Из этого можно сформулировать главный вывод: 100-процентной точности (или даже 70-процентной) ждать не стоит, но оценить прогноз все равно полезно. Возможно, эта модель отражает расклад сил лучше, чем текущая турнирная таблица, потому что делает поправку на везение (когда команда недополучила очков или наоборот) и сложность календаря.
Так что по нынешнему сезону?
Матрица вероятностей после 20-го тура выглядит так.
![](https://photobooth.cdn.sports.ru/preset/post/1/c7/602cbd6d345e8bdd625c81b45e9c8.png?f=webp&q=90&s=2x&w=730)
• В глаза бросается, что «Спартак» выше «Сочи», хотя сейчас у него меньше набранных очков и в таблице он не третий, а четвертый. Опыт прошлого сезона подсказывает, что «Спартак» к финишу должен подняться выше.
• В «Краснодар» модель верит больше, чем в «Локомотив». FiveThirtyEight предсказывает, что к 30-му туру команды, скорее всего, поменяются местами.
• В борьбе за чемпионство интрига минимальна. Шансы ЦСКА около 10%, у «Спартака» и «Сочи» – совсем крошечные. А у всех остальных их фактически нет.
• В борьбе за Лигу чемпионов все не так очевидно. «Зенит» может не попасть в ЛЧ только чудом (вероятность такого провала 4%), а вот ЦСКА посложнее. У клуба пока одно очко отрыва, но лигочемпионский расклад для них – 50 на 50. Если ЦСКА притормозит, его место почти с равной долей вероятности займут «Спартак» или «Сочи». Да-да, «Сочи» в ЛЧ – это уже не шутка.
• С вылетом интереснее – с «Тамбовом» все понятно, у него минимальный шанс выбраться. Но все команды из нижней четверки могут оказаться на последних местах и вылететь напрямую. Как и остаться в верхней половине этой четверки и отправиться в стыки. Интрига невероятная.
• Две команды – откровенные середняки, у которых минимальные шансы как попасть в ЛЧ, так и вылететь. Это «Рубин» и «Химки», соседи по вероятностной таблице – скорее всего, эта парочка займет 9-11 места.
Для наглядности текущая таблица.
![](https://photobooth.cdn.sports.ru/preset/post/c/fc/43ac3094e412296da12dbbd3a4623.jpeg?f=webp&q=90&s=2x&w=730)
Прогноз на чемпионство и ЛЧ в топ-лигах. И еврокубки!
![](https://photobooth.cdn.sports.ru/preset/post/a/e8/6dda8ffa542a19c1ac3f82d84b484.png?f=webp&q=90&s=2x&w=730)
![](https://photobooth.cdn.sports.ru/preset/post/6/1f/be2670c4b4a039989121a146ed12d.png?f=webp&q=90&s=2x&w=730)
![](https://photobooth.cdn.sports.ru/preset/post/9/e8/c68596b6b4259aef9879978b8cc60.png?f=webp&q=90&s=2x&w=730)
![](https://photobooth.cdn.sports.ru/preset/post/1/ed/c8a2c7bee48b8ad3a362457a1f49e.png?f=webp&q=90&s=2x&w=730)
![](https://photobooth.cdn.sports.ru/preset/post/9/02/fc673badc41d1add19ce04e3923ff.png?f=webp&q=90&s=2x&w=730)
![](https://photobooth.cdn.sports.ru/preset/post/7/ec/c9b29551944a28c57b03701a34364.png?f=webp&q=90&s=2x&w=730)
• Небольшой бонус, которого нет в графиках: вероятность вылета «Шальке» – 99%. Это самая высокая вероятность в лигах топ-5. У пары команд есть 98% – у «Шеффилда» и «Дижона», например, – но гельзенкирхенцев никто не переплюнет.
• «Ливерпуль» в матрице выше «Лестера», «Челси» и «Вест Хэма», хотя в реальной таблице ниже всех троих. А «Ман Сити» – очевидный чемпион. В лигах топ-5 таких больше нет.
• В Италии еще лидировавший недавно «Милан» всего лишь третий в таблице вероятностей – «Юве» выше, хотя очков в реальной жизни у него меньше.
• Удивительно это говорить, но во Франции самая жесткая гонка за чемпионство. Реальные шансы есть даже у «Монако», идущего на четвертом месте.
• Хотя и Испания ушла недалеко – интересно, что «Атлетико» везет «Барсе» 5 очков, главным преследователем считается «Реал» (учитывая, какие у каталонцев проблемы были в ЛЧ, например), но неожиданно у команды Роналда Кумана почти такие же шансы на титул, как у парней Симеоне.
• В ЛЧ самые высокие шансы у «Ман Сити» – причем с огромным отрывом. В топ-5 есть и «Челси», который в АПЛ даже не попадает в ЛЧ по итогам сезона (вероятностно, опять же).
Как это считается: 20 тысяч симуляций по методу Монте-Карло, распределение Пуассона
Сразу предупредим: в этой главе будет много технических подробностей, которыми мы не можем не поделиться – потому что сама модель выглядит очень любопытно.
Для тех, кого детали особо не интересуют, сокращенное описание модели: FiveThirtyEight присваивает каждой команде собственный рейтинг/индекс SPI – на его основе высчитывается вероятность результата каждого матча. А потом и результаты всего сезона, так и составляется матрица вероятностей.
![](https://photobooth.cdn.sports.ru/preset/post/c/df/1ddc712b54f22aa81abf81a5bf3c8.jpeg?f=webp&q=90&s=2x&w=730)
А теперь подробности.
• Основа всего – индекс SPI, он показывает, сколько процентов от максимально возможного количества очков команда должна взять в этом сезоне. Перед началом каждого сезона рейтинг корректируется (важно: это только предсезонный рейтинг, после каждого матча он корректируется на основании новой информации): 63% индекса составляют прошлогодний SPI, а оставшиеся 37% – стоимость команды на Transfermarkt. И это можно назвать минусом модели, ведь Transfermarkt хороший инструмент, но там на стоимость игрока влияют возраст и перспектива, а нам нужна метрика текущей силы футболиста. Например, Кристиан Нобоа сейчас оценивается ровно в два раза дешевле Игоря Коновалова (1 млн евро против 2 млн). Хотя Коновалов в этом сезоне провел всего 6 матчей в РПЛ, а Нобоа – один из лучших игроков лиги.
• Индекс SPI формируется из двух компонентов: атакующий рейтинг и защитный.
Атакующий и защитный рейтинг – это количество голов, которые команда должна забить/пропустить в матче против усредненного соперника в лиге. Например, текущие показатели «Зенита» 2,1 – 0,9, ЦСКА – 1,7 – 0,9, «Спартака» – 1,6 – 1,0. Рейтинг меняется в течение сезона на основе трех компонентов.
1) Скорректированные голы – учитывает условия, при которых был забит каждый гол. Голы, забитые в большинстве и при победном счете, стоят гораздо ниже, чем другие.
2) xG – ожидаемые голы, важный элемент аналитики в современном футболе.
3) xG без учета ударов. Ожидаемые голы, которые могли быть забиты в атаках без ударов по воротам. Например, по подсчетам составителей рейтинга перехват в штрафной – гол с 9-процентной вероятностью. А точный пас во вратарскую – гол с 14-процентной вероятностью. Как и с обычными xG, существует корректировка с учетом характеристик пасующего, бьющего (или принявшего пас) и вратаря.
Итоговый счет симулируемого матча – это наложение трех метрик одной команды на метрики другой.
• Для каждого матча составляется матрица возможных результатов. Рассчитывается количество забитых/пропущенных мячей для сохранения атакующего и оборонительного. Далее по распределению Пуассона высчитывается, сколько каждый соперник должен забить в конкретном матче.
Разумеется, FiveThirtyEight – это не 100-процентный прогноз, модель не учитывает аномалии. Вот пример матча «Эвертона» и «Ман Сити» в 2017-м: он закончился 4:0, но модель предсказывала более напряженный матч: «Эвертон» забил дважды после 70-й минуты, нанес всего 6 ударов – и при обычной реализации он не забил бы и гола, а тут – сразу четыре.
![](https://photobooth.cdn.sports.ru/preset/post/b/24/f5c2a647b4451903caeb12d34274a.jpeg?f=webp&q=90&s=2x&w=730)
• Когда есть вероятность для каждого матча, запускают симуляцию всего сезона. Ее проводят 20 тысяч раз по методу Монте-Карло и высчитывают шансы команд на победу в турнире, выход в ЛЧ, вылет и конкретную позицию в таблице. После каждого тура процесс повторяется – чтобы сохранять актуальность.
• При составлении матрицы вероятностей учитывается даже мотивация, и это самое интересное. Когда для одной команды матч важнее, чем для другой, то первая команда, скорее всего, будет играть лучше себя обычной и превзойдет ожидания. При этом если матч не важен ни для одной из команд, неопределенность возрастает.
Критерий важности такой: как сильно результат повлияет на вероятность продвинуться или упасть в турнирной таблице.
Проще понять на конкретном примере. Допустим, что у «Ростова» и «Сочи» (близких по индексу SPI) одинаковая важность предстоящей игры. Соответственно, у хозяев будет 50-процентный шанс на победу, у гостей – 25%, еще 25% – ничья.
Если предположить, что для хозяев это матч чрезвычайно важный, а для гостей – бессмысленный, то шансы хозяев вырастут на 8%, а шансы гостей упадут на 7%. При этом если матч бессмысленный, шансы хозяев падают до 43%, гостей – до 30%.
• FiveThirtyEight прогнозирует и еврокубки. На старте разработки индекса силы лиги предполагается, что все лиги равны. Затем составляются ожидаемые результаты матчей, основываясь на внутреннем рейтинге SPI. А он равен, например, у «Зенита» и гладбахской «Боруссии». Потом сравнивают результаты матчей между командами из этих стран за пять лет, соотносят с прогнозами, составляют индекс силы лиги, корректируют его с учетом усредненной стоимости игрока лиги – и получается, что «Зенит» превращается в аутсайдера.
«Ростов» достойно наказал «Зенит» за неорганизованный прессинг и индивидуальные ошибки
Фото: fc-zenit.ru/Вячеслав Евдокимов
Во сюжет.
- получается, что SPI вообще почти не зависит от текущего сезона, а меряется только по прошлому (только от изменения стоимостей на transfermarkt, которое происходит несколько раз в год и с большим лагом)? очевидно, что оценка силы Сочи перед сезоном и на текущий момент должны кардинально отличаться и т.д.
- насколько я понял, не учитываются травмы/дисквалификации игроков и т.д. например, ростер у Краснодара на transfermarkt дорогой, но что толку, если полкоманды будет лечиться в ближайших матчах?
- странно, что никак не учитываются результаты "личных встреч", которые в любом виде спорта имеют большое значения: есть "неудобные" соперники/тактические схемы и т.п.
- плохо раскрыто, как именно учитывается фактор своего поля: для конкретных соперников по матчу или по среднему для всей РПЛ/ генеральной совокупности. например, известно, что есть "домашние" команды и т.п.
в общем, очень интересно было бы достать модель какого-нибудь букмекера - думаю, что моделирование на основании такого прогноза получится более предсказательным.
Когда начинают втирать про огромное количество мелочей, которые учитываются, а на обложке мы видим, что создатели даже логотипы команд в глаза не видели, то это ясно даёт понять "качество" продукта. Ага, мотивация, составы. Конечно.
https://www.sports.ru/tribuna/blogs/fitpredict/2888823.html
Даже у солнца есть вероятность не взойти на следующее утро - это событие зависит от широты (полярные ночи).
По прошлогоднему прогнозу изменения максимально в два места, а по факту 3 "рывка" на 5 мест.
Каким образом объем ставок влияет на правильность прогноза? У БК цель не прогноз, а прибыль
Ведь за 2 тура всё может очень сильно поменяться
И да. Позабавила фраза "гениальная" модель угадала всего лишь 4 места из 16-и в таблице РПЛ, но типа тренды она показала правильно. Тогда какая она в ж...гениальная. Моя собака если будет носом случайно тыкать в команды тоже угадает команды четыре, а тренды я и сам потом нарисую.
Вы сами пишите, что **симуляцию** прогоняют 20к раз. Статистическая погрешность симуляций sqrt(20000)=141 или 0.7%. В данном применении это не так важно, как систематические погрешности (оценка игрока по Transfer market, мотивация команды, ручные судьи и т.п.), которые оценить тяжело.
Теперь переходим к **реальным данным**. В реальных данных у нас всего одно событие! Это итог соревнований на данный год. Чтобы было больше событий в данных, надо иметь много параллельных вселенных, где всё (помимо футбола) происходит идентично. Статистическая погрешность одного события sqrt(1)=1, то есть 100%. Если бы у нас было 20 тысяч вселенных, то результат симулятора был верным в пределах погрешности (их сложно оценить из-за неясных систематических ошибок) в большинстве случаев "реальных данных".
Пример из реальности. В 2012 году объявили об открытии бозона Хиггса. Это не значит, что на LHC всё время искали одно событие, в котором этот бозон появился, и как только это событие нашли - сразу публикация. На самом деле данные с детекторов (ATLAS и CMS) сравнивали с симуляцией известной физики без учёта бозона Хиггса. Как только в данных набралось значительно больше событий (5 сигм), чем в симуляции без Хиггса, к симуляции добавили этот бозон, и данные сошлись с симуляцией. Если я правильно помню, в данных с учётом применённых фильтров было порядка 200к событий, малая часть из которых - бозон Хиггса, а остальное - т.н. фон. Если же мы возьмём одно случайное событие с детектора (один реальный розыгрыш футбольного турнира), то мы ничего дельного о физике не узнаем из-за недостатка статистики (разные результаты могут быть с разной вероятностью, и, очевидно, все они не могут реализоваться в одном событии).