Лучшие футбольные команды тратят больше всего денег (а также балансируют свои счета!) Во время трансферных окон.

ОГЛАВЛЕНИЕ

Введение - Спорт миллиардеров

Трансферные расходы Манчестер Сити

Показатели SPI и источники данных

Моя вторая, и лучше, попытка

FuzzyWuzzy и названия команд

YellowBrick для визуализации алгоритмов

Ценности Шепли для объяснимости

Выводы

ВСТУПЛЕНИЕ

Если шахматы - игра королей, то футбол - спорт миллиардеров.

В феврале 2021 года молодой миллиардер Кирилл Луи-Дрейфус приобрел контрольный пакет акций Sunderland AFC.

Сандерленд - одна из самых знаменитых команд в английском футболе с 142-летней историей и романтической страстью фанатов, лучше всего отраженной в документальном сериале Sunderland Til I Die. У них есть несколько высших чемпионатов, но ни одного с 1930-х годов; они выиграли титулы английской футбольной ассоциации, но ни разу с 1970-х годов. Несмотря на эти последние несколько трудных десятилетий, Сандерленд в настоящее время имеет шесть самых титулов в истории английского футбола, уступая лишь некоторым из лучших команд Премьер-лиги.

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

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

Трансферные расходы Манчестер Сити

Манчестер Сити, принадлежащий конгломерату, управляемому королевской семьей Эмиратов, неизменно является лучшим клубом в мире. Так было не всегда - до тех пор, пока шейх Мансур не купил клуб в 2008 году, он боролся за середину стола. Первым ключевым решением шейха Мансура как нового владельца было выделение средств на привлечение качественных игроков из других ведущих клубов, независимо от доходов клуба. За первые два сезона «Манчестер Сити» потратил на новых игроков почти 377 миллионов евро. Только в 2010 году клуб потратил почти 120 миллионов евро; они также отправили игроков в другие команды, в результате чего их следующие расходы сократились до всего лишь 85 миллионов евро.

Эта стратегия глубоких карманов и больших затрат в трансферные окна, чтобы привлечь игроков, окупилась значительным увеличением стоимости и столового серебра. До 2008 года клуб приносил от 90 до 100 миллионов евро в год. Всего за шесть сезонов доход увеличился в четыре раза и достиг более 400 миллионов евро. С 2008 года команда выиграла пять титулов Премьер-лиги, два чемпионата Кубка Англии, шесть Кубков EFL и 3 награды FA Community Shield. Единственный крупный титул, который ускользает от клуба, - это титул Лиги чемпионов, хотя они были финалистами в 2020–2021 годах.

Манчестер Сити, стоимость которого сейчас составляет 1,1 миллиарда евро, претерпел полную трансформацию за счет затрат на оборудование, стадион и менеджмент - и, в первую очередь, на игроков. Нет никаких признаков замедления поезда. Буквально на прошлой неделе клуб заключил сделку по привлечению Джека Грилиша, первоклассного нападающего, играющего за Астон Виллу. Плата? Почти 120 миллионов евро, самая большая сумма, которую когда-либо получали английский игрок.

Это подводит меня к вопросу - насколько трансферы влияют на силу команды? Если «Манчестер Сити» потратил деньги на привлечение игроков и увидел, что это окупается, какие аспекты трансферных расходов оказали наибольшее влияние на их силу как клуба. Хотя существует множество факторов, влияющих на игру команды на поле, игроки клуба, несомненно, имеют одно из самых больших влияний.

Я уже однажды уже отвечал на этот вопрос, в более раннем проекте, который я использовал в качестве основы для трека Springboard Data Science. Вы можете просмотреть исходный Средний пост здесь.

Источники данных и показатели SPI

Во второй попытке я использовал те же источники данных; передает данные из репозитория Ewenme и данные о численности команды SPI из FiveThirtyEight.

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

Показатели FiveThirtyEight SPI рассчитываются с использованием данных о времени игры, включая количество голов и забитых голов, начиная с 2016 года. Затем эти точки данных взвешиваются и получают баллы, которые используются для ранжирования команд с точки зрения общей силы. Подробнее о показателях SPI читайте здесь.

Моделирование силы футбольной команды, версия II

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

В Версии II этого проекта я решил вернуться к своей первоначальной работе и расширить свой кругозор. Я сделал следующее:

  • Я использовал больший набор данных, охватывающий девять профессиональных лиг со всей Европы за пять сезонов. Это увеличило мой окончательный набор данных со 100 до более 700 строк.
  • Я использовал пакет FuzzyWuzzy для стандартизации названий команд и лиг. На мой взгляд, это значимое улучшение, и я объясню подробнее ниже.
  • В то время как я исследовал многие из тех же алгоритмов, которые использовал в первой версии, я использовал Yellowbrick, чтобы лучше понять, что показывают алгоритмы.
  • Я перенастроил параметры лучшего регрессора случайного леса и улучшил свой показатель R² более чем на 50% с 0,41 до 0,65.
  • Я использовал значения SHAP, чтобы объяснить влияние функций набора данных на модель и определить области, на которых команды на всех уровнях должны учитывать при разработке своей стратегии передачи.

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

Использование FuzzyWuzzy для стандартизации названий команд

Я боялся этой части проекта, когда добавлял другие лиги в набор данных. У меня было два набора данных, каждый с разными соглашениями об именах команд, но в этой версии проекта у меня было девять названий лиг, а не только Премьер-лига. В версии I я взял каждый набор данных индивидуально, создал словарь названий команд на основе их уникальных значений и добавил новый столбец к набору данных с сокращенным «акронимом» имени, который я использовал для обоих наборов данных.

Даже напечатать объяснение труднее, чем следовало бы.

В версии II я использовал библиотеку FuzzyWuzzy для стандартизации имен. Я по-прежнему работал с каждым набором данных индивидуально, но использование этой новой для меня библиотеки значительно упростило работу, чем создание отдельных словарей для каждой лиги для каждого набора данных (или двух гигантских словарей).

Для тех, кто плохо знаком с FuzzyWuzzy (документация) - он берет две строки, сопоставляет их и дает оценку сходства.

Например:

Str_A = 'FuzzyWuzzy' solves problems!'
Str_B = 'fuzzy wuzzy solves PROBLEMS.'
ratio = fuzz.ratio(Str_A.lower(), Str_B.lower())
print('Similarity score: {}'.format(ratio))

Это вернет оценку подобия 95.

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

Использование YellowBrick для визуализации алгоритмов

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

Я сделал вещи довольно простыми и использовал график остатков и график ошибок предсказания для визуализации каждого алгоритма.

Ценности Шепли для объяснения предсказуемости

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

Несколько примеров, которые покажут вам, на что способна библиотека shap.

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

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

Вот две действительно крутые визуализации, которые показывают влияние ценности каждой функции на силу конкретной команды.

Чтобы понять этот водопад, сначала взгляните на правый нижний угол. Этот E[f(x)] является базовой оценкой силы набора данных согласно окончательной модели RandomForest. В левой части диаграммы вы видите значения каждой функции для этой конкретной команды в течение определенного сезона. В этом случае чрезвычайно низкий средний гонорар, который клуб потратил на трансферы, оказал большое негативное влияние - почти на десять баллов по сравнению с базовой оценкой силы. Они также не тратили много денег ни на одного игрока, и это оказало еще одно большое негативное влияние на их силу.

Вот более сильная команда.

Легко увидеть положительное влияние, которое в среднем тратит много на одного игрока на общую силу команды. Только эти две характеристики улучшили силу этой команды более чем на 17 очков!

Выводы

  • Во-первых, переработка предыдущего проекта - это довольно весело, особенно при испытании новых библиотек, новых алгоритмов и новых методов.
  • Во-вторых, команды могут повышать свою силу каждый сезон, тратя в среднем больше и больше на отдельного игрока.
  • В-третьих, в целом, хотя трата денег значительно увеличивает силу команды, так же как и получение денег путем обмена игроками. Если клуб не может много тратить, ему следует постараться много заработать. Во многом именно так Саутгемптон остался в Премьер-лиге.
  • В-четвертых, если я сделаю еще одну попытку в этом проекте (я сделаю это, потому что мне это нравится), я выберу некоторые из менее значимых функций и посмотрю, смогу ли я удалить часть шума.
  • В-пятых, Кирилл Луи-Дрейфус возглавил легендарный клуб, который нуждается в перезагрузке, и если он сможет расстаться с достаточным количеством собственных денег на трансферы, он может увидеть, как этот клуб вернется к славе и повысит свою ценность в целом.

Если вы зашли так далеко, большое вам спасибо за чтение. Просмотрите весь репозиторий и посмотрите на мой веб-сайт другие проекты, над которыми я работал. Обращайтесь ко мне, если у вас есть что добавить к этому анализу или если вы заметили какие-либо ошибки, которые я допустил. А если у вас есть футбольная команда, приготовьтесь потратить большие деньги на летнее трансферное окно!

Tom’s Github