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

Тем не менее, проблема с вычеркиванием заключается в том, что на него сильно влияет игровое время как совокупная статистика. Просто большее количество стартов, матчей или долгая карьера принесут вам больше страйк-аутов. Действительно, рекорд Райана можно в основном отнести к его 27 сезонам игры в бейсбол, большему количеству игроков за всю историю. Чтобы решить эту проблему, у нас есть еще одна статистика, которая выравнивает игровое поле: процент вычеркивания.

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

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

Чтобы сделать свои прогнозы, я сосредоточусь на трех различных типах статистики питча: данные питча Statcast, ситуационные данные, такие как индексы рычагов и преимущество взвода, а также количество типов питча с помощью кластеризации питча. Для этого я буду использовать модель XGBoost на языке программирования R. Мое исследование в первую очередь вдохновлено статьей Прогнозирование показателей страйк-аутов Высшей лиги бейсбола на основе различий в скорости и движении между типами полей игроков», написанной Эриком Мартином для конференции MIT Sloan Sports Analytics 2019 года. В своем заключении он заявляет, что будущий анализ может заключаться в использовании его методологии для питчеров, а не для стартеров. Одно ключевое различие между этим проектом и его исследованием заключается в том, что я уделяю меньше внимания кластеризации полей, и весь мой анализ будет выполняться для каждого питчера, а не для каждого типа поля. Это связано с рядом ограничений, с которыми я столкнулся, например, со сложностью вычислений и временем, которое мне нужно было для завершения проекта. Для начинающих питчеров Мартин обнаружил, что максимальная скорость, процент ударов и вертикальное движение были наиболее важными предикторами процента аутов.

Первым шагом к построению модели прогнозирования является организация всех данных. Основным источником этих данных является база данных Statcast, в которой есть данные по каждому событию в каждой игре MLB с конкретной информацией о скорости, движении, местоположении, скорости вращения и т. д., относящейся к каждому шагу. У создателя библиотеки baseballr для R Билла Петти есть руководство по созданию этой базы данных. Код, который он предоставляет, очищает BaseballSavant — онлайн-репозиторий данных Statcast — за определенный период времени и добавляет его в базу данных PostgreSQL.

База данных будет в основном между 2015 и 2021 годами, что является периодом, когда данные Statcast были доступны. 2020 год опущен, поскольку на сезон сильно повлияла пандемия COVID-19, при этом укороченный сезон и другие внешние факторы, вызванные пандемией, потенциально могут повлиять на статистику за сезон. Оглядываясь назад, можно сказать, что это не было необходимым выбором, но он позволяет легко разделить данные 2021 года на данные тестирования в модели. За эти шесть лет база данных PostgreSQL, которую я создал, содержала данные для колоссальных 4,4 миллиона питчей и занимала около шести гигабайт памяти на моем компьютере. Чтобы получить доступ к этим данным, мне пришлось немного изучить SQL, который я использовал для агрегирования этих питчей по кувшинам по годам. Сводная статистика, которую я создал, включала максимумы, минимумы, средние значения, диапазоны и межквартильные диапазоны для скорости тангажа, вертикального и горизонтального движения, скорости вращения и многого другого. Остальная работа с данными была сделана в R.

Моя цель с этими данными состоит в том, чтобы отфильтровать их, чтобы просто заменить питчеров, которых я определяю как питчеров с менее чем 1000 подач за сезон и менее 45 подач за игру. Питчеры, сделавшие более 1000 подач, обычно являются стартовыми питчерами. Последняя цифра учитывает начинающих питчеров, которые не сыграли столько игр, сколько необходимо, чтобы иметь возможность бросить такое количество подач. Однако остается одна проблема: подача игроков на позиции. Если команда проигрывает с большим количеством пробежек и у нее закончились запасные питчеры, вместо этого подает позиционный игрок, такой как кэтчер. Поскольку внешний вид такой короткий, он подпадает под категорию рельефного питчера. Я справился с этим, используя бейсбольную базу данных Шона Лахмана обо всех игроках MLB, чтобы выбрать и объединить только игроков с указанной позицией питчера.

Объединение фреймов данных было ключевым аспектом подготовки данных для модели. В разных источниках есть свои методы идентификации игроков (основными из них являются идентификаторы MLBAM, Baseball-Reference ID и FanGraphs ID), поэтому мне понадобился набор данных, содержащий все это, чтобы связать мои данные вместе. Это можно найти в Бюро Чедвика, которое содержит информацию о каждом человеке в истории, который играл в бейсбол, по крайней мере, на университетском уровне. Однако функция baseballr для доступа к этим данным не работала в результате того, что они разделили свои данные из одного очень большого файла на 16 файлов меньшего размера. API не был изменен, чтобы отразить это, а это означает, что мне пришлось объединить каждый из этих файлов, а затем отфильтровать их только для игроков MLB. Затем я смог объединить свои данные.

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

Другая статистика подачи была введена для учета различий между стартовыми и питающими. Часто в игру включаются запасные питчеры, если матч против отбивающего благоприятен для питчера, что в первую очередь определяется рукой. Это называется преимуществом взвода, и единоличность — это то, что благоприятствует питчеру, например, матч правша против правши. Я создал статистику под названием «Преимущество взвода первого отбивающего», которая представляет собой процент случаев, когда первый отбивающий, с которым сталкивается вспомогательный питчер, имеет ту же руку, что и этот питчер. Причина того, что это потенциально связано с процентом аутов, заключается в том, что если преимущество взвода чаще всего связано с питчером, то они должны иметь возможность больше бить отбивающего.

Однако представление о преимуществе взвода как необходимом факторе при подаче часто оспаривается. Иногда это высмеивают как симптом чрезмерного управления, и противники заявляют, что фактические характеристики отбивающего должны учитываться больше всего. Например, во 2-й игре матча серии Wild Card Series Американской лиги 2022 года между «Сиэтл Маринерс» и «Торонто Блю Джейс» отбивающий «Моряков» Карлос Сантана, набрасывающий подмену, совершил решающий хоумран от питчера «Блю Джейс» Тима Майзы, чтобы начать возвращение после дефицита в семь пробежек. «Блю Джейс» обеспечили себе преимущество со счетом 8–1 отчасти благодаря тому, что их стартер, RHP Кевин Гаусман, не позволил «Морякам» забить его доминирующий сплиттер. Однако Гаусмана вытащили после неудачного 6-го иннинга, где он загрузил базы. Тем не менее, ему удалось выбить следующий бьющий, а следующий попал во всплывающее окно. Несмотря на то, что он набрал 95 подач, обычно это сигнал для менеджера о том, что в питчере еще осталось немного бензина. Решающим фактором для менеджера «Блю Джейс» Джона Шнайдера было то, что следующий отбивающий, Сантана, мог бить левой рукой, что давало ему преимущество во взводе. В идеальном мире левша Майза мог бы сравняться с Сантаной и записать финал из иннинга, вытащив «Блю Джейс» из затруднительного положения и, несомненно, обеспечив победу, чтобы вызвать новую игру.

Голубые сойки не живут в идеальном мире. Сначала Майза бросила дикую подачу, в результате которой забил один бегун. Затем он уступил хоумран Сантане, который бил правой рукой, что было его сильной стороной в том сезоне. Сантана, будучи нападающим, очевидно, поставила Шнайдера в сложную ситуацию: пусть усталый, но уверенный в себе Гаусман останется, когда он потеряет преимущество во взводе, или пригласите свежего, но менее опытного Майзу, у которого также нет преимущества во взводе. Шнайдер, очевидно, сделал неправильный выбор, так как Майза был шатким в начале, и, что наиболее важно, преимущество взвода никогда не было фактором, который должен был привести к исключению Гаусмана из игры. Моряки выиграют со счетом 10–9, что станет вторым по величине камбэком в истории плей-офф и крупнейшим на выезде. Поклонники Блю Джейс были возмущены решением Шнайдера отозвать Гаусмана, и один пользователь Reddit сказал:

Вы Кевин Гаусман. Вы загружаете базы в обязательной игре после окончания сезона. Ты зол. Ты голоден. Вы выбиваете следующего парня. Толпа сходит с ума. . . . Вы собираетесь выбраться из этого. Ты готов. Затем краем глаза вы видите Джона, приближающегося к кургану. Вы говорите себе: «Не сейчас, Джон. Я в чертовой зоне».

Джон: «Вы вышли. Я играю матч-ап. Хорошая игра"

Джон хлопает тебя по заднице, когда ты уходишь, сдувшись.

Импульс меняется. И остальное уже история.

Ебать отсюда с Matchups. Крупнейшие быки*** бейсбола новой эры. Доверься своим гребаным рукам, чтобы выбраться из гребаной подачи.

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

Существует также статистический показатель, более формальный в отношении контекстно-зависимых аспектов игры, известный как показатель левериджа. Это статистика, основанная на вероятности выигрыша и представляющая колебание WPA (добавленная вероятность выигрыша), которое может произойти в результате данного события. Я выбрал два из четырех индексов кредитного плеча, которые наиболее подходят для данного анализа. Во-первых, это среднее игровое кредитное плечо (pLI), которое представляет собой кредитное плечо для каждого шага в появлении. Это не так полезно для того, чтобы посмотреть, когда нужно ввести питчер, но все же полезно в качестве статистики, чтобы измерить, насколько хорошим или плохим был внешний вид. gmLI за внешний вид питчера может увеличиться, если он попадет в затор, и уменьшиться, если ему удастся выбраться из него.

Более интересной статистикой является кредитное плечо при входе в игру (gmLI), которое представляет собой индекс кредитного плеча для начала каждого появления на поле, которое питчер усредняет за весь сезон. Если этот показатель выше, питчер, вступающий в игру, столкнется с большими проблемами и будет находиться под давлением. Две другие формы индекса кредитного плеча, inLI и exLI, более полезны для начинающих питчеров, а не для запасных питчеров, поскольку они отслеживают кредитное плечо только в начале и конце иннинга. Иннинг-рычаг может показаться привлекательным для запасных питчеров, но он наиболее полезен для выступлений с несколькими иннингами, что редко встречается среди запасных питчеров. Точно так же кредитное плечо на выходе для одного питчера или стартового игрока лучше измерять с помощью кредитного плеча на входе в игру (gmLI) следующего питчера.

Ярким примером этих индексов кредитного плеча может служить игра 15 мая 2022 года между «Маринерз» и «Нью-Йорк Метс». Вступая в 9-й иннинг, «Моряки» вели в счете 8–5, а стартер Робби Рэй сохранял близкую игру в течение шести иннингов, пока пара хоумранов от отбивающих «Моряков» Хулио Родригеса и Кэла Рэли не взорвала игру. . На 8-м месте менеджер Скотт Серве решил, что его ближайшая подача № 1 Пол Севальд будет первой, а близкая № 2 Дрю Стекенрайдер даст шанс на 9-е место из-за сильного лидерства «Моряков». В то время как Севальд подал хорошо, Стекенрайдер не был в игре в тот день (или в будущие дни, учитывая, что он был выбран для AAA только 11 дней спустя) и отказался от двух заработанных ранов из четырех попаданий всего за треть подачи. Один только дубль Брэндона Ниммо увеличил вероятность победы «Метс» на 34%, а одно только появление Штекенрайдера увеличило их шансы на 49%. Его сняли сразу после отказа от второго забега, в результате чего его PLI остался всего на уровне 1,83 из-за того, что ему не пришлось иметь дело с последствиями своих действий. Вместо него Серве отправился к новому пикапу в КПЗ, опытному питчеру Диего Кастильо.

GmLI для появления Кастильо был колоссальным 6,03, когда он вошел в игру. С двумя оставшимися аутами в нижней части 9-го места в игре с одним проходом против верхней части состава одной из лучших команд в бейсболе ставки были чрезвычайно высоки. Сначала он столкнулся с сильно ударившим Старлингом Марте, которого он быстро ударил, размахивая неприятным ползунком. В этот момент его pLI немного уменьшился, но все еще сталкивался с мясом состава Mets. Следующим был Франсиско Линдор, у которого был небольшой спад перед игрой, но на протяжении всей игры он выглядел опасным, поскольку уже сделал хоумран от Рэя. Нападающий, только что начавший возможный сезон 5.5 WAR, был не тем, кого Кастильо хотел видеть здесь, и его намеренно увели.

PLI Кастильо сразу подскочил, так как базы теперь были загружены, и любой, кто попадал на базу, мог сравнять счет или сразу выиграть для Мец. Теперь Кастильо встретился, пожалуй, с самым страшным их игроком, Питом Алонсо, который как раз заканчивал сезон 37 хоумранов и надеялся превзойти его в 2022 году (что он в конечном итоге и сделал, набрав 40). Используя только слайдер, Кастильо работал на полную катушку, не обязательно имея при этом лучший контроль. Он еще раз пошел со своим ползунком, и Алонсо слишком сильно остановил свой замах. Игра окончена, Моряки побеждают. PLI Кастильо упал в среднем до 8,30, когда он выбил двух отбивающих в ситуации чрезвычайного сцепления, что добавило достоверности двум связанным статистическим данным. Ключевой особенностью его внешности был ползунок; Типы высоты тона являются последней частью данных для этой модели.

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

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

Используя все созданные для него данные и статистику, я смог настроить свою модель. Я использовал модель машинного обучения XGBoost Gradient Booster для прогнозирования процента вычеркивания, в основном из-за ее простоты использования и мощности. Я разделил свои данные на данные тестирования и обучения: 2021 год — для тестирования, а 2015–2019 годы — для обучения, с примерно 20-процентным разделением тестов на обучение. Я удалил запасных питчеров, которые появлялись три или менее раз за сезон, чтобы улучшить качество своих данных, оставив мне 1670 запасных питчеров в тренировочных данных и 388 питчеров в данных тестирования. Затем они были дополнительно разделены на функции и метки, причем метка представляла собой процент зачеркивания.

Запуск моей модели с параметрами по умолчанию дал мне среднюю абсолютную ошибку примерно 5,9%. Средняя абсолютная ошибка (MAE) — это среднее расстояние между значением тестовых данных для процента вычеркивания и линией прогноза для него, созданной моделью. Моя цель была около 3%, что было самым низким MAE из исследования Мартина. Для процента аутов MAE около 6% означает, что прогноз 20% для данного питчера может действительно быть 14% или 26%, что является довольно большим размахом в контексте средних показателей лиги. Чтобы снизить ошибку, я выполнил настройку гиперпараметров, используя поиск по сетке перестановок различных параметров модели.

В основном я работал с гиперпараметрами ETA (скоростью обучения), количеством раундов, которые будет запускать модель, максимальной глубиной, которую может пройти каждое дерево, и процентом функций, используемых для обучения каждого дерева. Я также просмотрел другие, которые контролируют работу модели, такие как альфа, гамма и лямбда, но ни один из них не повлиял на мой MAE более чем на предельную величину, увеличивая вычислительную сложность. MAE моей модели установился на уровне около 4,6%, что является значительным улучшением по сравнению с использованием только параметров по умолчанию. Я приписываю, что это выше, чем значение Мартина, из-за использования другого набора данных (разгрузочные вместо стартовых), другой модели (XGBoost вместо Random Forest) и другого метода для моего анализа (на питчер вместо на тип подачи питчера). Я доволен этим значением, так как у подавляющего большинства питчеров была очень низкая абсолютная ошибка, что свидетельствует о том, что моя модель была точной.

В твердотельной модели я использовал важность признаков, чтобы определить, какие факторы являются лучшими предикторами процента вычеркивания. Я обнаружил, что процент страйков был наиболее важной характеристикой, которая следует общепринятой логике: чем больше страйков вы совершаете, тем легче получить страйк-ауты, поскольку будет меньше прохождений. Средний pLI был вторым наиболее важным предиктором. Существуют разные интерпретации того, как индекс кредитного плеча может предсказать процент страйк-аута. В ситуациях с низким кредитным плечом питчеру, возможно, не нужно слишком сильно сосредотачиваться на получении аута, и он может решить попробовать больше своего разбивающего мяча или ему может быть легче получить ауты против более сильных противников. С другой стороны, когда кредитное плечо высокое, питчер может работать хуже и не получит много или будет чувствовать себя «в своей зоне» и будет иметь повышенную производительность. Важность функции говорит нам не столько о том, каким будет результат данной статистики, сколько о том, каковы лучшие предикторы этой статистики. Максимальная скорость, а также ее межквартильный диапазон являются следующими наиболее важными предикторами, при этом максимальная скорость объясняется более быстрыми шагами, которые легче преодолевают отбивающие, что приводит к аутам. IQR можно объяснить постоянством, поскольку питающий, который отлично контролирует скорость подачи, может лучше получать ауты. И наоборот, их последовательность может сделать их предсказуемыми, и отбивающие знают, как с ними справиться; последовательность тона решит этот вопрос. Наконец, средний gmLI занимает пятое место в списке, показывая, что кредитное плечо в начале появления также очень важно по тем же причинам, что и для pLI.

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

Моя главная будущая цель для этого проекта — переработать его, чтобы он соответствовал кластеру полей, так как это позволит мне применить мои прогнозы к более важной части сегодняшней игры. Я также добавлю к своим данным данные за 2020 и 2022 годы, поскольку у меня никогда не было действительно веской причины не включать данные за 2020 год, а данные за 2022 год теперь должны быть доступны.

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