Предисловие

Внедрение искусственного интеллекта дало нам возможность создавать системы прогнозирования с беспрецедентной точностью. Машинное обучение так или иначе используется практически во всех областях благодаря своей исключительной эффективности. Одной из таких областей, где прогностические системы приобрели большую популярность, является прогнозирование результатов футбольных матчей. Эта статья демонстрирует нашу работу по построению обобщенной прогностической модели для прогнозирования результатов английской Премьер-лиги. Используя разработку функций и поисковый анализ данных, мы создаем набор признаков (features) для определения наиболее важных факторов для прогнозирования результатов футбольного матча и, следовательно, создаем высокоточную систему прогнозирования с использованием машинного обучения. Мы демонстрируем сильную зависимость производительности наших моделей от важных признаков. Наша лучшая модель, использующая градиентный бустинг, показала 0,2156 по показателю рейтинговой вероятности (RPS) для игровых недель с 6 по 38 в английской Премьер-лиге, собранной за два сезона (2014-2015 и 2015-2016), в то время как у букмекерских контор, которые мы рассматриваем (Bet365 и Pinnacle Sports), показатель RPS составил 0,212 за тот же период. Поскольку более низкое значение RPS означает более высокую точность прогнозирования, наша модель не смогла превзойти прогнозы букмекера, несмотря на получение многообещающих результатов.

1. Введение

Футбол, который иногда называют soccer, является самым популярным видом спорта в мире. В некоторых странах множество футбольных команд участвуют как в региональных, так и в национальных чемпионатах. Из многочисленных футбольных чемпионатов в нашей статье особое внимание уделяется английской Премьер-лиге. Английская Премьер-лига является самой популярной спортивной лигой в мире, ее трансляции транслируются в 643 миллионах домов, а потенциальная телеаудитория составляет 4,7 миллиарда человек. Моделирование системы прогнозирования футбольных матчей представляет интерес не только для научных кругов, но и имеет огромное значение с точки зрения экономической ценности. В статье Би-би-си оценивалась стоимость рынка ставок на футбол примерно в 700 млн. - 1 трлн долларов.

Основной проблемой, с которой столкнулись при моделировании результатов, была высокая конкуренция в английской Премьер-лиге и частые неудачи (когда слабые команды выигрывают у сильных). Мир был потрясен, когда футбольный клуб "Лестер Сити" выиграл чемпионат в 2016 году, несмотря ни на что, но это демонстрирует крайне непредсказуемый характер игры и, следовательно, сложность проблемы, которую мы пытаемся решить.

Наши исследования сосредоточены на создании и использовании признаков (Feature Engineering) , а также на применении передовых методов машинного обучения, и позволяют достичь многообещающих результатов. Проблема прогнозирования футбольных матчей заключается в том, что это многоклассовая задача классификации, при которой результат попадает в один из трех классов: {Победа хозяев, победа гостей, ничья}.

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

Основанное на результатах исследование, посвященное этой проблеме, было проведено Joseph, Fenton, and Neil (2006). Основное внимание в их исследовании было сосредоточено на создании экспертной байесовской сети для прогнозирования результатов команды "Тоттенхэм Хотспурс" за период 1995-1997 годов. Они продемонстрировали, что их экспертная байесовская сеть превосходит другие методы машинного обучения, такие как k-ближайших соседей, наивный байесовский классификатор и деревья решений MC4. Несмотря на то, что они смогли достичь уровня ошибок в 40,79%, их прогностические модели были ориентированы только на одну конкретную команду, и то за определенный период времени. Другим примером использования байесовских сетей является работа, выполненная Owramipur, Eskandarian, and Mozneb (2013). Они предложили байесовскую сеть для прогнозирования результатов футбольной команды "Барселона". Их исследование продемонстрировало использование таких интересных особенностей, как погодные условия, психологическое состояние игроков и то, был ли травмирован кто-либо из основных игроков. Они сообщили о результатах с очень высокой точности, в среднем 92%, но они смоделировали свою систему только для одной команды и одного сезона, включив в нее всего 20 матчей для команды. Другая байесовская сеть для прогнозирования результатов футбольных матчей была предложена Constantinou, Fenton, & Neil (2013) на основе их предыдущего исследования. Они использовали свою модель для прогнозирования каждого матча в сезоне EPL 2011-2012 и публиковали свои прогнозы онлайн перед каждым матчем. Они продемонстрировали, что смогли получить прибыль, используя менее сложную модель, чем в их предыдущем исследовании.

Dixon and Coles (1997) использовали двумерное распределение Пуассона для количества голов, забитых каждой командой, параметризованное характеристиками, относящимися к прошлым выступлениям команды. Однако они сосредоточились на использовании разработанной модели в качестве основы для разработки стратегии ставок, которая давала бы ожидаемую положительную отдачу по сравнению с коэффициентами букмекерской конторы. . Goddard (2005) использовал модель упорядоченной пробит-регрессии для прогнозирования исхода футбольного матча. Их исследование включало в себя включение различных интересных предикторов, таких как географическое расстояние между городами команд и средняя посещаемость матча, и они смогли показать, что эти объясняющие переменные были значимыми для прогнозирования матчей. Однако их исследование было в значительной степени сосредоточено на анализе экономических выгод и ценовой эффективности рынка ставок, а не на прогнозировании матчей. Karlis and Ntzoufras (2010) сравнили метод взвешенного правдоподобия с традиционным методом максимального правдоподобия и показали, что предложенный ими метод обеспечивает эффективную защиту от выбросов. Boshnakov, Kharrat and McHale (2017) представили модель, которая использует процесс подсчета, основанный на времени между матчами по Вейбуллу, и связку для получения двумерного распределения количества голов, забитых хозяевами поля и гостями в матче.

Еще одна попытка предсказать исход футбольных матчей была предпринята Rue and Salvesen (2000). Они использовали подход прикладной статистики, в рамках которого создали байесовскую динамическую обобщенную линейную модель. Они также использовали для логических выводов методы Монте-Карло с цепью Маркова, а также провели ретроспективный анализ сезона. Они расширили свою модель на различные приложения, такие как анализ прибыли от ставок, прогнозирование итоговых рейтингов команд и выявление матчей с большим отрывом. Однако они создали свою модель только для сезона 1997-1998 годов, а это означает, что она вряд ли подойдет для долгосрочного обобщения. Crowder, Dixon, Ledford, and Robinson (2002) основывались на работе Dixon and Coles (1997), заменив первоначальную модель стохастического процесса аппроксимацией, которая позволяла проводить более простые вычисления без чрезмерного использования прогностических возможностей. Koopman and Lit (2015) разработали статистическую модель, использующую двумерное распределение Пуассона. В их модели состояния в негауссовом пространстве использовались коэффициенты интенсивности для конкурирующих команд, которые зависели от силы атаки и защиты каждой команды, которые стохастически изменялись с течением времени. Они также продемонстрировали, что их система моделирования может обеспечить значительно более высокую доходность, чем коэффициенты букмекерских контор.

Rotshtein, Posner, and Rakityanskaya (2005) создали нечеткую модель для прогнозирования футбола, параметры которой были настроены с использованием комбинации генетических алгоритмов и нейронных сетей. Они применили эту модель к турнирным данным чемпионата Финляндии и показали, что эти методы настройки для выбора параметров модели улучшили результаты их нечеткой логической модели.

Интересный подход к этой проблеме был предложен Godin, Zuallaert, Vandersmissen, De Neve, and Van de Walle (2014) и Schumaker, Jarmoszko, и Labedz (2016), которые использовали коллективные знания из социальных сетей, особенно Twitter. Schumaker et al. (2016) использовали настроения в твитах, которые они собирали, для прогнозирования результатов матча, а также для принятия решений о ставках. Они показали, что краудсорсинг дает лучшие результаты, чем использование экспертов в предметной области, особенно при принятии решений о ставках. Godin et al.(2014) решили проблему, используя сочетание коллективных знаний и традиционных методов статистического обучения. Однако их работа была в большей степени сосредоточена на улучшении прогнозных коэффициентов букмекерских контор с целью получения большей денежной прибыли.

Рейтинги ELO были первоначально предложены Elo (1978) для ранжирования международных шахматистов, но позже были адаптированы к задаче прогнозирования футбольных матчей Hvattum and Arntzen (2010), которые использовали экономические и статистические показатели, чтобы сравнить преимущества рейтинговой системы ELO, применяемой для прогнозирования футбольных матчей, с доугими шестью методами прогнозирования. Однако Constantinou, Fenton, and Neil (2013) впоследствии предложили другой метод оценки, называемый pi-рейтингом, который, как было показано, превосходит адаптацию ELO, предложенную Hvattum and Arntzen (2010).

Оставшаяся часть статьи организована следующим образом. В разделе 2 обсуждается разработка соответствующих признаков для выполнения прогнозирования. В разделе 3 описываются различные методы отбора признаков с лучшим перформансом. В разделе 4 описаны методы машинного обучения, которые используются для выполнения прогнозов. Раздел 5 содержит подробный анализ результатов, полученных с помощью алгоритмов машинного обучения. Наконец, в заключение мы сравниваем наши результаты с существующими базовыми и современными показателями и описываем другие направления будущей работы.

2. Генерация признаков

Мы получили наши данные из общедоступного источника в Великобритании, Football UK (http://www.bbc.com/sport/football/24354124). Мы использовали данные за период с 2005 по 2016 год, охватывающие 11 сезонов. Хотя у нас также был доступ к данным за более ранние сезоны, мы решили не использовать их из-за ограниченной статистики матчей, доступной в этих предыдущих сезонах. Для получения рейтинговой статистики мы использовали данные из онлайн-базы данных (https://www.fifaindex.com).

Предыдущее исследование (Joseph et al., 2006; Owramipur et al., 2013) показали, что качество результатов в этой задаче прогнозирования напрямую связано с качеством набора функций, используемого для моделирования системы. Как наше понимание проблемной области, так и наш прогностический анализ показывают, что выбор правильного набора признаков имеет первостепенное значение. Таким образом, одним из наиболее важных аспектов нашего исследования был отбор признаков, которые могли бы помочь в прогнозировании результатов конкретного футбольного матча. В этой статье подробно описываются идеи, лежащие в основе тщательно отобранных признаков, а также их математические формулировки.

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

Описанные ниже признаки рассчитываются для каждого сезона независимо, и никакие значения объектов/статистика не наследуются от предыдущих сезонов. Таким образом, значения признаков рассчитываются на уровне каждого сезона, а не на уровне всей базы данных.

В некоторые из ранее использовавшихся моделей были включены такие характеристики, как относительная сила атаки и обороны хозяев поля и команд гостей. Под влиянием этого мы также включили рейтинги атаки, полузащиты, защиты и общий рейтинг соответствующих команд. Мы собрали данные для рейтинговой статистики из онлайн-базы данных (https://www.fifaindex.com), которая содержит подборку индивидуальных командных рейтингов (атака, полузащита, защита, общий зачет) за каждый сезон, которые генерируются серией футбольных видеоигр FIFA, ежегодно выпускаемой Electronic Arts. База данных также включала статистику рейтингов по сезонам (статичную на протяжении всего сезона) для каждой команды, которая учитывает различия в силе команды в разные сезоны. Используемые рейтинги определяются алгоритмом, используемым EA Sports для серии видеоигр FIFA. Мы извлекли статистику рейтингов (атака, полузащита, защита, общий зачет) непосредственно из базы данных, а не использовали какую-либо собственную систему агрегирования рейтингов командных игроков для расчета различной рейтинговой статистики для каждой команды. Однако введение этих признаков подняло проблему их негауссовского распределения по набору данных, что ухудшило результаты как вероятностных, так и линейных моделей. Мы пробовали различные подходы к решению этой проблемы и в конечном итоге пришли к выводу, что оптимальным решением является учет разницы в рейтинговой статистике.

Для R_i \in {Attack, Midfield, Defense, Overall }:

R_i = R_i^H - R_i^A

где R^H = Home Team Rating и R^A = Away Team Rating.

Следующая функция, которую мы рассмотрели, - это разница забитых и пропущенных мячей. Разница забитых и пропущенных мячей имеет решающее значение при построении прогнозных моделей для футбола. Система pi-рейтинга, введенная Constantinou and Fenton (2013), дает эмпирическое доказательство того, что разница забитых и пропущенных мячей хорошо подходит для прогнозирования результатов футбольных матчей. Мы использовали традиционную невзвешенную разницу мячей, которая представляет собой текущую сумму количества забитых мячей, отличающуюся от текущей суммы количества голов, пропущенных каждой командой перед началом нового матча. Разница забитых и пропущенных мячей (GD) в k-м матче команды определяется как:

GD_k = \sum_{j=1}^{k-1} GS_j - \sum_{j=1}^{k-1} GC_j

где GS = забито и GC = пропущено

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

Мы выбрали угловые, потому что большее количество поданных угловых указывает на то, что команда играет хорошо. Удары в створ ворот - это еще более эффективный показатель результативности, поскольку он показывает превосходство команд, которые наносят большее количество ударов в створ ворот. Причина выбора голов очевидна, поскольку именно они определяют конечный результат матча. Эти показатели дают нам математическую информацию о производительности команды и давлении, оказываемом каждой командой на другую. Разрабатывая признаки на основе приведенных выше показателей производительности, мы решили, что было бы логично, если бы они отражали последние результаты команд, чтобы отразить любые тенденции к увеличению/снижению производительности; таким образом, мы взяли их средние значения за последние k игр, где k - гиперпараметр.

Для \mu^i in  \{ Corners, Shots on Target, Goals \}, \mu^i для команды j-й матч определяется как:

\mu_j^i =  ( \sum_{p=j-k}^{j-1} \mu_p^i )/k

При разработке функций нашей модели для прогнозирования футбольных результатов мы хотели внедрить функцию, которая могла бы предоставить нам полезную количественную информацию для оценки последних выступлений команды. Таким образом, мы разработали функцию, которую мы называем Streak. Эта функция отражает недавнюю тенденцию к улучшению/снижению результативности команды. Коэффициент результативности для команды рассчитывается путем присвоения балла каждому результату матча и вычисления среднего значения из предыдущих k баллов, где k - вышеупомянутый гиперпараметр. Мы также включили временной аспект в функцию Streak, добавив вес зависящий от времени для предыдущих результатов команды, получив функцию, которую мы называем Weighted Streak (более высокие коэффициенты для последних игр, постепенно снижаются для не последних). В Weighted Streak схема выглядит следующим образом:

  • вес 1 по самому старому наблюдению (j − k)

  • значение k по самому последнему наблюдению (j − 1)

Характеристики Streak и Weighted Streak нормализованы таким образом, что их значения находятся в диапазоне от нуля до единицы. Коэффициент 3k в формуле Streak (\delta) гарантирует, что максимальное значение, которое может быть достигнуто командой, когда команда выиграла предыдущие k матчей, равно 1. Для взвешенной серии (\omega) веса присваиваются с помощью коэффициента (p − (j − k − 1)), который присваивает вес 1 самому старому совпадению в нашем окне наблюдения (j − k) и вес k самому последнему наблюдению (j − 1). Нормализация производится в соответствии со схемой взвешивания, описанной выше. В этом случае нормирующий коэффициент равен 3(k (k + 1) /2), где коэффициент (k (k + 1) /2) является суммой k весов, а умножение на три происходит из-за того, что максимальное значение resp равно трем. Этот нормирующий коэффициент при вычислении Weighted Streak (\omega) снова гарантирует, что максимально достижимое значение равно единице.

Несмотря на то, что функции Streak и Weighted Streak, а также набор \mu^i (угловые, удары в створ ворот, голы) показали неплохие результаты, эти функции по-прежнему приводят к отсутствию значений в течение первых k недель сезона. Мы попытались решить эту проблему, заполнив исходные пропущенные значения, установив значение k равным (j − 1) для j-й недели (за исключением первой недели) вплоть до k недель (т.е. k = 1 для 2-й недели, k = 2 для 3-й недели, и так далее, вплоть до k-й недели). Однако в конечном итоге мы не приняли этот подход из-за некоторых связанных с ним проблем. Во-первых, этот подход противоречит идее использования одинакового значения k в течение всего сезона, поскольку k динамически изменяется со 2-й игровой недели до k, а затем сохраняет постоянное значение до конца сезона. Во-вторых, этот метод по-прежнему не предоставляет значения характеристик для первой игровой недели сезона. Таким образом, мы исключили из нашей базы данных первые k игровых недель каждого сезона, как из-за упомянутого выше нестрогого подхода к масштабированию, так и из-за того, что удаление игр на первые k недель дало нам лучшие результаты по производительности, чем при использовании процедуры масштабирования. Таким образом, одним из недостатков нашей прогностической системы является то, что она не может предсказать результаты первых k матчей команды в сезоне. В настоящее время мы исследуем более эффективные методы масштабирования этих функций на начало сезона, чтобы преодолеть это ограничение наших прогностических моделей.

Мы также хотели включить в наше проблемное гиперпространство еще одно временное измерение, которое гораздо более детально описывало бы выступления команды в отдельных матчах. В результате мы ввели дополнительную временную характеристику - спортивную форму. Форма команды предоставляет подробную информацию о ее последних выступлениях и статусе. Значения коэффициента формы обновляются после каждого матча в зависимости от конечного результата, что показывает, насколько точно он отражает понятие временной зависимости. Как форма, так и показатели результативности являются командными факторами; однако, в отличие от показателя результативности, который служит показателем того, как команда выступает независимо от соперников, с которыми они столкнулись, показатель формы способен учитывать результаты команды по сравнению с их соперниками. Наша математическая формула формы гарантирует, что в случае победы слабой команды над сильной командой будет увеличен коэффициент, и наоборот. В случае ничьей форма слабой команды увеличивается, в то время как форма сильной команды уменьшается.

Значение формы каждой команды устанавливается равным единице (1) в начале каждого сезона, а затем обновляется после каждого матча в соответствии с результатом матча, так что более высокое значение указывает на лучшую форму. Предположим, что команда \alpha побеждает другую команду \beta; тогда значение формы ( \epsilon ) для j-го матча каждой команды обновляется следующим образом:

\epsilon_j^{\alpha} =  \epsilon_{j-1}^{\alpha} +  \gamma\epsilon_{j-1}^{\beta}\epsilon_j^{\beta} =  \epsilon_{j-1}^{\beta} +  \gamma\epsilon_{j-1}^{\beta}

В случае ничейного результата значения формы ( \epsilon) для j-го матча каждой команды обновляются следующим образом:

\epsilon_j^{\alpha} =  \epsilon_{j-1}^{\alpha} -  \gamma( \epsilon_{j-1}^{\alpha} -  \epsilon_{j-1}^{\beta} )\epsilon_j^{\beta} =  \epsilon_{j-1}^{\beta} -  \gamma( \epsilon_{j-1}^{\beta} -  \epsilon_{j-1}^{\alpha} )

где \gamma - доля \in (0,1)​

Когда одна команда \alpha побеждает другую команду \beta, обновления формы можно рассматривать как то, что победившая команда (\alpha) забирает определенную долю (\gamma) формы проигравшей команды (\beta).

Поскольку эта доля прямо пропорциональна уровню формы команды, за победу над более сильной командой (сильное значение формы) дается больше, чем за победу над более слабой командой (слабое значение формы). В случае ничьей более слабая команда получает положительный результат, а более сильная - отрицательный и изменение формы прямо пропорционально разнице между показателями формы двух команд на начало матча. Таким образом, размер обновления будет небольшим, когда команды со схожими показателями формы сыграют вничью, и наоборот. После кросс-валидации различных значений \gamma мы пришли к выводу, что оптимальным решением было установить значение \gamma = 0,33. Пример в таблице 1 демонстрирует, как команды получают обновления после каждого матча.

Таблица 1.
Таблица 1.

Давайте рассмотрим три различных случая, которые могут возникнуть:

• победа \alpha: Статистика, представленная в таблице 1, показывает, что команда \alpha является более сильной командой, участвующей в матче, поскольку она имеет более высокую ценность формы. Следовательно, такой исход более вероятен, и в результате команды \alpha и \beta получают обновления +0,264 и -0,264 соответственно.

\beta выигрывает: поскольку команда \beta является более слабой, победа (\beta) над более сильной командой (\alpha) маловероятна. В результате команды \alpha и \beta получают обновления на -0,462 и +0,462 (больше, чем предыдущий результат).

• ничья: Несмотря на то, что результат ничьей дает равные очки каждой команде, этот результат гораздо выгоднее для более слабой команды (поскольку у нее была относительно более высокая вероятность проигрыша), что отражено в обновлении формы, при этом значение формы более слабой команды (\beta) увеличивается на значение 0,198 и значение более сильной команды (\alpha) уменьшаются на тот же коэффициент.

3. Отбор признаков

Отбор признаков - это метод отбора только наиболее релевантных и наиболее эффективных признаков с целью сокращения общего количества функций (Chauhan&Kaur, 2014; Kaur, Chauhan, & Ahmed, 2012; Kaur, Chauhan, & Alam, 2010, 2011). После тщательной генерации признаков у нас было в общей сложности 33 признака (таблица 2). Поскольку наличие такого большого количества функций значительно увеличивает размер нашего функционального пространства, мы стремились отобрать наиболее эффективные и релевантные функции, выполнив их отбор.

Таблица 2. Список признаков.
Таблица 2. Список признаков.

Сначала мы разделили наши признаки на два больших класса, класс А и класс В, при этом класс А содержал индивидуальные признаки как для домашней, так и для выездной команд, а класс В содержал дифференциальные признаки, релевантные для обеих команд У признаков класса В было две причины. Во-первых, дифференциальные признаки имели гораздо лучшее одномерное распределение (рис. 1(а)-1(б)), что весьма полезно для некоторых методов статистического обучения. Во-вторых, объединив информацию, содержащуюся в двух переменных, в одну, мы смогли уменьшить размеры проблемного гиперпространства, что снижает вероятность того, что наши модели застрянут в локальном минимуме.

Рисунок 1. Сравнение одномерного распределения признаков класса А и класса В.
Рисунок 1. Сравнение одномерного распределения признаков класса А и класса В.

Мы протестировали наш набор признаков используя наивный байесовский классификатор, метод опорных векторов, рандом форест и градиентного бустинга. Для достижения лучших результатов мы оптимизировали модели с помощью отбора/перебора признаков и настройки гиперпараметров.

Мы протестировали наивный байесовский классификатор как с признаками класса А, так и с признаками класса В и обнаружили, что в последнем случае она работает намного лучше. Это было ожидаемо, поскольку признаки класса В лучше соответствовали функции плотности вероятности Гаусса, и было несколько функций, между которыми наблюдалась высокая корреляция. Мы наблюдали несколько высоких значений корреляции в рейтинговой статистике и, таким образом, добились повышения производительности, исключив эти предикторы.

Для моделей SVM мы применили более формальный метод отбора признаков, а именно рекурсивное исключение признаков (RFE) (Guyon, Weston, Barnhill, & Vapnik, 2002). RFE создает несколько моделей, последовательно исключая функции из всего нашего пула и в конечном итоге возвращая наиболее релевантные функции. Мы обнаружили, что этот метод очень полезен для определения наиболее эффективных функций для моделей, представленных выше, и, таким образом, помогает нам лучше их настраивать.

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

4. Модели

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

4.1. Наивный байесовский классификатор

Для некоторого значения \upsilon нашего вектора признаков X распределение вероятностей \upsilon для данного класса c равно:

P(X = \upsilon | c) =  \frac{ 1 }{ \sqrt( 2 \pi \sigma_c^2 ) } \exp \frac{ -(\upsilon - \mu_c)^2 }{ 2\sigma_c^2 }

где \sigma_c - стандартное отклонение распределения, а \mu_c - среднее значение распределения.

4.2. Метод опорных векторов

Второй прогностической моделью, которую мы использовали, был метод опорных векторов (SVM). SVM - это набор алгоритмов, которые чрезвычайно эффективны при работе с пространствами признаков большой размерности. Они используют трюк ядра для эффективной работы в случаях нелинейной классификации. Ядра - это, по сути, функции, которые принимают входные данные малой размерности и сопоставляют их с соответствующим пространством признаков большой размерности, чтобы найти наиболее подходящие границы принятия решений. Для нашего анализа мы использовали два ядра, а именно линейное ядро и радиально-базисное ядро (RBF). Хотя SVM изначально не являются вероятностными классификаторами, мы вычислили оценки вероятности, используя пятикратную перекрестную проверку.

Основными гиперпараметрами для нашей модели RBF SVM были C и Gamma. Поскольку нам нужно было оптимизировать только эти два параметра, мы решили использовать поиск по сетке для оптимизации по гиперпараметрам. Параметр C представляет стоимость неправильной классификации обучающих данных. Низкое значение C делает поверхность принятия решения гладкой, в то время как высокое значение позволяет правильно классифицировать все обучающие примеры, предоставляя модели свободу выбора большего количества выборок в качестве опорных векторов. Таким образом, крайне важно найти наиболее подходящее значение для C, чтобы предотвратить его недостаточную или избыточную подгонку. Гамма - это свободный параметр гауссовой радиальной базисной функции. Если гамма велика, то дисперсия невелика, что означает, что опорный вектор не оказывает широкого влияния. Большая гамма приводит к моделям с высокой погрешностью и низкой дисперсией. Результаты нашей оптимизации по гиперпараметрам для C и Gamma показаны на рис. 2.

Рисунок 2. Оптимизация гиперпараметров RBF SVM для C и Gamma.
Рисунок 2. Оптимизация гиперпараметров RBF SVM для C и Gamma.

4.2. Случайный лес

Следующей прогностической моделью стал метод случайный лес (Breiman, 2001). Случайный лес - это надежный алгоритм машинного обучения, который способен отображать сложные нелинейные границы принятия решений. Это позволяет преодолеть проблему высокой дисперсии, вызванную деревьями решений, путем построения большого количества деревьев путем начальной загрузки выборок, а затем учета результатов голосования большинством голосов, чтобы повысить точность и ограничить переобучение.

При построении деревьев классификации критерием стоимости для определения разделения обычно является либо индекс Джини, либо перекрестная энтропия. После настройки гиперпараметров мы обнаружили, что наилучшие результаты были получены при использовании индекса Джини (G). Индекс Джини измеряет общую дисперсию по всем классам и, следовательно, является показателем чистоты узлов.

G = \sum_{k=1}^K p_{mk}(1-p_{mk}),

где p_mk - доля обучающих наблюдений в m-м регионе, относящихся к k-му классу.

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

Мы попробовали два разных подхода к настройке гиперпараметров модели случайного леса, а именно случайный поиск и поиск по сетке. Поскольку нам нужно было настроить множество гиперпараметров, мы начали с попытки случайного поиска, однако обнаружили, что глобальные минимумы пропущены. Поэтому мы использовали поиск по сетке для оптимизации наших гиперпараметров и обнаружили, что он дает наилучший набор значений для наших гиперпараметров, хотя это и требует больших вычислительных затрат. Некоторыми из наиболее важных параметров, которые необходимо было оптимизировать для нашей модели случайного леса, были количество построенных деревьев, критерий разбиения, максимальная глубина каждого дерева и минимальное разбиение выборки. Результаты гиперпараметрической оптимизации поиска по сетке для случайного леса показаны на рис. 3(а) и 3(б).

Рисунок 3а. Тюнинг количества деревьев
Рисунок 3а. Тюнинг количества деревьев
Рисунок 3б. Тюнинг глубины и количества сэмплов на лист
Рисунок 3б. Тюнинг глубины и количества сэмплов на лист

4.2. Градиентный бустинг

Нашей окончательной прогностической моделью был градиентный бустинг. Как и в случае со случайным лесом, градиентный бустинг - это метод построения дерева решений; однако градиентный бустинг работает по принципу бустинга, в то время как случайный лес работают по принципу суммирования. Оба метода предполагают объединение группы классификаторов; однако в bagging каждый классификатор обучается параллельно со случайным подмножеством данных, тогда как при boosting классификаторы обучаются последовательно на всем наборе данных, при этом точность модели повышается после каждой итерации.

Мы использовали фреймворк с открытым исходным кодом XGBoost (Chen & Guestrin, 2016) для реализации градиентного бустинга.

Количество гиперпараметров, которые требовалось настроить для оптимизации нашей модели XGBoost, было больше, чем для модели случайного леса, и, следовательно, потребовалось значительное количество времени, чтобы определить оптимальные значения гиперпараметров. Мы снова решили использовать поиск по сетке, чтобы найти оптимальные значения гиперпараметров. Поскольку нам пришлось настроить большое количество параметров, мы отображаем результаты только по нескольким важным параметрам, включая gamma, скорость обучения, максимальную глубину каждого дерева и lambda, которая контролирует силу регуляризации. Результаты гиперпараметрической оптимизации поиска по сетке для повышения градиента показаны на рис. 4(а) и 4(б).

Рисунок 4а. Тюнинг скорости обучения и гаммы.
Рисунок 4а. Тюнинг скорости обучения и гаммы.
Рисунок 4б. Тюнинг максимальной глубины и регуляризации.
Рисунок 4б. Тюнинг максимальной глубины и регуляризации.

5. Результаты

В экспериментальных целях мы разделили наш набор данных на девять сезонов обучения, с 2005 по 2014 год, и сохранили оставшиеся два сезона, с 2014 по 2016 год, в качестве тестовых данных. В отличие от некоторых предыдущих исследований (Odachowski & Grekow, 2013), мы не сводили нашу задачу к задаче бинарной классификации, а использовали оригинальную трехклассовую мультиклассификацию.

Для нашего исследования мы использовали язык программирования Python. Мы использовали пакет Pandas (McKinney, 2010) для предварительной обработки наших данных и пакет Scikit-Learn (Pedregosa, Varoquaux, Gramfort, Michel, Thirion, Grisel и др., 2011) для реализации наших моделей машинного обучения.

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

Рисунок 5. Средние показатели точности тестирования различных моделей машинного обучения.
Рисунок 5. Средние показатели точности тестирования различных моделей машинного обучения.

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

Как уже говорилось ранее, одним из факторов, затрудняющих прогнозирование футбольных результатов, является высокая частота ничьих (25% игр в нашем тестовом наборе), что является наименее вероятным исходом матча. Проведя тщательный анализ наших моделей, мы обнаружили, что каждая из них недооценивала результаты розыгрышей, а некоторые - значительно, как будет объяснено ниже.

Первым шагом при использовании наших моделей, и одним из самых важных, было определение значения гиперпараметра k для таких наших характеристик, как угловые, удары в створ, голы, серия и Weighted Streak. Мы решили использовать универсальное значение k для всех этих функций, так как думали, что это обеспечит единообразие во всем наборе данных. Мы использовали 10-фолдовую кросс-валидацию для определения оптимального значения k, результаты которой показаны на рисунке. 6.

Рисунок 6. Результаты 10-фолдовой кросс-валидации для оптимизации гиперпараметра k для случайного леса.
Рисунок 6. Результаты 10-фолдовой кросс-валидации для оптимизации гиперпараметра k для случайного леса.

Мы обнаружили, что наилучшее значение k для наших моделей градиентного бустинга, случайного леса и наивного Байеса составило шесть. Таким образом, несмотря на то, что модель SVM лучше всего работала при k = 3, мы выбрали k = 6 для всех наших моделей, чтобы обеспечить единообразие.

Матрица ошибок, точность и полнота, полученные с помощью нашей наивного байесовского классификатора, приведены в таблице 3(а) и (б).

Таблица 3аб. Результаты наивного байесовского классификатора
Таблица 3аб. Результаты наивного байесовского классификатора

Мы получили вполне приемлемые результаты с помощью нашей наивной байесовской модели, которая после доработки дала среднюю точность 0,519. Как и ожидалось, модель показала неплохие результаты при победах хозяев, с показателями точности и полноты 0,62 и 0,66 соответственно. Удивительно, но, несмотря на то, что модель не предсказывала ничьи, она дала результат 0,25 (второй лучший результат среди всех моделей), что говорит о том, что наш вероятностный алгоритм довольно точно моделирует ничьи и имеет меньший процент ложноотрицательных результатов в случае ничьих.

Мы смогли получить много информации о распределении наших данных в гиперпространстве объектов, проанализировав результаты нашей линейной SVM-модели в таблице 4(а) и (б).

Таблица 4аб. результаты линейной SVM-модели
Таблица 4аб. результаты линейной SVM-модели

Анализ результатов линейной SVM-модели показал, что она вообще не может моделировать возникновение ошибок. Это помогло нам сделать вывод, что данные не могут быть разделены линейной гиперплоскостью. Таким образом, несмотря на то, что наша линейная SVM показала лучшие результаты, чем наивная байесовская, по показателю средней точности, мы не стали развивать ее (или любые другие линейные модели) дальше из-за ее низких результатов при моделировании.

Чтобы решить эту проблему, мы протестировали ядро (RBF) для нашей SVM и получили лучшие результаты (см. таблицу 5(a) и (b)).

Таблица 5аб. результаты для RBF ядра SVM-модели
Таблица 5аб. результаты для RBF ядра SVM-модели

Система RBF SVM показала неплохие результаты как при победах дома, так и на выезде, с отличной полнотой равной 0,80 при победах хозяев, что говорит о довольно низком уровне ложных срабатываний. Что касается ничьих, то, несмотря на то, что модель выдала низкий процент ложноположительных результатов, о чем свидетельствует ее точность, равная 0,39, она более чем в два раза увеличила количество ложноотрицательных ошибок, дав значение полноты 0,09. Однако, несмотря на этот недостаток, наша RBF SVM по-прежнему превосходит гауссовскую наивную байесовскую модель как по показателям средней точности, так и по показателям ранжированной вероятности.

Следующей использованной моделью был случайный лес, точность которого в тестировании составила 0,57. Случайный лес дал довольно сбалансированные результаты по всем трем классам. Как и ожидалось, он показал очень хорошие результаты при победах хозяев с точностью до 0,60 и полнотой 0,78, а также смог преодолеть недостатки моделей SVM, связанные с их плохими показателями при ничьих. Несмотря на то, что она также не давала прогнозируемых результатов, она показала гораздо лучшие результаты, чем модель SVM, как по истинно положительным, так и по ложноотрицательным результатам, получив оценку F1 0,28 по сравнению с 0,15 для модели RBF SVM (таблица 6(а) и (б)).

Таблица 6аб. результаты модели случайного леса (Random forest)
Таблица 6аб. результаты модели случайного леса (Random forest)

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

Таблица 7аб. результаты модели градиентного бустинга (XGBoost)
Таблица 7аб. результаты модели градиентного бустинга (XGBoost)

Это видно из того факта, что градиентный бустинг имеет более высокий коэффициент полноты (0,26), чем случайный лес (0,22) в случае ничьих, что в конечном итоге приводит к более высокой F1 мере (0,31), чем у случайного леса (0,28). Несмотря на то, что постепенный прирост численных значений результатов градиентного бустинга по сравнению с результатами случайного леса может показаться незначительным, разница становится совершенно очевидной и полезной, когда мы оцениваем эффективность двух моделей по разным показателям (RPS), как будет объяснено ниже.

После тюнинга нашей модели случайного леса мы проанализировали наши объекты и построили график ранжирования объектов. Мы провели анализ важности объектов, записав среднее снижение индекса Джини путем разбиения по заданному предиктору, причем большее снижение указывает на более высокую важность объекта. Мы заметили (рис. 7), что только два из наиболее эффективных признака не были инженерными (рейтинговая статистика), что говорит о том, что разработка признаков имеет решающее значение при прогнозном анализе футбольных матчей. Мы также обнаружили высокую важность признака формы, которая оказалась гораздо более важной, чем другие наши признаки.

Рисунок 7. Важность признаков, определяемых средним снижением индекса Джини
Рисунок 7. Важность признаков, определяемых средним снижением индекса Джини

Чтобы еще больше расширить наше понимание, мы визуализировали характеристики наших классификаторов, построив кривую характеристик (ROC). Анализ ROC-кривой в некоторых отношениях более полезен и эффективен, чем использование индивидуального коэффициента ошибок, поскольку он измеряется только для одного порога классификации, в то время как первый метод строит графики для каждого дискриминационного порога. Несмотря на то, что ROC-кривые обычно используются для бинарной классификации, их можно распространить на многоклассовую классификацию, применив соотношение "один против всех". Все они подходят и наблюдают за микроусредненной кривой для анализа общей точности классификатора. Это совершенно очевидно из кривых ROC (рис. 8(а)-8(в)), что градиентный бустинг превосходит другие модели с точки зрения прогнозирования как побед, так и ничьих, а также общей оценки.

Рисунок 8. (а) ROC - кривая RBF SVM, (b) ROC - кривая случайный лес
Рисунок 8. (а) ROC - кривая RBF SVM, (b) ROC - кривая случайный лес
Рисунок 8. (с) ROC - кривая градиентного бустинга
Рисунок 8. (с) ROC - кривая градиентного бустинга

Мы определили точность наших моделей прогнозирования, используя ранжированный показатель вероятности (RPS). Constantinou and Fenton (2012) провели тщательный анализ различных правил подсчета очков, используемых при оценке моделей футбольного прогнозирования, и было продемонстрировано, что RPS является лучшим показателем валидации, чем другие правила подсчета очков, такие как оценка Брайера (Brier) и максимальное логарифмическое правдоподобие. Ранжированная оценка вероятности была введена в 1969 году (Epstein, 1969) и является показателем того, насколько хорошо прогнозы, выраженные в виде распределения вероятностей, соответствуют наблюдаемым результатам. При оценке того, насколько распределение близко к наблюдаемому значению, учитывается разброс прогнозируемого распределения.

RPS для отдельного случая математически определяется как:

RPS= \frac{ 1 }{ r-1 } \sum_{i=1}^{r-1} ( \sum_{j=1}^i p_j - e_j )^2,

где r - количество потенциальных исходов, p_j - прогнозируемый исход в позиции j, а e_j - наблюдаемый результат в позиции j.

Чем ниже ранжированный показатель вероятности (RPS), тем ближе прогнозируемое распределение к наблюдаемому, а это означает, что более низкое значение RPS означает лучшую оценку. Ранжированные показатели вероятности наших моделей прогнозирования показаны на рис.9.

Рисунок 9. Ранжированные оценки вероятности для различных моделей машинного обучения (где all обозначает RPS по всему набору тестов (2014-2016)).
Рисунок 9. Ранжированные оценки вероятности для различных моделей машинного обучения (где all обозначает RPS по всему набору тестов (2014-2016)).

Мы обнаружили, что наиболее эффективными моделями были модели случайного леса и градиентного бустинга, за которыми следовали модели RBF SVM. Можно заметить, что производительность модели градиентного бустинга выше, чем у классификатора случайного леса, что можно объяснить тем фактом, что классификатор градиентного бустинга лучше справлялся с моделированием ничьих. Мы также провели сравнение истинных и прогнозируемых результатов по классам для наших вероятностных (наивный байесовский) и ансамблевых (градиентный бустинг) методов (рис. 10(а) и 10(б)) и обнаружили, что обе модели показали более или менее одинаковые результаты в случае побед гостей (с градиентный бустинг, чуть лучше чем наивный Байес).

Рисунок 10 аб. Сравнение истинных и прогнозируемых результатов по классам для наивного байесовского классификатора и градиентного бустинга
Рисунок 10 аб. Сравнение истинных и прогнозируемых результатов по классам для наивного байесовского классификатора и градиентного бустинга

Однако можно заметить, что ансамблевый алгоритм (gradient boosting) лучше предсказывает ничьи, чем вероятностный алгоритм (наивный байесовский классификатор), как было упомянуто выше. При выполнении классификации мы хотим предсказать не только название класса, но и вероятности, связанные с каждым классом, особенно для футбольных прогнозов. Эта вероятность дает нам некоторую уверенность в наших прогнозах. Калибровочные кривые (также известные как кривые надежности) - это способ визуальной оценки того, насколько модель уверена в своих прогнозах. Предсказания идеально откалиброванного классификатора могут быть непосредственно интерпретированы как уровень достоверности. Например, если идеально откалиброванный классификатор предсказывает, что событие произойдет с вероятностью 0,6, то это событие произойдет в 60% случаев. Как было сказано Бошнаковым и соавторами (2017), в то время как идеальная точность, вероятно, недостижима для задачи прогнозирования футбола, идеальная калибровка является гораздо более достижимой целью, поскольку несовершенная модель все еще может давать идеально откалиброванные прогнозы. Поскольку нашей наиболее эффективной моделью был градиентный бустинг, мы визуализировали его калибровочные кривые для трех классов исходов: победа гостей, ничья и победа хозяев (рис. 11(а)- 11(с)).

Рисунок 11ab. Калибровочные кривые вероятности для исходов побед хозяев и гостей
Рисунок 11ab. Калибровочные кривые вероятности для исходов побед хозяев и гостей
Рисунок 11c. Калибровочная кривая вероятности для ничьей
Рисунок 11c. Калибровочная кривая вероятности для ничьей

Идеально откалиброванная модель будет точно соответствовать линии y = x. Когда кривая лежит выше диагонали, модель недооценивает вероятность наступления события, в то время как кривая ниже диагонали указывает на то, что она переоценивает вероятность наступления события. Проверка наших модельных калибровочных кривых показала, что кривые для всех трех классов достаточно хорошо совпадают с линией y = x, за исключением нескольких точек (таких как значение bin (0,4– 0,5) на рис. 11(c)), что показывает, что наши модельные прогнозы достаточно хорошо откалиброваны. В качестве ориентира для сравнения наших прогнозов использовались коэффициенты различных букмекерских контор. Все коэффициенты были получены из одного и того же общедоступного источника данных - Football UK (http://www.bbc.com/sport/football/24354124). Мы использовали подразумеваемые вероятности (обратные коэффициенты), которые были рассчитаны на основе предоставленных коэффициентов. Чтобы получить прибыль, букмекеры устанавливают несправедливые коэффициенты, при которых подразумеваемые вероятности в сумме равны значению, превышающему единицу, а это означает, что обратные коэффициенты не соответствуют фактическим вероятностям. Таким образом, для устранения этой проблемы была использована базовая нормализация, упомянутая Štrumbelj (2014). Математические вычисления для выполнения такой нормализации описаны ниже.

Пусть O = \{o_1; o_2; o_3\} - коэффициенты букмекеров на победу гостей, ничью и победу хозяев соответственно. Затем набор подразумеваемых вероятностей (\pi = \{ \pi_1; \pi_2; \pi_3 \}) для коэффициентов вычисляется простым использованием их обратной величины:

\pi_i = \frac{ 1 }{ o_i } \forall_i = 1, 2, 3,

и мы вычисляем нормализованные вероятности, деля обратные коэффициенты на итоговую сумму (\Pi) таким образом, что:

p_i = \frac{o_i}{\Pi},

где

\Pi = \sum_{i=1}^3 \pi_i

Мы сравнили наши типовые прогнозы с коэффициентами двух букмекерских контор, а именно Bet365 и Pinnacle Sports, и результаты представлены в таблице 8.

Таблица 8. Ранжированные показатели вероятности букмекерских контор и наши модели машинного обучения.
Таблица 8. Ранжированные показатели вероятности букмекерских контор и наши модели машинного обучения.

Поскольку, как уже упоминалось, нам пришлось отказаться от первых k игровых недель каждого сезона, мы сравнили наши модельные прогнозы друг с другом, а также с прогнозами букмекерских контор, начиная с 6-й игровой недели. Таким образом, значения коэффициента, представленные в таблице 8, относятся к периоду с 6 по 38 игровую неделю в английской Премьер-лиге.

Наше исследование дало весьма обнадеживающие результаты в отношении проблемы правильного прогнозирования футбольных матчей. В таблице 8 показано, что наши модели случайного леса и градиентного бустинга работают достаточно хорошо по сравнению с прогнозами букмекера. Несмотря на то, что наши модельные прогнозы не смогли превзойти прогнозы букмекеров, прогнозы, основанные на нашей наиболее эффективной модели (градиентного бустинга), были превзойдены лишь с разницей примерно в 0,014-0,015, что свидетельствует о многообещающем характере моделей, учитывая ограниченную статистику, доступную моделям в отношении ставок. организации, которые учитывают такие факторы, как информация о травмированных игроках и присутствие ключевого игрока.

Более точную нормализацию можно изучить в моем обзоре Точность спортивных прогнозов на основе коэффициентов ставок

6. Вывод

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

Комментарии (2)


  1. alexxxdevelop
    05.10.2024 11:01

    Вы не учли еще один важный признак - кидалово со стороны букмекера. Как вы считаете, почему биржи ставок не пользуются популярностью? В мире всего 5 бирж на тысячу букмекеров


    1. cappelchi Автор
      05.10.2024 11:01

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