Аналитик создал нейросеть для прогнозов на базе карточек FIFA и получил ROI 11%

Аналитик создал нейросеть для прогнозов на базе карточек FIFA и получил ROI 11%

Специалист по анализу данных Channel 4 Брэдли Грэнтэм разработал предиктивную модель для АПЛ на основе карточек FIFA. Коэффициенты взяты по линии закрытия Pinnacle.

В прошлом году мне захотелось поиграться с xG-моделью и попрактиковаться в программировании на Python. Меня вдохновили Майкл Кейли и Тед Кнутсон, за которыми я слежу в твиттере.

На мой взгляд, xG — просто фантастика. Но, как и другие футбольные метрики, теория ожидаемых голов имеет недостатки. Она не учитывает составы команд и не может измерить эффект новичков на игру команды.

Я хотел создать то, что: а) помогало прогнозировать исходы матчей; б) было новым; в) использовало данные об игроках. Я почти не видел имплементации нейросетей в футбол, поэтому создал модель в Tensorflow для предсказания результатов игр на основании стартовых составов.

Данные

Наиболее очевидный рейтинг футболистов — база FIFA от EA Sport. Она обновляется ежегодно, едина для всех лиг и достаточно точна. Я использовал только общий рейтинг, хотя другие параметры могли бы дать более точные результаты.

Я собрал рейтинги игроков АПЛ за последние 5 лет с сайта fifaindex.com. Информацию об участии в матчах взял с betstudy.com, где собраны данные о фамилии, номере и национальности каждого, кто играл в АПЛ.

Фамилии из баз FIFA и Betstudy не всегда совпадали, поэтому использовал комбинацию из фамилии, номера, команды и национальности. Я получил 22 рейтинга на каждый матч за последние 5 сезонов Премьер-Лиги.

прогнозирование по карточкам фифа 1

Что обозначают нули

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

Поэтому для каждого стартового состава я создал вектор из 18 позиций (пример выше). Первая клетка — вратарь, следующие 6 — рейтинги защитников. Если защитников меньше, то клетки остаются пустыми (значение 0). Следующие 7 позиций для полузащитников и последние 4 — для атаки. По схеме выше ясно, что «Челси» играл 5-2-3.

Подобная структура помогала учитывать игровые схемы. В нейронную сеть попадает 36-мерный вектор (18 домашних ячеек и 18 гостевых), что позволяет учитывать домашнее преимущество.

На последнем этапе я загрузил результаты игр и коэффициенты с football-data.co.uk.

Модель с обучением

На картинке — архитектура нейронной сети

прогнозирование по карточкам фифа 2

После сбора и форматирования данных необходимо определить внутреннюю структуру сети. Я тренировал нейросеть на сезонах с 2013/14 по 2016/17, чтобы потом протестировать модель на сезоне 2017/2018. Из 1540 игр я оставил 50 для финальной проверки.

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

Тестирование

Для тестирования я взял банкролл в 100 фунтов и по критерию Келли высчитал оптимальный размер ставки. Я избегал ставок на коэффициенты больше 3.2 и не делал прогнозы, если мои вероятности были лучше букмекерских менее чем на 2%.

По итогам тестов за сезон-2017/2018 ROI составил 11% — замечательный показатель. Я переобучил модель несколько раз, провел еще новые тесты, но результат оставался стабильным. Вот несколько конкретных цифр:

  • выиграно 50% ставок;
  • средний коэффициент на Pinnacle — 2,37;
  • средний прогнозный коэффициент — 2,01;
  • средний валуй — 7,23%, с максимальным значением 21,3%.

прогнозирование по карточкам фифа 3

Сезон-2018/2019

Вдохновившись отличными результатами, я решил проверить модель в боевых условиях. Перед сезоном-2018/19 я переобучил модель, загрузив в нее сезон-2017/18. Оставались важные нюансы — угадать стартовые составы и схемы игры для каждой команды. Это не так сложно в начале чемпионата, но к весне меняется очень многое.

Для сезона-2018/19 я планировал использовать карточки из FIFA-2017/2018. Это не критично, но было много игроков, чьи показатели значительно изменились за год. Оставалось ждать новой FIFA с актуальными рейтингами.

Я просимулировал сезон миллион раз и подсчитал среднее количество очков, побед, поражений и ничьих, а также процент, как часто команды финишировали первыми, в первой четверке, в зоне вылета.

прогнозирование по карточкам фифа 4

Получив первые результаты, я немного проиграл с моделью, например, допустив уход Азара, я ставил вместо него Виллиана (рейтинг 91 против 84). Это приводило к тому, что «Челси» недобирал 4 очка по итогам сезона.

В целом, я очень доволен работой модели. Это неидеальный способ моделирования футбольного матча. Футбол гораздо сложнее: тренер, мотивация, погода, стадия сезона, график, удача. Тем не менее исследование получилось занимательным. Я хочу настроить модель на использование Smarkets API, чтобы ставки делались автоматически.

P.S. Статья была написана летом 2018 года. Чемпионство «МС» не вызывало сомнений, а вот «Ливерпуль» был недооценен — только 5-е место. С зоной вылета все неплохо — модель верно предсказала вылет «Кардиффа» и «Хаддерсфилда», а вот слабое выступление «Фулхэма» высчитать не удалось.

Переведено с сайта towardsdatascience.com

22.04.2022 • 12:05

Нашли ошибку? Сообщите нам