Новая метрика, которая может заменить xG. Знакомьтесь, xT
От редакции sports.ru: всем привет, вы в блоге «Тактический борщ». Цифры, формулы, стрелочки – здесь разбирают все: от плейбука Гвардиолы до волшебной тактики «Бетиса». Набирайтесь новых знаний, благодарите автора плюсами и подписывайтесь!
Пока мы все рисовали стрелочки на картинках и гордо рассказывали про xG и другие похожие вещи, один сумасшедший индус из Фэйсбука (ну да, где бы он еще мог работать?) создал метрику xT (Expected Threat). Она показывает сценарии продвижения мяча, самые популярные решения игроков, любимые зоны голевых моментов и многое другое. Внизу будет ссылка на оригинальный текст, но для людей, не владеющих английским языком, я с удовольствием публикую перевод. Погнали!
Но если вы вдруг не совсем в курсе, что такое xG, прочите для начала этот гайд от Вадима Лукомского.
Зачем нам новая метрика?
После нескольких замысловатых передач на правом фланге Месут Озил вскрывает оборону «Бернли» разрезающей передачей на Сеада Колашинаца, чья своевременная скидка мяча назад нашла Обамеянга, дав ему возможность забить.
Понятное дело, что на бумаге голевая передача была записана на Колашинаца. Но как аналитик вы могли бы задать (и правильно) вопрос о вкладе Озила. Где же та метрика, которая могла бы пропорционально разделить пользу Озила и Колашинаца для этого удара?
Какие метрики есть сейчас?
Существует несколько количественных подходов, которые можно использовать для решения задачи:
• посмотреть на ассисты, но тогда вклад вроде того, что сделал Озил, останется незамеченными;
• посмотреть на xGChain, но тогда xG финального удара (в данном случае = 0.13) будет поровну разделен между каждым игроком, участвующим в комбинации. Колашинац, Озил, Обамеянг, Ляказетт и Мэйтленд-Найлз были бы вознаграждены одинаковым количеством xGChain, что не отражает реальный вклад;
• посмотреть на разницу в xG, вызванную каждым действием в комбинации. Это уже лучше, но не всегда именно проникающий пас создает хороший голевой момент. Например: передача Озила вскрывает оборону, но она все еще не вывела Колашинаца на отличную позицию для взятия ворот. Передача Озила скорее вывела Колашинаца на позицию, с которой он может создать хороший голевой момент.
Можем ли мы справиться лучше?
На изъянах существующих метрик мы бы хотели получить подход, который может:
1. Вознаграждать индивидуальные действия: модель должна начислять очки за каждое действие игрока (передача или обводка) в зависимости от того, какой вклад в комбинационную игру оно внесло.
2. Оперировать данными на уровне событий. У нас нет доступа к любым учетным данным игроков; у нас есть лишь список последовательных событий вместе с базовыми атрибутами этих событий: игрок во владении, проведенное время на поле, начальное местоположение, конечное местоположение и так далее.
3. Вознаграждать действия независимо от финального результата владения мячом (например: вознаграждение Озила не должно зависеть от реализации Обамеянга). Каждое действие должно быть оценено в изоляции независимо от того, что произошло во владении до и после него. По мере поступления соответствующих вводных сигналов у нас фактически остаются только начальные и конечные точки действий. Как на основе этого мы можем начислять баллы? Можно по разнице в xG: если конкретное действие продвигает мяч из точки А в точку Б, баллы за действие просто будут значением равным Б минус А.
4. Вознаграждать продвижение мяча не только в высокие по xG позиции, но и в угрожающие позиции, которое потом может повлечь высокие по xG позиции с высокой вероятностью взятия ворот. Когда значение генерирует xG-модель, подразумевается, что следующим действием станет удар. Но на поле все еще много зон, из которых трудно забить напрямую, но из которых можно продвинуть мяч в локации с более высоким уровнем xG. Когда мы задаем значения действиям, нам нужно определять эти угрожающие позиции. Другими словами, xG нам дает только одно действие (удар) с одной позиции. Чтобы понять реальную угрозу действия, нужно оценивать его как часть цепочки действий.
Владение мячом
Когда команда владеет мячом, игроки могут либо ударить (и забить гол с определенной вероятностью), либо переместить мяч в другую зону с помощью передачи/дриблинга. Это продолжается до потери мяча или гола.
Если мы будем работать с этой упрощенной моделью игры, как будут выглядеть данные? По каждой позиции нам нужно знать: как часто футболисты бьют (и как часто забивают), как часто они передвигают мяч и куда они его передвигают. Следующая схема суммирует данные за все игры АПЛ в сезоне-2017/18.
Не поленитесь и поклацайте эту штуку в оригинальном посте. А для тех, кому лень, я записал видео.
Поигравшись с этой таблицей, вы начнете замечать, что каждая зона (x, y) имеет определенные атрибуты:
• вероятность продвижения m(x, y): когда игрок находится с мячом в зоне (х, у), как часто он выбирает продвижение мяча в качестве следующего действия?
• вероятность удара s(x, y): когда игрок находится с мячом в зоне (х, у), как часто он выбирает удар в качестве следующего действия? В нашей вселенной по умолчанию у него есть только два варианта: продвинуть мяч (пас/дриблинг) и пробить по воротам. Получается, что m(x, y) + s(x, y) = 100%
• матрица продвижения t(x, y): в этом случае мы говорим о том, куда и с какой вероятностью футболисты продвигают мяч(x, y). На схеме сверху эти зоны обозначены разными оттенками зеленого цвета (чем зеленее цвет, тем чаще эта зона становится следующим пунктом назначения мяча).
• вероятность гола g(x, y): здесь уже о том, куда игроки бьют из зоны (х, у), какая вероятность, что удар закончится голом. Стоит подметить, что это очень простая реализация xG.
Взглянуть за пределы шахматной доски
Теперь у нас есть система вычисления, но чего мы хотим достичь? Когда дело доходит до комбинационной игры, много значимых действий сразу же не ведут к хорошим голевым возможностям – в этом проблема моделей, ориентированных на удары. Но они ведут к хорошим ситуациям для взятия ворот несколько действий спустя. Эту теорию очень красноречиво выдвинул Ден Сервон в контексте баскетбольной аналитики (хотя его цитаты очень даже применимы к футболу).
Как задавать зонам такие значения, которые оценивают не только сиюминутную значимость для гола, но и перспективность для продвижения мяча? Владея мячом в какой-то зоне (х, у), у тебя есть выбор: ты можешь ударить и забить с определенной вероятностью или передвинуть мяч в другую локацию.
Извлечение xT
Здесь я решил не заниматься переводом и оставить этот раздел самым большим статистическим гикам. В нем автор посвятил очень много текста объяснению своих алгоритмов и раздел получился очень специфическим. Пропустим его.
Визуализация xT
Теперь, когда у нас есть формула нахождения xT по всему полю, как будет выглядеть результат? Эта визуализация показывает нам как 2D-карту, так и 3D-модель, построенную с использованием всех данных сезона-2017/18. Круто, что просчитать вероятность гола можно на разное количество шагов вперед, просто двигая слайдер (от одной до пяти).
Что нужно закрепить:
• ожидаемые угрозы (xT) = 0.413: когда команда владеет мячом в выделенной зоне, вероятность, что они забьют гол за следующие пять действий составляет 41.3%;
• на нулевой точке карта плоская, так как итерация=0 является отправной точкой для дальнейших вычислений;
• на первом действии у нас уже есть просчитанная модель;
• при каждом следующем действии мы видим заполнение карты xT все дальше и дальше от выбранной точки (как мы уже посмотрели, каждый шаг позволяет просчитать еще одно действий в командной игре);
• показатели xT сливаются воедино после 4-5 действий.
Как использовать xT
Теперь можно измерять вклад игроков в комбинационную игру, если считать разницу в xT между начальными и конечным локациями. Другими словами, мы говорим, что любое действие, которое перемещает мяч из точки (х,у) в точку (z,w), имеет значение хТ(z,w) – хТ(х,у).
Еще раз: стоимость действия равняется % изменения в шансах команды забить за следующие пять итераций из-за этого действия (с учетом того, что мы сейчас говорим о пяти итерациях, мы используем понятие «следующие пять действий»).
Теперь попробуем решить проблему оценки действий Озила и Колашинаца, но уже используя формулу xT:
1. Пас Озила перемещает мяч из хТ=0.077 в хТ=0.158. Пас Озила делает разницу хТ=0.081.
2. Пас Колашинаца перемещает мяч из хТ=0.158 в хТ=0.171. Пас Колашинаца делает разницу хТ=0.013.
Смотря на эти цифры, мы видим, что Озил наиграл на 0.81/(0.81+0.013)=86% в разнице хТ, а Колашинац, несмотря на ассист, всего на 14%.
Лидеры по хТ
Чтобы проверить метрику, автор предлагает посмотреть на список лидеров по хТ в сезоне АПЛ-2017/18. Таблица показывает топ-15 игроков лиги, чьи действия принесли самую большую разницу по метрике хТ. Обратите внимание, что список упорядочен не на основе общего количества принятых решений, а на грубой сумме хТ. Автор это сделал преднамеренно, чтобы покрыть не только игроков, которые умеют обострять, но и тех, кто делает это постоянно и в больших объемах. Нахождение Холебаса на третьем месте может вызвать удивление, но левый защитник «Уотфорда» в том сезоне зарекомендовал себя как самый стабильный и опасный созидатель команды.
Кроме простого начисления очков в командной игре, систему хТ можно использовать и по-другому. Например, пока мы только посмотрели хТ-результаты всех команд АПЛ сезона-2017/18, но прошли мимо конкретных данных по командам. Нет никаких сомнений, что клубы по-разному ведут себя во время владения, отдают приоритет разным участкам поля и идут разными путями к голам в зависимости от своих сильных сторон. Что происходит, когда вместо сбрасывания всей статистики в кучу мы просчитаем хТ по командам?
Визуализация хТ по командам
Это не что-то новое, но xT хорошо показывает разницу в стилях команд. Еще можно, обратить внимание на разницу в высоте. Например, у «Ман Сити» и «Тоттенхэма» примерно одинаковые изгибы (что означает, что у них похожая ценность продвижения мяча в тех же зонах), но линии хТ очень разные. Это означает, что в одних и тех же зонах игроки «Ман Сити» на порядок опаснее лондонских конкурентов (благодаря более высокой реализации).
xT можно использовать, когда нужно понять, с какого участка поля команда создает больше всего опасности.
В этом нам поможет хТ-карта команды и оценка действия из сыгранных ею матчей. Другими словами, на каждой ячейке схемы мы можем посмотреть на действия, который там зародились, и на сумму хТ этих действий. Так мы увидим, насколько опасен соперник на разных участках поля. Еще можно увидеть любимые направления соперника для продвижения мяча. Чтобы сделать все это еще более полезным для тактических установок команд, нам хотелось бы узнать, кто те самые игроки, которые создают угрозу.
Кто создает опасность и откуда?
Это видео работы очередного алгоритма попытается ответить на наш вопрос максимально точно. Подсвеченные зоны показывают, откуда чаще всего создается хТ. На отдельных участках видны опасные маршруты мяча, которые там рождаются, и самых активных игроков.
Еще раз: зайдите на сайт автора и прощупайте все своими руками.
Что дальше?
xT поможет лучше анализировать контратаки. А еще – оценивать индивидуальный уровень решений футболистов и влияние этих решений на игру команды. Вероятнее всего, еще больше интересного в метрике найдут футбольные скауты.
Поддержите автора
Если у вас на уме есть какие-то направления, которые вы бы хотели изучить вместе с автором, вы можете с ним связаться в твиттере @karun1710 или напрямую по электронной почте karun.singh17@gmail.com
Ссылка на оригинал
Подписывайтесь, чтобы не пропустить следующий эпизод!
____________________________________________________________________
Фото: globallookpress.com/imago sportfotodienst, Simon Bellis/imago sportfotodienst; Gettyimages.ru/Shaun Botterill
Кое-что актуальное:Пост о тактике Шевченко в сборной Украины
И кое-что познавательное
Expected Goals On Target – еще одна метрика, о которой должен знать каждый тактический гик
Так вот, игнорирование позиций защищающихся делает модель неинформативной. А учет расположения всех обороняющихся делает модель непросчитываемо сложной. Так что пользы от нее будет не слишком много, кроме развлечения статистических гиков. xG с их оценкой фактических ударов (=попыток забить) и проще, и точнее.
ЗЫ. Меня, кстати, в списке топов больше удивило бы присутствие не Холебаса, а днаря Алексиса (если бы эта статистика могла стать поводом для удивления в принципе).
Сложности в том, чтобы сформулировать саму функцию потенциала и связать с вероятностями забить гол. Также нужно учитывать особенности самой команды: сперва нужно собрать всю базу по всем действиям и бездействиям по всем матчам (настолько много, насколько получится), а потом на получившееся распределение наложить "маску" определенной команды и определенных игроков на поле - учесть их особенности. Тогда даже пас под неудобную ногу будет видно в такой статистике.
И спасибо за материал 👍
Также приглашаю обсудить тактику к себе в ЛС. Тут просто неудобно)
Теория занимательная и очень интересная, но без учета позиций соперника ей и остаётся.
Идея до конца в голове не сформировалась - приходится еще другими вещами заниматься: наукой, собственным стартапом. Просто некогда развивать идею. Если грубо, то я предполагал взять все голевые моменты, удары по воротам и т.п., прокрутить время назад, посмотреть, какая последовательность действий привела к голам/ударам и т.п., сопоставить с частотой аналогичных действий в другие периоды матча, которые не привели к реализации. Например, определенное расположение игроков обеих команд, мяч в определенном месте - сколько раз такая и похожая ситуация возникала в матчах, и во скольких из них мяч забили (или пропустили) из такой ситуации в течение 10 секунд, 30 секунд, 1 минуты и т.д. Очевидно, что большинство ситуаций на поле довольно нейтральные, а высокая вероятность (скорее, высокое преимущество, разница между вероятностями забить и пропустить) проявляется только в действительно опасных и качественных атаках. Но на сами эти атаки придется только 5-10 минут матча, а остальное время придется на "перекатывание мяча" - тут больше действий, но каждое из них менее ценное. И т.д. и т.п. Но там всё очень непросто. Идея так до конца не формируется - слишком много нюансов, вопросов, проблем еще остаются. Нужна целая команда, чтобы реализовать такую идею. А еще можно (и, наверное нужно) задействовать нейронные сети, поскольку такой подход должен быть "умным" и "обучающимся", должен уметь реагировать на смену традиций, тактик, даже просто смену мяча.
Читая про xG и xT все жду, когда предложат что-то подобное, но никак не могу дождаться. Странно, почему самая очевидная система подсчета до сих пор не разработана и не применяется (хотя, возможно, я просто не в курсе, и она уже существует).
Если вдруг захотите реализовать эту технологию, зовите :-) помогу, чем смогу ))
"продвижение мяча не только в высокие по xG позиции, но и в угрожающие
позиции, которое потом может повлечь высокие по xG позиции с высокой
вероятностью"...
xpg - а это плотность вероятности опасного момента от нахождения волновой функции мяча в определенном месте поля)).
расчет функции потенциала ситуации:
1) пройтись по всем матчам, найти все схожие ситуации по расположению игроков. Идеального совпадения почти не будет, поэтому нужно найти также и все похожие ситуации, и чем они менее похожи, тем ниже весовой коэффициент для таких ситуаций;
2) посмотреть, что получилось извлечь из этих ситуаций - оценить сложную функцию вероятности забить гол или пропустить его. Чем быстрее будет забит гол, тем ценность такой позиции выше. Если гол забьют через 5 минут, то ценность почти нулевая, потому что за 5 минут столько всего произойдет. Но если и пропустят только через 5 минут, то с позиции обороны - неплохая позиция;
3) рассчитать функцию из разницы между вероятностью (в форме сложной функции) забить гол и пропустить - это атакующий потенциал одной команды. Можно свести потенциалы обеих команд к одной функции (мяч же один), но можно и просто вести две функции одновременно - бывает, что высокий атакующий потенциал одной команды идет одновременно с высоким шансом пропустить из-за контратаки;
4) наложить на функцию "маску" из особенностей команд, игроков на поле, погоды и прочих факторов. Это одна из самых сложных проблем в этом методе;
5) все, получается две функции-потенциала, оценивающие вероятность забить гол каждой из команд.
Далее действия каждого игрока оцениваются по тому, как это самое действие повлияло на обе функции-потенциалы. Для защитников более важно снижение атакующего потенциала соперника, для нападающих - развитие собственного потенциала, но в реальности всем игрокам на поле нужно делать и то, и другое. Оценка влияния действия игрока на функцию выполняется как чисто по самому действию, так и в совокупности с действиями других игроков, чтобы общее изменение функции-потенциала было полностью распределено на всех игроков на поле в различных пропорциях - согласно их вкладу.
Ну а далее все это складывается в течение всего матча, всего чемпионата и т.д. Предположу, что при счете 3-2, команда победителей наберет суммарно 1 балл, а команда проигравших - минус 1 балл, но распределение внутри команды будет совершенно разным: кто играл лучше, у того и выше баллы. Здесь будет всё: и глупые ошибки вратарей будет видно, и открывания центрфорваров, и гениальные разрезающие пасы, и неотработка в защите, и ошибки с оффсайдами и т.д.
1) Это вопрос математики. Любой гол является следствием целого ряда позиций, но их весовой коэффициент должен падать по мере увеличения временного интервала, отделяющего позицию от гола. Вот о чем я говорил. Если в матче будет забит хоть один гол, то голевой можно считать и разводку мяча в центре поля, но в реальности нам важны лишь несколько позиций перед голом. И при непосредственном расчете позиции/ситуации будет именно некоторое распределение вероятностей в зависимости от времени - через сколько секунд более вероятен гол, когда менее вероятен, а когда эффект ситуации полностью прекратится. Нельзя говорить просто о вероятности забить гол - только о вероятности забить в течение N-ого периода времени;
2) тут вы правы. Похоже, в сбор статистики придется закладывать и сбор схожих позиций, отличающихся от анализируемой с поправкой на ошибки игроков. Понадобится определенный критерий, ведь если 10 человек стоят "неверно", и только 1 "верно", то, вероятно, этот самый игрок и играет неправильно :) (с поправкой на команду);
3) значит, надо делать весовой коэффициент на период времени в матче. Совсем исключать неподходящие ситуации нельзя, иначе просто базы данных не наберется;
4) аналогично - весовые коэффициенты. Плюс в "маске" команды нужно учитывать, как она чаще всего играет в том или ином турнире, а по весовым коэффициентам также учитывать качество соперника. Я же говорю, что это самая сложная часть программы - собрать базу данных несложно, а вот сделать такую "умную" систему тяжело;
5) ну тут вообще сложно подсчитывать. Пока даже идей нет, как это можно посчитать;
6) нужен грамотный баланс между особенностями игрока, коллектива, погоды и других факторов, ну а если данных для на анализа не хватает, брать данные в целом по похожим ситуациям. Да, это не совсем объективно, но если просто нет данных в принципе, то что делать?!