Преглед

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

  1. Възраст на играча
  2. Черти на атлетизъм
  3. Точки от данни като скорост на въртене, скорост, хоризонтално и вертикално прекъсване и др.
  4. Ниво на конкуренция
  5. Тип тяло

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

Данните

За този проект използвах два източника на данни: Baseball Savant и Lahman Database. Ако сте запознати с миналите ми статии или като цяло сте фен на бейзбола, сигурен съм, че сте чували за Baseball Savant. Базата данни Lahman не се използва широко от широката общественост, но съдържа някои невероятно полезни данни. Докато базата данни съдържа информация за разнообразен набор от теми, като традиционна статистика, награди на играчи и обща информация за отбора, аз я използвах за биографични данни.

Базата данни Lahman предоставя на потребителя много различни опции за свързване, като една от тях е R-Studio пакет, който предоставя достъп до всички негови възможности. По-долу е даден фрагмент от данните, събрани от базата данни Lahman.

По отношение на данните за Baseball Savant, основната ми цел беше да извлека информация, свързана с теренния арсенал, в допълнение към няколко съвременни статистики, които ще бъдат използвани в моя показател за успех (на който ще се спра по-късно). Ето кратко ръководство за функциите на арсенала за представяне, изтеглени в допълнение към показателите, използвани в моята функция за успех:

Данни за Арсенал:

  • Тип стъпка
  • Изхвърлен процент (за тип стъпка)
  • Скорост (за тип стъпка)
  • Завъртане (за тип стъпка)
  • Хоризонтално и вертикално прекъсване (за тип стъпка)
  • Тотален брейк (за тип терен)

Показатели:

  • Ининги Питч
  • K%
  • xBA
  • Излезте от Velocity

Обработка на данни

За да се трансформират данните в структура, която е оптимална за въпросите, на които се опитвам да отговоря, беше необходима голяма обработка. Това определено беше най-отнемащата време част от този анализ и изискваше множество стъпки. За да осигуря ясно оформление на моята стратегия, ще разделя всяка част от обработката на описателна стъпка.

Стъпка 1: Обединете данните на Lahman и Savant

Тази стъпка беше относително проста. След като идентифицирах характеристика, преобладаваща както в наборите от данни savant, така и в lahman, те бяха събрани в една основна група. Тъй като и двете съдържаха променлива с името и фамилията на всеки играч, това беше сравнително проста стъпка.

Стъпка 2: Осреднете данните за повторения играч

Сега, когато основният комплект беше създаден, трябваше да определя как ще се справя с повтарящи се сезони на играчи. Тъй като данните на savant проследяват показатели от 2015 г. и нататък, имаше много играчи, които участваха в сезони 2015–2020 г. В резултат на това трябваше да осредня техните показатели, създавайки едноедно наблюдение на играч, а не наблюдение на сезон на всеки играч. Пример за този процес е намерен по-долу. По-конкретно, сравнете наблюденията на горната таблица „Фернандо Абад“ с новотрансформираната таблица по-долу.

Стъпка 3: Създайте функция „Успех“.

За да създам идеалната перспектива, трябваше да създам някаква базова линия от характеристики, които да търся. Въпреки че има голямо разнообразие от пътища, които бих могъл да избера, базирах своя показател за успех на следните променливи: AV_K_Perc, AV_xBA, AV_EV и Total_Innings. Сега, когато променливите са избрани, имах нужда от някакъв вид праг, който да класифицира даден играч като успешен или неуспешен.

За да направя това, просто погледнах средните стойности на лигата, определяйки под какъв квантил трябва да попадне играчът, за да се счита за успешен. Тази „статия за фанграфи“ беше невероятно полезна и беше движещата сила при определянето на общите прагове. Окончателните ми прагове бяха както следва:

  • K% ≥= 22
  • xBA ≤ 0,240
  • EV ≤ 88
  • Общо ининги ≥ 80

След като тези показатели бяха решени, създадох нова двоична функция в данните, наречена „успех“, която идентифицира играч като успешен (1) или неуспешен (0). Важно е да се отбележи, че за да се счита играчът за успешен, ВСЕКИ праг трябва да бъде достигнат.

Стъпка 4: Използвайте функцията cut2, за да поставите данни в квантили

Подобно на функцията „успех“, създадена по-горе, трябваше да продължа процеса с повечето други променливи, присъстващи в данните. Преди да мога да го направя, трябваше да разделя данните на квантили.

Например, данните съдържат играчи с височини, вариращи от 67–78 инча. За да можете да определите оптималната височина, са необходими диапазони. Като такава, аз разделих променливата на височината на следните 4 квантила: 67–70, 71–73, 74–78. Идентичният процес беше необходим за ВСИЧКИ други променливи, включително показателите на всяка отделна стъпка.

Стъпка 5: Създайте двоични променливи за всеки изрязан квантил

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

Например, да кажем, че играч А тежи 210 паунда. Тъй като 210 попада между 200–224, играч А има стойност [200,225) в променливата тегло. За да анализирам това, трябваше да създам двоична променлива за [200,225) наблюденията, конкретно наречена „weight_200_224“. Ако теглото на играч попада в тази категория, „1“ ще бъде използвано като стойност, с „0“ в противен случай.

Въпреки че това може да изглежда като прост пример, имаше много случаи, в които този процес трябваше да се осъществи. Вземете за пример показателя за скорост на топката с четири шева. Следните променливи бяха създадени за FF velocity: ff_velo_80_89, ff_velo_90_92, ff_velo_93_94, ff_velo_95_96, ff_velo_97_plus.

Важност на функцията — Оптимален арсенал

Сега, когато данните са разделени на квантили с уникални двоични променливи за квантил, данните са готови за анализ, което води до първия въпрос, на който се стремях да отговоря: какъв е оптималният арсенал за питчър?

Използвайки новосъздадената метрика за успех, пуснах произволен горски алгоритъм, за да определя важността на функцията. За този модел създадох data.frame, съдържащ само показателя за успех в допълнение към всяка двоична променлива от типа стъпка.

От тук успях да определя кои терени имат най-голямо влияние върху цялостния успех. Моделът доведе до някои доста интересни открития, които можете да намерите по-долу.

За да потвърдя тези наблюдения, създадох корелационна матрица, целяща да идентифицирам променливите, които имат най-висока корелация с успеха. Както можете да видите по-долу, матрицата се съгласи, че хвърлянето на CB и CH има най-голямо влияние върху успеха.

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

  1. Питчъри, които хвърлят CB, CH, FF (оптимално)
  2. Питчъри, които хвърлят CB, CH, FF, SL

Създаване на оптимална перспектива за представяне

Сега, когато арсеналите са създадени, проведох подобен процес, използвайки всички двоични променливи, създадени в секцията за обработка на данни. По-долу ще намерите резултатите за всеки един от арсеналите, както и обобщение за оптимална перспектива за хвърляне. Ако искате да видите ВСИЧКИ препоръчани функции за всеки тип aresenal, те могат да бъдат намерени тук.

Арсенал 1: Перспектива, която хвърля FF, CB, CH (оптимално)

Основни характеристики:

  • Four-Seam fastball въртене от 2500 RPMS +
  • Скорост на бърза топка с четири шева между 93–94 MPH
  • Крива топка, хвърлена 10–14 % от времето
  • Височина между 67–70 инча
  • Тегло между 175–199 паунда

Арсенал 2: Перспектива, която хвърля FF, CB, CH, SL

Основни характеристики:

  • Four-Seam fastball въртене от 2500 RPMS +
  • Скорост на бърза топка с четири шева 97 MPH +
  • Скорост на промяна 85 MPH +
  • Плъзгач с общо прекъсване от 10 инча +

Изводи

По време на този анализ бяха дадени отговори на много въпроси. Ето няколко констатации.

  1. Въздействието на бърза топка с високо въртене

Тази функция, преди всичко друго, трябва да се счита за най-важният фактор при оценката на играчите. Ако питчър има завъртане от 2500+, има голям шанс той да успее.

2. Curveballs!

Това може да бъде трудна тема. Както заключиха изследванията, включително друг от моите „лични проекти“, чупенето на топки увеличава шанса от наранявания на UCL.

Също така е интересно да се отбележи, че докато кривите топки са най-важната стъпка, моделът заключава, че те трябва да се хвърлят само 10–14% от времето.

Подобрения

Това беше забавен и интересен проект. Има обаче множество области, които може да подобри, като се започне с:

  1. Данни, данни, данни

След цялата обработка на данните основният набор съдържа малко над 1000 променливи. Основното ограничение тук беше, че данните на Statcast се проследяват само от 2015 г. нататък. Като такива, има толкова много играчи, с които да се работи, което ограничава общия обхват на анализа.

2. Не може да се отчете проектируемостта

Въпреки че целта беше да се използва показателят „успех“, за да се помогне при оценката на играчите аматьори, реалността е, че играчът на 18 години няма да бъде същият играч на 23 години. Има много време за разработка, което се случва през тези решаващи години и не се отчита в този анализ.

3. Разпределение на височина/тегло

Докато данните за ръста/теглото бяха интересни за включване, важно е да се отбележи, че данните произтичат от момента, в който играчът влезе за първи път в лигата. В резултат на това тези биографични характеристики (особено теглото) вероятно са малко по-различни от текущото тегло на играча.

И така, ето го. Искрено се надявам да ви е харесало! Наистина оценявам обратната връзка, така че не се колебайте да ми изпратите някакви мисли или препоръки. Ако искате да видите моя код, можете да го намерите тук.

-jms