Архив рубрики ~Обо всем~

Может ли машинное обучение предсказать результаты чемпионата мира по футболу?

Может ли машинное обучение предсказать результаты чемпионата мира по футболу?

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

Делиться

Введение

В преддверии старта чемпионата мира по футболу FIFA, который состоится в четверг, 11 июня 2026 года, на стадионе в Мехико, было бы интересно создать максимально эффективную модель машинного обучения для прогнозирования результатов матчей. Для этого я объединил несколько баз данных — 49 000 матчей — с данными о рейтингах Эло, результатах матчей и местах проведения кубков. От FIFA до Кубка Балтии, с матчами с 1872 по 2026 год, мы будем использовать вероятностный подход к этому виду спорта.

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

  • многомерная регрессия
  • многомерная гребневая/эластичная сетевая модель
  • LightGBM

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

Футбол в цифрах

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

Многие говорят, что футбол усыпляет. Как футбольный болельщик, я с этим не согласен, но, справедливости ради, это не без оснований. Большинство матчей заканчиваются с менее чем 5 голами, а всё, что больше 20, — это аномалия, если не невозможность. В то же время, в матчах НБА нередко бывает, что один игрок набирает более 50 очков. Но, несмотря на такой темп, пабы от Англии до ботеко в Рио остаются полными.

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

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

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

Объединение данных

Зачастую лучший способ улучшить модель — это просто получить больше данных. Мы будем работать с файлами international_results.csv , international_team_ratings.csv и international_goalscorers.csv

Нам нужно сопоставить international_results.csv и international_team_ratings.csv , чтобы использовать рейтинги Эло. Это может быть просто, но, как вы, возможно, догадались, названия команд не совпадают идеально, поэтому нам нужно использовать текстовую обработку, если мы не хотим проверять 336 команд по отдельности. Также нам нужно быть предельно осторожными с тем, когда обновлялся рейтинг Эло. Мы могли бы использовать рейтинг Эло в тот же день, когда проходит матч, но это стало бы источником утечки данных, поскольку рейтинги Эло обновляются только после матча. Использование этого в качестве функции заманчиво, но проблематично.

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

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

international_results.csv

Тип поля Примеры
Идентификатор соответствия source_match_id , date , season , competition
Команды home_team , away_team
Окончательный результат home_score , away_score , match_result , result_class
Контекст neutral , tournament , city , country

international_team_ratings.csv

Особенность Значение
home_rating_pre_match Домашняя команда Эло перед началом матча
away_rating_pre_match Гостевая команда Эло перед началом матча
rating_diff Домашний Эло минус выездной Эло
rating_age_days_home Насколько устарел рейтинг домашней команды?
rating_age_days_away Насколько устарел рейтинг гостевой команды?

international_goalscorers.csv

Идея для функционала Значение
Уникальные бомбардиры в последних матчах Зависит ли успех команды от одного бомбардира или от многих?
Голы лучшего бомбардира Концентрация баллов
Последние результаты Атакующий потенциал перед этим матчем
Гистограмма, сравнивающая распределение результатов футбольных матчей в обучающей и тестовой выборках, показывающая долю побед, ничьих и побед гостей в каждой выборке данных.
Сравнение распределения результатов матчей по группам в тренировочной и тестовой выборках, демонстрирующее в целом схожие доли результатов, при этом наиболее частым результатом являются победы хозяев, за которыми следуют победы гостей и ничьи. Иллюстрация автора.

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

Эффективное разделение Логика приблизительной даты
модель поезда более ранняя часть данных до 2018 года
валидация последние ~20% от общего числа участников тренировок до 2018 года
тест С 2018 года и далее

Технические характеристики

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

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

1. Функции моделирования с помощью чертежей

Наиболее очевидным недостатком нашей базовой модели многомерной логистической регрессии была ее слабая способность классифицировать ничьи. Хотя модель могла рассчитать вероятность ничьи, поскольку мы определили целевую переменную как match_result ∈ {H, D, A} (Победа хозяев, Ничья, Победа гостей), ничья никогда не являлась наиболее вероятным исходом. Это видно по отсутствующему столбцу для ничьих в матрице ошибок.

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

Низкая вероятность ничьей не характерна только для одного семейства моделей. Если рассматривать ошибки с высокой степенью уверенности — случаи, когда предсказанный моделью класс был неверным, а максимальная предсказанная вероятность составляла не менее 0,60, — то во всех моделях наблюдается одна и та же закономерность: они систематически чрезмерно уверены в победе хозяев. Многим матчам, которые фактически закончились ничьей, был присвоен уверенный прогноз победы хозяев, что говорит о том, что модели лучше отражают направление силы команд, чем неопределенность на уровне матча или вероятность ничьей.

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

Чтобы устранить эту «слепоту» к варианту жеребьевки, мы можем разработать такие характеристики, как abs_rating_diff, home_draw_rate_last_5, form_draw_rate_mean_last_5, а также бинарные контекстные характеристики, такие как neutral, flag_is_world_cup и flag_is_friendly, указывающие, проходит ли матч на нейтральной территории или на чемпионате мира.

Группа функций Значение Примеры
Близость Эло Показывает, насколько равны силы команд. Небольшие различия в рейтинге особенно важны для вероятности ничьей. abs_rating_diff
Тенденция к ничьим в последнее время Измеряет, как часто предыдущие матчи каждой команды заканчивались ничьей. home_draw_rate_last_5 , away_draw_rate_last_10
Совокупная тенденция к ничьей Показывает, были ли у обеих команд в последнее время случаи ничьих. form_draw_rate_mean_last_5 , form_draw_rate_mean_last_10
Соответствие контексту Факторы, связанные с турниром и местом его проведения, которые могут повлиять на частоту жеребьевки. neutral , flag_is_world_cup , flag_is_friendly
13aae1f4ff0b1f5817a8334fe055d092
Итоговые вероятности, предсказанные LightGBM, в зависимости от класса исхода. Иллюстрация автора.

Благодаря этим функциям наша модель теперь лучше различает победы и ничьи домашних/гостевых команд, о чем свидетельствует увеличение числа истинно положительных прогнозов ничьей на 3,3%. Это все еще низкий показатель, учитывая, что около 20% матчей заканчиваются ничьей. Таким образом, наши функции помогают, но не сильно. Это говорит о том, что, возможно, стоит создать модель, специально предназначенную для моделирования ничьих, с целевой переменной match_result ∈ {D, ¬D}, но пока нам нужно разработать больше функций.

¬D означает, что не D, то есть наша целевая переменная — это матч, завершившийся ничьей (1), или матч, не завершившийся ничьей (0).

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

2. Функции Elo

Средний рейтинг команды по системе Эло немного выше 1500; это близко к показателям Саудовской Аравии, Исландии и Гаити в FIFA 2026. При построении графика распределения побед, ничьих и побед гостей видно, что по мере уменьшения разницы вероятность ничьих возрастает. Распределения также немного смещены влево, что указывает на небольшое преимущество домашней команды, как и ожидалось.

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

Мы бы упустили очки LogLoss, если бы полагались исключительно на предматчевый рейтинг Эло как на единственный критерий оценки. Чтобы извлечь максимальную пользу из данных, мы также

Особенность Значение
home_rating_pre_match Рейтинг Эло домашней команды перед началом матча.
away_rating_pre_match Рейтинг команды гостей по системе Эло перед началом матча.
rating_diff Разница между коэффициентами Эло домашней команды и гостевой команды перед началом матча. Положительные значения благоприятствуют домашней команде.
rating_age_days_home Количество дней с момента последнего обновления рейтинга Эло домашней команды.
rating_age_days_away Количество дней с момента последнего обновления рейтинга Эло гостевой команды.
Линейный график прогнозируемых вероятностей исхода футбольного матча в зависимости от разницы в счете, показывающий кривые вероятности победы гостей, ничьи и победы хозяев.
Многомерные кривые вероятности, построенные на основе разницы оценок. Иллюстрация автора.

3. Функции скользящего окна с данными о прошлых результатах.

Критик может возразить, что использование показателей прошлых лет и рейтинга Elo — не лучшая идея, поскольку оба показателя моделируют силу команды, что добавит в модель избыточные или сильно коррелированные характеристики.

Анализ прошлых результатов действительно отражает силу команды, но он предназначен специально для моделирования командного импульса. Победные серии — это вполне реальное явление в спорте. Фактически, в настоящее время суперкомпьютеры отдают предпочтение Испании. Одна из причин, по которой их прогнозируют на первом месте, — это их историческая беспроигрышная серия из 31 матча перед FIFA 2026.

Группа функций Значение Примеры
Последние очки за матч Среднее количество очков, набранных каждой командой за предыдущие 5 или 10 матчей. home_points_per_match_last_5 , away_points_per_match_last_10
Разница забитых и пропущенных мячей за последнее время Среднее количество забитых голов за вычетом пропущенных голов в предыдущих матчах. home_goal_diff_per_match_last_5 , away_goal_diff_per_match_last_10
Последний процент ничьих Доля предыдущих матчей, завершившихся ничьей. home_draw_rate_last_5 , away_draw_rate_last_10
различия между домашней и выездной формой Разница между домашними и гостевыми командами по одному и тому же скользящему показателю. form_points_diff_last_5 , form_goal_diff_diff_last_10
Предыдущие матчи учитываются Количество предыдущих матчей, доступных перед игрой. home_prior_matches , away_prior_matches

4. Особенности форм атаки и защиты

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

Группа функций Значение Примеры
Последние результаты Среднее количество голов, забитых за матч за предыдущие 5 или 10 игр. home_goals_for_per_match_last_5 , away_goals_for_per_match_last_10
Последний процент пропущенных мячей Среднее количество пропущенных голов за матч за предыдущие 5 или 10 игр. home_goals_against_per_match_last_5 , away_goals_against_per_match_last_10
Разница в проценте набранных очков Разница между процентом забитых мячей домашней командой и процентом забитых мячей гостевой команды за последнее время. form_goals_for_diff_last_5 , form_goals_for_diff_last_10
Разница в проценте пропущенных мячей Разница между процентом пропущенных шайб домашней командой и процентом пропущенных шайб гостевой командой. Более низкие значения указывают на преимущество домашней команды в обороне. form_goals_against_diff_last_5 , form_goals_against_diff_last_10
Корреляционная тепловая карта числовых характеристик футбольной модели, включая разницу рейтингов, предматчевые рейтинги, возраст рейтинга и сезонные переменные.
Корреляционная тепловая карта характеристик численной модели. Иллюстрация автора.

Поиск по сетке

Поскольку большие поисковые сетки могут приводить к переобучению при перекрестной проверке, а масштабирование поиска по сетке носит мультипликативный характер, параметры ищутся логарифмически (1e-5, 1e-4, 1e-3, 1e-2). За исключением таких параметров, как альфа, которые должны находиться в диапазоне от нуля до единицы.

  • glmnet_alpha управляет смешением методов гребневой и лассо-регрессии, где ноль соответствует чистой гребневой регрессии, а единица — чистой лассо-регрессии.
  • Параметр multinomial_decay сильнее наказывает за большие коэффициенты. Это может уменьшить переобучение, но чрезмерное затухание может привести к недообучению.

Поиск по сетке O(n) = количество протестированных конфигураций × время обучения одной модели

Образцовая семья Показаны сетки/конфигурации Что было настроено
Базовые показатели majority_baseline , frequency_baseline , rating_diff_multinom В основном не настроены; сравнительные базовые показатели.
глмнет alpha = 0, .25, .5, .75, 1 Параметр смешивания упругой сети
многоном decay = 0, 1e-5, 1e-4, 1e-3, 1e-2 Снижение веса L2 / уменьшение коэффициента
LightGBM less_regular , deeper , more_regular , current_final , l2_regularized , shallower , l1_l2_regularized , compact_robust , faster_small , slower_small Именованные пакеты параметров глубины дерева, скорости обучения, раунда бустинга и регуляризации.

В сравнении моделей LightGBM оказалась самой сложной. В отличие от базовых моделей, которые использовали мало или совсем не использовали параметры настройки, LightGBM требовала выбора сложности дерева, скорости обучения, количества итераций бустинга и регуляризации. Это делало её более гибкой, но также увеличивало риск переобучения, если параметры не были тщательно настроены. Кроме того, необходимо избегать использования модели, которая сложнее, чем требуется для наших данных, поскольку это может ухудшить интерпретируемость.

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

Параметр Значение
learning_rate Насколько каждое новое дерево может изменять модель. Более низкие значения показывают, что обучение происходит медленнее, но модель лучше обобщается.
num_iterations / nrounds Количество раундов ускорения, то есть, сколько деревьев добавлено. Большее количество деревьев может улучшить производительность, но также может привести к переобучению.
num_leaves Регулирует сложность каждого дерева. Большее количество листьев позволяет создавать более детальные узоры, но увеличивает риск переобучения.
max_depth Максимальная глубина каждого дерева. Более глубокие деревья отражают более сложные взаимодействия. Более мелкие деревья проще и безопаснее.
min_data_in_leaf Минимальное количество наблюдений, необходимое для каждого листа. Более высокие значения делают модель менее чувствительной к небольшим шумовым паттернам.
lambda_l1 L1-регуляризация. Сводит к нулю некоторые эффекты, упрощая модель.
lambda_l2 L2-регуляризация. Уменьшает сильные эффекты и снижает чрезмерную самоуверенность.
feature_fraction Доля признаков, используемых для каждого дерева. Использование меньшего количества признаков может уменьшить переобучение.
bagging_fraction Доля строк, используемых для каждого дерева. Использование меньшего количества строк также может уменьшить переобучение.
bagging_freq Частота применения субдискретизации строк. Если установлено значение 0 , бэггинг обычно отключен.
Горизонтальная гистограмма, сравнивающая результаты проверки модели с использованием многоклассовой логарифмической функции потерь в базовой конфигурации, конфигурации glmnet, многономиальной конфигурации и конфигурации LightGBM.
Потеря данных валидации в зависимости от конфигурации модели. Иллюстрация автора.
Горизонтальная гистограмма, сравнивающая лучшие значения логарифмической функции потерь при валидации для семейств моделей прогнозирования футбольных матчей: базовой, glmnet, многономиальной и LightGBM.
Наилучшая логарифмическая функция потерь для валидации по семействам моделей. Иллюстрация автора.

Финальная модель

В качестве официально выбранной модели была использована LightGBM с набором функций safe_plus_form_compact , включающим 20 предматчевых признаков, полученных из рейтингов Эло, контекста турнира и сводных данных по командам с задержкой. Она была выбрана на основе наименьшего значения многоклассовой логарифмической ошибки на валидационном наборе данных, а тестовый набор данных был зарезервирован для окончательного отчета.

Выбранная модель LightGBM показала логарифмическую ошибку 0,893 при валидации и логарифмическую ошибку при тестировании.   0,873. Результат валидации оказался лучшим в сравнении моделей, но преимущество над регрессией было небольшим: многомерная регрессия отставала всего на 0,002 пункта логарифмической функции потерь при валидации. На отложенном тестовом наборе многомерная регрессия немного превзошла LightGBM как по логарифмической функции потерь, так и по макро-F1.

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

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

Гистограмма с разбивкой по параметрам, сравнивающая базовые модели прогнозирования футбольных матчей по точности, показателю Бриера, логарифмической функции потерь и макро-F1-мере для тестовой и валидационной выборок.
Базовые показатели модели в тестовой и валидационной выборках. Иллюстрация автора.

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

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

Наиболее очевидным ограничением было предсказание ничьей. Выбранная модель почти никогда не предсказывала ничью как наивысший класс: на тестовом наборе она правильно предсказала только 2 ничьи из 1784 фактических ничьих, что составляет показатель полноты предсказания ничьей 0,11%. Это говорит о том, что оценки вероятности модели все еще могут содержать полезную информацию, но классификация argmax по-прежнему сильно смещена в сторону побед хозяев и гостей, что делает создание отдельной модели для моделирования ничьих разумным следующим шагом. Рейтинг Эло и компактная предматчевая форма обеспечивают полезный набор сигналов, но преимущества по сравнению с сильными базовыми моделями являются лишь незначительными.

На тестовом наборе данных модель гораздо лучше предсказывает победы хозяев, чем победы гостей:

  • Она правильно определяет примерно 87% реальных побед домашних команд.
  • Она правильно определяет примерно 63% реальных побед гостей.

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

Калибровка

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

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

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

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

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

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

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

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

Пошаговая калибровочная диаграмма для прогнозов футбольных матчей модели LightGBM Model 33 на тестовом наборе данных, сравнивающая наблюдаемую частоту и среднюю прогнозируемую вероятность побед гостей, ничьих и побед хозяев.
Тестовая калибровка по классам для модели 33. Иллюстрация автора.

Анализ различий в рейтингах

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

Ошибка носит не направленный, а скалярный характер. В наиболее равных по силе матчах наблюдаемая вероятность ничьей составляет примерно одну треть, в то время как модели присваивают вероятности ничьих, близкие к одной четверти. Они правильно определяют сбалансированные матчи как более склонные к ничьей, но не повышают вероятность ничьей в достаточной мере. В результате модель может распознавать риск ничьей, не выбирая ничью часто в качестве наиболее вероятного исхода. Это улаживает кажущееся противоречие между разумной калибровкой ничьей и слабой точностью прогнозирования ничьих: вероятности движутся в правильном направлении, но обычно недостаточно далеко, чтобы выиграть в решении argmax, то есть выбрать класс с наибольшей прогнозируемой вероятностью.

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

Важность функции

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

b505c1823e2550f3585a50c586198bce
Важность функций модели 33 LightGBM в зависимости от коэффициента усиления. Иллюстрация автора.
Гистограмма, отображающая частоту исходов футбольных матчей в зависимости от разницы в рейтинге, показывающая, как меняются победы, ничьи и победы гостей в зависимости от разницы в рейтинге.
Показатели результатов в зависимости от разницы в рейтингах. Иллюстрация автора.

Заключение

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

На данный момент ясно одно: нам потребуется больше данных, чтобы сделать более точный прогноз. В частности, данные по отдельным игрокам — очень важно знать, будет ли Неймар пропускать матч. Детализация данных также важна, если мы хотим корректировать наш прогноз по ходу игры.

Приложение

Полный код проекта можно найти на моём GitHub.
Данные распространяются под лицензией Creative Commons CC0-1.0.

 make_team_clean <- function(team_name) { team_name |> as.character() |> stringr::str_squish() |> # Removes extra spaces. stringi::stri_trans_general("Latin-ASCII") |> # Converts accented Latin characters to plain ASCII characters. stringr::str_to_lower() |> stringr::str_replace_all("[^a-z0-9]+", "") |> stringr::str_replace_all("^|_$", "") }
  • stringr::str_squish()
    • удаляет лишние пробелы
  • stringi::stri_trans_general(“Latin-ASCII”)
    • Преобразует латинские символы с диакритическими знаками в обычные символы ASCII.
  • str_to_lower()
    • все строчными буквами
  • stringr::str_replace_all(“[^a-z0-9]+”, “_”)
    • Эта функция заменяет все символы, кроме строчных букв и цифр, на нижнее подчеркивание.

Вебсайт | LinkedIn | GitHub

0de35fc1525b2c515ec1cec1367ac695

Марко Хенинг Талларико Посмотреть все от Марко Хенинг Талларико

Источник: towardsdatascience.com

Оцените материал:

Читайте также
Архив рубрики ~Лента новостей~ Следующее поколение процессоров AMD Ryzen может лишиться iGPU в пользу NPU Архив рубрики ~Лента новостей~ Компания Apple планирует изменить функцию конфиденциальности «Скрыть мою электронную почту», что может снизить её эффективность. Архив рубрики ~Коротко из Telegram~ 🚨 На конференции AgentCon спикеры призвали разработчиков перестать использовать ИИ… Архив рубрики ~Коротко из Telegram~ Скидываем рутину на ИИ как профи — появился сайт с… Архив рубрики ~Лента новостей~ MCP vs CLI + Skill: что выгоднее для ИИ‑агента при работе с внутренними API Архив рубрики ~Лента новостей~ Почему крошечный VibeThinker-3B от Weibo снова стал причиной споров в мире ИИ о результатах тестов? Архив рубрики ~Лента новостей~ ИИ помогает создавать приложения за 1 день. Проблема в том, что они никому не нужны Архив рубрики ~Лента новостей~ Сможет ли искусственный интеллект подсказать, где вы оставили ключи? Архив рубрики ~Лента новостей~ Производитель микросхем Nvidia планирует привлечь более 25 миллиардов долларов в рамках первой с 2021 года сделки по выпуску облигаций. Архив рубрики ~Лента новостей~ Пройдите локальную магистерскую программу с помощью OpenClaw на вашем Mac Mini. Архив рубрики ~Лента новостей~ Согласно данным о продажах, недавний конфликт Anthropic с администрацией Трампа может даже пойти ей на пользу. Новости робототехники Репортаж с ICRA 2026 из Вены Архив рубрики ~Лента новостей~ Передовая британская лаборатория Nerve Lab использует искусственный интеллект для анализа влияния времени, проводимого детьми перед экраном. Архив рубрики ~Лента новостей~ GLM-5.2 от Z.ai, использующая открытые веса, превосходит GPT-5.5 в нескольких долгосрочных тестах программирования при стоимости в 6 раз меньшей. Архив рубрики ~Лента новостей~ Следующее поколение процессоров AMD Ryzen может лишиться iGPU в пользу NPU Архив рубрики ~Лента новостей~ Компания Apple планирует изменить функцию конфиденциальности «Скрыть мою электронную почту», что может снизить её эффективность. Архив рубрики ~Коротко из Telegram~ 🚨 На конференции AgentCon спикеры призвали разработчиков перестать использовать ИИ… Архив рубрики ~Коротко из Telegram~ Скидываем рутину на ИИ как профи — появился сайт с… Архив рубрики ~Лента новостей~ MCP vs CLI + Skill: что выгоднее для ИИ‑агента при работе с внутренними API Архив рубрики ~Лента новостей~ Почему крошечный VibeThinker-3B от Weibo снова стал причиной споров в мире ИИ о результатах тестов? Архив рубрики ~Лента новостей~ ИИ помогает создавать приложения за 1 день. Проблема в том, что они никому не нужны Архив рубрики ~Лента новостей~ Сможет ли искусственный интеллект подсказать, где вы оставили ключи? Архив рубрики ~Лента новостей~ Производитель микросхем Nvidia планирует привлечь более 25 миллиардов долларов в рамках первой с 2021 года сделки по выпуску облигаций. Архив рубрики ~Лента новостей~ Пройдите локальную магистерскую программу с помощью OpenClaw на вашем Mac Mini. Архив рубрики ~Лента новостей~ Согласно данным о продажах, недавний конфликт Anthropic с администрацией Трампа может даже пойти ей на пользу. Новости робототехники Репортаж с ICRA 2026 из Вены Архив рубрики ~Лента новостей~ Передовая британская лаборатория Nerve Lab использует искусственный интеллект для анализа влияния времени, проводимого детьми перед экраном. Архив рубрики ~Лента новостей~ GLM-5.2 от Z.ai, использующая открытые веса, превосходит GPT-5.5 в нескольких долгосрочных тестах программирования при стоимости в 6 раз меньшей.

Оставить комментарий