
몬테카를로 시뮬레이션을 활용한 실점 확률 최소화 구종 파악
© 2024 KIIE
Abstract
Although each sport has different characteristics, the main goal of a sports game is to win by scoring at least one point more than the opponent, not about creating a large score difference. With this in mind, this study analyzes the optimal pitch type that minimizes the probability of conceding a score rather than minimizing runs in a baseball game. We represent situations in a baseball game as the Markov Decision Processes (MDP) model by calculating state transition probability according to pitch type selection based on the data recorded in the US Major League Baseball between 2021 and 2022. A formulated MDP model is used to run a Monte-Carlo simulation to identify a pitch type that minimizes the probability of conceding a score and a pitch type that minimizes total runs until the end of the inning for all states. Simulation results show that there exist differences between identified pitch types and mismatch increases in states of two outs or no runners on base. We also found that selecting pitch type to minimize the probability of conceding a score can be useful when starting an inning in a tied game.
Keywords:
Monte-Carlo Simulation, Markov Chain, Baseball Data Analysis, Optimal Pitch Type Selection1. 서 론
최근 스포츠 분야에는 다양한 방식으로 수집된 다량의 데이터를 전략 설계 및 운영에 활용하기 위한 시도들이 다수 진행되고 있다. 영국의 컨설팅 회사 Deloitte Global의 보고서에 따르면 스포츠 ICT 시장규모는 2021년부터 2026년까지 매년 17.9%씩 고성장하여 2026년에는 미화 402억 달러에 이를 것으로 예상하고 있다(Deloitte Global, 2022). 축구, 농구, 야구 등 대부분의 프로스포츠 종목에서 데이터가 활용되고 있지만, 야구는 스포츠 데이터 분석에 있어 가장 전통적인 종목이다. 야구 종목이 다른 스포츠에 비해 데이터 분석이 활발하게 진행될 수 있는 가장 큰 이유는 경기가 연속적이지 않고 투수가 던지는 공 한 구 한 구마다 플레이 단위를 나눠서 분석이 가능하다는 점이다. 아웃 카운트가 3개가 되면 공격과 수비가 바뀌는 턴제 게임이고, 투수가 공을 던지는 순간 게임이 진행된다는 특징을 가지고 있어 데이터 분석이 용이한 편이다.
야구 경기에서 플레이 단위의 시작을 담당하는 투수의 역할은 경기를 이기기 위해 핵심적이라고 할 수 있다. 특히 다양한 상황에 따라 어떤 구종을 던져야 하는지 결정하는 것은 경기의 승패에 큰 영향을 주는 요소이므로 전략적인 판단이 가미되어야 하는 중요한 의사 결정이다. 따라서 승리를 위해서는 어떤 구종을 던지는 것이 최적인지 분석할 필요가 있다.
경기의 승패가 가장 중요한 스포츠 경기의 특징을 봤을 때 최적의 구종을 정의하기 위한 목적식은 피안타율, 피출루율처럼 단순히 타자 하나와의 승부만을 보는 것은 적합하지 않으며, 기대 실점을 줄이는 것과도 정확하게 일치하지 않을 수 있다. 방어하는 투수의 입장에서는 평균적인 기대 실점을 줄일 수 있는 구종을 던지는 것도 중요하지만, 가장 중요한 것은 동점 상황에서 실점하거나 이기고 있는 상황에서 역전을 허용하여 팀을 패배의 상황으로 만들지 않는 것이기 때문이다. 즉, 통계학적으로 봤을 때 구종에 따른 실점 분포 상에서 평균값을 줄이는 것이 아닌 허용해도 되는 점수 차이까지의 누적확률을 고려하는 접근이 필요하다(<Figure 1>). 한 이닝 동안의 실점 분포가 주어진다면 기대 실점은 실점이 많이 발생했던 경우 또한 포함하여 평균을 내는 것이지만, 실점 발생 확률은 실점이 발생하는 횟수를 세는 것이다. 따라서 본 연구에서는 기대 실점보다는 실점 발생 확률을 줄일 수 있는 구종을 확인하고 분석하고자 한다.
산업공학적으로 봤을 때 야구 경기의 상황은 마르코브 체인(Markov chain)으로 모델링이 가능한 좋은 특징을 갖는다 (Hwang et al., 2011; Yeo, 2012; Bae et al., 2015). 아웃카운트, 볼카운트, 주자 상황을 상태(state)로 정의하고, 매 공이 던져질 때마다 바뀌는 경기 상황을 다음 상태로의 전이로 표현할 수 있기 때문이다. 본 연구에서는 한 이닝에서 투수가 던지는 구종을 액션(action), 상태 전이에 따라 발생하는 실점 여부를 보상(reward)으로 추가적으로 고려하여 마르코브 의사결정(Markov Decision Process; MDP) 모델을 정의한다. 상태 전이로 인해 변화하는 주자 상황을 토대로 보상 함수를 설계하고, 2021년~2022년 사이 미국 MLB(Major League Baseball) 데이터를 활용하여 투수가 던진 구종에 따른 상태 전이 확률 및 각 상태에서 일반적으로 던지는 구종 선택 확률을 계산하여 휴리스틱(heuristic) policy를 도출하였다.
설계된 MDP 모델 및 휴리스틱 policy는 몬테카를로 시뮬레이션 (Monte-Carlo simulation)에 활용되어 시작 상태와 선택된 구종에 따라 이닝 종료 시까지 실점을 계산하는 용도로 사용된다. 이를 토대로 기대 실점을 최소화하는 구종과 실점 발생 확률을 최소화하는 구종 간의 차이가 있음을 확인하였으며, 경기 상황 및 목적에 따라 최적 구종을 다르게 선택해야 함을 분석하였다.
본 논문은 다음과 같이 구성되어 있다. 제2장에서는 야구 분야 내 데이터를 활용해 분석한 관련 연구들을 정리하고, 제3장에서는 본 연구에서 사용한 데이터, MDP 모델 및 몬테카를로 시뮬레이션 기법을 설명한다. 제4장에서는 최적 구종 선택에 관한 시뮬레이션 실험 결과를 보여주고, 제5장의 결론으로 마무리한다.
2. 관련 연구
프로야구 데이터를 활용한 연구는 다수 진행되어왔다. 데이터마이닝을 활용한 한국프로야구 승패예측모형 수립에 관한 Oh et al.(2014) 연구에서는 평균연봉, 상대승률, 장타율, 볼넷, 이닝 등의 변인들을 활용해 의사결정나무, 랜덤포레스트, 신경망분석, SVM 등 여러 분석기법을 통한 승패예측을 수행했다. 위 연구에서 선발투수의 성적이 타자의 성적보다 상대적으로 더 중요하다는 결과를 얻었다. 스포츠 산업의 수익에 영향을 미치는 관중 수 예측 관련 연구도 다수 존재했다. Deep Neural Network를 기반으로 프로야구 일일 관중 수를 예측하거나 (Park et al., 2018), 일반화 자기회귀 조건부 이분산 모형을 이용한 관중 수 예측(Lee and Bang, 2010)을 하였다.
최적 투구와 관련된 연구로는 타자-투수 매치업을 제로섬 게임으로 모델링하여 투수가 투구 유형과 위치를 전략적으로 선택하는 게임 이론적 방법을 제안한 연구(Melville, 2023), 심층 신경망의 앙상블 모델을 이용한 야구의 투구 유형 및 위치를 예측한 연구(Lee, 2021)가 있다. 이 연구들은 한 타자와의 승부에 집중하여 최적 투구 방식을 결정하고자 하였으며 현재의 결정이 미래에 어떤 영향을 미치는지가 명시적으로 반영되지 않았다.
이번 연구에서 주요한 개념으로 사용되는 마르코브 체인은 스포츠 데이터 분석에서 빈번하게 사용되고 있다. 마르코브 체인을 활용한 컬링 전략 분석 연구에서는 컬링 경기에 대한 MDP 모델을 설계하여 전략 선택에 사용했다. 각 엔드에서 다른 두 전략을 사용했을 때 승리할 확률을 비교하였다(Bae et al., 2015). 한국프로야구 실시간 승률 예측 모델을 구현한 연구에서는 25개 상태 사이의 전이행렬로 기대점수분포를 생성해 상황이 변화할 때마다 실시간 승률을 계산하는 모델을 만들었다(Yeo, 2012). 한국프로야구 분석 및 최적 타순 계산을 위한 모델 연구에서는 타자의 타격능력과 주루능력을 바탕으로 타자에 의한 득점분포변화 행렬을 생성했고, 이를 활용해 최적타순을 결정하는 연구를 진행했다(Hwang et al., 2011). 본 연구와 동일하게 미국 프로야구 데이터와 마르코브 체인을 활용한 연구로는 Bukiet et al.(1997)와 Smith(2016)가 있다. Bukiet et al.(1997)은 1989년 미국 네셔널 리그 데이터를 활용해 이닝 별 9명의 선수로 최적 타순을 결정했다. 해당 연구에서는 타자별로 각각 데이터 기반 전이행렬을 생성했고, 예상 득점 수가 가장 큰 순서로 최적 타순을 결정했다. 해당 연구는 이를 일반화하여 10가지의 최적 타순 결정 규칙을 제시하는 성과를 보였다. 마지막으로 Smith(2016)에서는 마르코브 체인 기반 승률 예측은 우수했지만 세이버매트릭스 근사 기반 기술인 log5 rule을 이용하여 MLB 좌타-우투 매치의 승률을 계산하는 과정에서는 개별 타석 발생의 데이터가 적어 낮은 정확도를 보였다. 위의 연구들은 아웃카운트, 1, 2, 3루 주자 상태만을 사용해 총 25개의 상태로 야구 경기 상황을 분류하였는데 이는 투수가 공을 던질 때마다 나뉘는 야구 경기의 상세한 플레이 단위를 표현하기에 적합하다고 보긴 어렵다. 따라서 본 연구에서는 스트라이크 카운트, 볼 카운트, 현재 승패여부를 추가해 총 865개의 상태를 사용하여 경기 상황을 모델링하고 최적 구종을 찾아내기 위해 구종 별 전이행렬을 생성하여 몬테카를로 시뮬레이션을 수행하였다. 본 연구에서 최적 구종을 파악하기 위해 사용한 몬테카를로 시뮬레이션 기반 알고리즘은 상태 전이 모델과 휴리스틱 policy 모두 데이터로부터 추정하므로, 완벽히 표현된 상태 전이 모델을 가진 MDP 모델 풀이에 몬테카를로 시뮬레이션을 사용하는 대표적인 알고리즘인 몬테카를로 트리 탐색 알고리즘(Silver et al., 2016)과는 차이가 있으며 실제 환경과의 상호작용 없이 데이터 기반으로 MDP 모델의 해를 도출하는 offline 강화학습의 형태이다(Levine, 2020).
3. 연구 방법
3.1 연구 데이터
본 연구에서 사용한 pybaseball은 2008년부터 현재까지 MLB(Major League Baseball) 경기에서 발생한 데이터를 모아둔 패키지로 MLB 선수들의 투구 데이터, 타구 데이터를 분석하고 시각화하는 웹사이트인 Baseball Savant, MLB와 관련된 통계, 기사를 제공하는 웹사이트인 FanGraphs, 야구에 대한 역사적인 데이터, 선수 기록, 리그 통계 등을 포함하는 웹사이트인 Baseball Reference의 정보를 취합하여 보여준다(James LeDoux, 2017). Pybaseball 데이터는 각 투구 단위로 볼카운트, 현재 점수 등의 경기 정보, 구종, 구속, 회전수 등과 같은 투구 정보 및 플레이 결과 등을 포함한 92개의 열로 구성되어 있다. 이 중 주로 사용한 변수는 다음과 같다. ‘pitch_type’은 구종을 나타내는 범주형 변수로 ‘FF(Four-seam Fastball)’, ‘SL(Slider)’, ‘SI(Sinker)’, ‘CH(Changeup)’, ‘CU(Curveball)’, ‘FC(Cutter)’등으로 이루어져 있다. ‘balls’는 볼카운트의 볼을 나타내는 정수형 변수로 0~3의 값을 가진다. ‘strikes’는 볼카운트의 스트라이크를 나타내는 정수형 변수로 0~2의 값을 가진다. ‘on_3b, ‘on_2b’, ‘on_1b’는 각 3,2,1루의 주자 유무를 나타내는 범주형 변수로 주자가 존재하면 그 주자의 고유 번호를 값으로 가진다. ‘outs_when_up’은 아웃카운트를 나타내는 정수형 변수로 0~2의 값을 가진다. ‘inning’은 현재 이닝을 나타내는 정수형 변수로 1~9의 값을 가진다. ‘inning_topbot’은 이닝의 초와 말을 나타내는 범주형 변수로 ‘Top’과 ‘Bot’의 값을 가진다. ‘game_pk’는 각 경기의 고유 번호를 나타낸다. ‘home_score’, ‘away_score’은 정수형 변수로 각각 홈 팀과 어웨이 팀의 점수를 나타낸다.
분석에 사용한 피칭 데이터는 1,222,522개 행이었지만, ‘strikes’값이 ‘3’이거나 ‘balls’값이 ‘4’인 행은 오류로 판단하여 4개의 행을 제거하였다. 또한 ‘on_3b’, ‘on_2b’, ‘on_1b’를 주자가 존재하면 1, 존재하지 않으면 0의 값을 가지는 이진 데이터로 변환하였다. 그리고 현재 투구에서의 투수 기준 점수 리드 여부를 ‘WorL’열로 새롭게 생성하여, 이기고 있으면 1, 비기고 있으면 0, 지고 있으면 -1의 값을 가지도록 하였다.
3.2 MDP 모델
MDP 모델의 상태 s = (b, sk, x3, x2, x1, out, w) 는 투수가 투구를 하기 직전 경기 상황을 의미하며b ∈ {0, 1, 2, 3}는 볼 카운트, sk ∈ {0, 1, 2}는 스트라이크 카운트, x3 ∈ {0, 1}, x2 ∈ {0, 1}, x1 ∈ {0, 1}은 각각 3루, 2루, 1루 주자 여부, o ∈ {0, 1, 2, 3}는 아웃카운트, w ∈ {-1, 0, 1}는 점수 리드 여부를 나타낸다. Pybaseball 데이터 상에서 볼 카운트 b는 ‘balls’, 스트라이크 카운트 sk는 ‘strikes’, 주자 상황 x3, x2, x1은 각각 ‘on_3b’, ‘on_2b’, ‘on_1b’, 아웃카운트 o는 ‘outs_when_up’ 변수와 대응하는 값이다. 상태 s는 아웃카운트 o가 이닝 종료 시에만 3의 값을 가질 수 있게 정의함으로써 총 865가지의 값을 가질 수 있다. 야구 경기 도중 발생할 수 있는 상황을 864가지(4*3*2*2*2*3*3)로 표현하고, 이닝 종료를 뜻하는 상태 (0, 0, 0, 0, 0, 3, 0)를 추가로 정의한다. <Table 1>은 정의된 상태들의 예시를 보여준다.
각 상태에서 선택하는 액션 a는 던질 구종이며, 총 14개의 구종 중 2021년에서 2022년 사이 가장 빈도 수 높게 던져진 구종 6가지 ‘FF(Four-seam Fastball)’, ‘SL(Slider)’, ‘SI(Sinker)’, ‘CH(Changeup)’, ‘CU(Curveball)’, ‘FC(Cutter)’ 중 하나를 선택하는 것으로 가정하였으며; a ∈ {FF, SL, SI, CH, CU, FC}. 상위 빈도수를 가지는 6가지 구종은 전체 피칭 데이터의 93.3%를 차지하였다.
MDP 모델의 상태 전이 확률 p(st+1|st, at) ∈ [0, 1]은 현재 상태 st에서 액션 at에 따라 다음 상태 st+1가 어떻게 결정되는지를 정의하는데, 야구 경기에서의 상태 전이 확률을 수리적으로 정확하게 정의하는 것은 사실상 불가능한 일이므로 과거 경기 데이터를 기반으로 통계적으로 계산하여 대체한다. 2021~2022 Pybaseball 데이터를 이용하여 한 상태 st에서 던진 구종 at에 따라 다음 상태 st+1이 어떻게 발생했는지에 대한 상태전이 발생 횟수를 구하고, 상태전이가 발생한 총 횟수로 나누어 865*865의 행렬을 6가지 구종에 대해 반복 계산하여 865*865 크기의 상태 전이 행렬 6개를 만들었다. 예를 들어, 구종이 ‘FF’일 때 상태 전이 행렬의 일부는 <Table 2>와 같다.
야구 규칙 상 불가능한 상태 전이에 대한 전이 확률은 전부 0이며, 각 행의 합은 모두 1이다. 이 상태 전이 확률 행렬을 통해 투수가 특정 상황에서 어떤 공을 던졌을 때 어떤 상황으로 변할 것인지를 예상하게 해준다. 이 때, 실점 발생 확률을 최소화하는 경우 실점이 발생하는 순간 상태 전이가 더 이상 발생하지 않고 상태 전이가 종료되며, 기대 실점을 계산하는 경우 이닝 종료 시까지 상태 전이가 발생한다.
현재 상태에서 던진 구종에 따라 어떠한 상태로 변할지는 확률적이지만, 다음 상태가 정해졌을 때 상태 전이 동안 발생하는 실점은 확정적이다. 예를 들어, st = 1에서 st+1 = 4로 전이되는 경우는 아웃카운트만 1 증가하는 경우로 FF(Four-seam Fastball)을 던졌을 때 약 0.08의 확률로 발생하지만, 플라이 아웃 여부 등 세부적인 플레이 상황과 관계없이 발생하는 실점은 항상 0점이다. 또한 만루 상태에서 상황이 바뀌었는데 다음 상태에 주자가 한 명도 없고 아웃카운트가 변하지 않았다면 상태 전이 간 발생한 실점은 만루 홈런인 경우로 항상 4점일 것이다. 이처럼 상태 전이 간 발생하는 실점을 865*865 크기의 행렬에 정리함으로써 상태 st에서 던질 구종 at를 정했을 때 다음 상태 st+1로 전이됨에 따라 발생하는 실점 값 rm(st, at, st+1)을 정리한 후, 실점 발생 확률을 줄이는 목적 하에서는 상태 전이 시 실점이 발생하면 1, 실점이 발생하지 않으면 0으로 보상을 계산한다; rp(st, at, st+1)= 1rm(st, at, st+1) > 0.
3.3 몬테카를로 시뮬레이션을 통한 최적 구종 결정 방법
몬테카를로 시뮬레이션은 무작위로 반복해서 얻은 수많은 샘플들을 통해 함수 값을 근사하는 방법이다. MDP 모델에서는 현재 상태 s에서 어떤 액션 a를 선택한 후 주어진 policy π(a|s) ∈ [0, 1]에 따라 행동하면 얻을 수 있는 기대 수익에 해당하는 가치함수 Qπ(s, a)를 계산할 때 사용할 수 있다.
(1) |
Rt는 t시점에 발생한 보상 값이며, γ는 미래에 받을 수익을 더 낮게 책정하는 할인율이다.
본 연구에서는 기대 실점을 줄이는 구종과 실점 발생 확률을 줄이는 구종 간에 차이가 있는지 비교하기 위해 현재 구종 선택 이후에는 과거 데이터에서 얻어진 일반적인 구종 선택 분포를 따라가는 상황에서의 가치함수 Qπ(s, a) 기준 최적 구종을 분석한다. 즉, 가치함수 Qπ(s, a) 계산에 있어 π는 데이터 기반으로 구종 선택 확률을 계산한 heuristic policy πh를 가정한다. 이를 통해 앞으로 벌어질 상황이 유사하더라도 기대 실점을 줄이는 구종과 실점 발생 확률을 줄이는 구종 간에 차이가 있는지를 확인할 수 있다.
전이 확률 계산 시와 유사하게 Pybaseball 데이터를 이용하여 투구마다의 상황을 정의된 상태에 매칭하면 각 상태에서 구종들이 선택된 빈도수를 구할 수 있다. 그 후 각 구종별 빈도수를 상태 방문 총 횟수로 나누면 각 상태에서 구종들이 선택된 확률이 된다. 예를 들어, 1번 상태가 총 200번 발생했는데 그 중 FF를 던진 횟수가 40번이라면 1번 상태에서의 FF 선택 확률은 0.2가 되는 식이다. 구종은 가장 빈도 수가 높은 6가지(‘FF(Four-seam Fastball)’, ‘SL(Slider)’, ‘SI(Sinker)’, ‘CH(Changeup)’, ‘CU(Curveball)’, ‘FC(Cutter)’)만을 사용하여 빈도수 계산을 하였고, 이 6가지 구종을 선택할 확률을 864개의 상태에 대해 반복 계산하여 각 상태에서 각 구종을 선택할 확률을 나타내는 heuristic policy πh(a | s) ∈ [0, 1] 를 정의한다.
몬테카를로 시뮬레이션은 이닝 종료 상태를 제외한 총 864개의 상태와 6개의 구종의 조합으로 표현되는 5,184개의 상태-액션(s, a)조합을 하나씩 시작점으로 설정하여 이닝 종료 시까지 실점을 10,000번 계산한다. 시뮬레이션 횟수를 증가시켰을 때 10,000번으로도 충분히 수렴된 결과를 얻을 수 있음을 확인하였다. 이를 통해 각 상태-액션 조합으로 시작했을 시 이닝 종료 시까지 실점이 발생한 비율(실점 발생 확률) 및 이닝 종료 시까지 평균 실점(기대 실점)을 계산할 수 있다. 이 값을 사용하여 동일한 상태마다 액션(구종)이 달라질 때 최소 실점 발생 확률을 갖는 구종 ap와 최소 기대 실점을 갖는 구종 am을 결정할 수 있다.
상세한 시뮬레이션 과정은 <Table 3>과 같다. 여기서, Qp는 실점 값 rm(st, at, st+1)을 사용했을 때의 가치함수, Qm은 실점 발생 기준 보상함수 rp(st, at, st+1)을 사용했을 가치함수이다.
4. 실험 결과
2021년~2022년의 Pybaseball 데이터를 이용하여 얻어진 MDP 모델과 몬테카를로 시뮬레이션을 활용하면 각 상태에서 이닝 종료 시까지 기대 실점을 최소화하기 위한 구종 am과 실점 발생 확률을 최소화할 수 있는 구종 ap을 파악할 수 있다 (<Table 4>).
이닝 종료 상태를 제외한 총 864개의 상태 중 최소 실점 구종과 최소 실점 확률 구종이 다른 경우는 전체의 약 25.8%에 해당하는 223개 상태에서 나타났다. 예를 들어, state638은 (2, 2, 1, 1, 0, 2, 0)으로 경기를 비기고 있는 도중 2사 주자 2, 3루 상황, 볼카운트 2-2일 때인데, 이닝 내에서 실점을 최소화하기 위해서는 FF(Four-seam Fastball)을 던져야 하지만 이닝 내에서 실점 확률 자체를 줄이기 위해서는 CH(Changeup)을 던져야 하는 것으로 분석되었다. 실점을 줄이는 것은 실점 확률을 줄이는 것과 상관관계가 있는 목적이기 때문에 많은 상태에서 두 구종이 일치하지만, 실점 자체가 발생하지 않도록 유도하는 구종은 실점의 크기를 줄이는 것과 다를 수 있음을 의미한다. 야구 경기는 실점을 많이 하여 큰 점수차로 지는 것이나 적은 점수차로 지는 것이 보통 동일한 가치를 갖기 때문에 1점의 실점으로 경기 승패가 바뀔 수 있는 상황에서는 기대 실점 최소화보다는 실점 발생 확률 최소화 구종을 고려하는 것이 적절할 수 있다. 특히 이기고 있거나 비기고 있을 때 실점 확률 자체를 낮춰서 현 상황을 유지시키는 것이 더 중요하다고 판단하여 이기거나 비기고 있는 상태들에 대해 불일치 상황이 언제 발생하는지 추가적으로 분석하였다. 223개의 구종 불일치 상태 중 이기고 있거나 비기고 있는 상태는 148개였다. 볼카운트, 주자 수, 아웃 카운트에 따라 구종 불일치 비율을 분석했을 때, 볼카운트에 따라서는 특이점을 발견하기 어려웠다. 아웃카운트는 2아웃일 때가 다른 경우보다 상대적으로 구종 불일치가 빈번하게 나타났으며(<Table 5>), 주자가 0명일 때 구종 불일치 비율이 높았다(<Table 6>).
이는 오히려 2아웃이나 주자가 하나도 없어 투수에게 유리하다고 판단되는 상황에서 실점 최소화 구종과 실점 발생 확률 최소화 구종이 다를 수 있음을 의미한다. 주자가 있는 경우는 실점 자체가 발생할 가능성이 이미 높아져 있는 상태로 실점 확률을 줄이는 것과 실점을 줄이는 것의 상관관계가 높아 실점 최소화 구종과 실점 확률 최소화 구종이 일치하지만, 실점이 드물게 발생할 수 있는 상황일수록 전략적으로 구종 선택의 목표를 다르게 가져갈 필요성을 시사한다.
마지막으로 이닝 시작부터 끝날 때까지 기대 실점 최소화 구종 혹은 실점 발생 확률 최소화 구종만 사용할 시 한 이닝 동안의 실점 결과를 몬테카를로 시뮬레이션으로 분석하였다. 이닝 시작 시 상태는 크게 경기를 이기고(st = 3) 비기고(st = 2) 지고(st = 1) 있는지에 따라 세 경우가 존재한다. <Table 7>은 매번 구종을 랜덤하게 선택한 경우(Random), 기대 실점 최소화 구종을 선택한 경우(am), 실점 발생 확률 최소화 구종을 선택한 경우(ap)를 각각 1이닝씩 3만 번씩 진행했을 때 몬테카를로 시뮬레이션에서 얻어진 실점들의 평균(95% 신뢰구간 포함)과 임계값(1점)을 넘는 비율을 정리한 것이다. 각각 신뢰도 95% 두 집단 t-검정(<Table 8>)과 표본비율 z-검정(<Table 9>)을 수행했을 때 구종 선택 방식에 따른 기대 실점(mean)과 실점 발생 확률(ratio)은 st = 1과 st = 2에서 통계적으로 유의미한 차이가 있음을 확인하였다. 시작 상태와 상관없이 기대 실점 최소화 구종을 선택한 경우는 평균 실점이 가장 낮았고, 실점 발생 확률 최소화 구종은 실점 비율이 가장 낮은 것을 확인할 수 있다. 이기고 있는 상태(st = 3)에서 시작하는 경우 구종 선택 방법 간의 차이가 크지 않지만, 지거나(st = 1) 비기고(st = 2) 있는 상태에서 시작하면 구종 선택 전략에 따른 실점의 변화로 인해 경기 결과가 달라질 수 있음을 확인할 수 있다. 특히, 1점의 실점만으로도 경기를 질 수 있는 비기고 있는 상태에서 이닝을 시작하는 경우(st = 2) 최소 실점 확률 구종을 고려할 필요가 있을 것으로 보인다.
5. 결 론
본 연구는 점수 차이보다는 승패가 중요한 스포츠 경기의 특성을 고려해봤을 때 기대 실점을 줄이는 것보다 실점 발생 확률을 줄이는 접근이 필요할 수 있다는 점에서 착안하여 야구 데이터와 시뮬레이션을 통한 실점 확률 최소화 구종 선택 방법에 대하여 연구하였다. 경기 상황에 따른 최적 구종을 선택하기 위해 과거 데이터를 바탕으로 865개의 상태, 6개 액션을 포함하는 MDP 모델을 정의하고, 몬테카를로 시뮬레이션을 통해 각 상태-액션 조합에서 기대 실점 최소화 구종과 실점 발생 확률 최소화 구종을 찾았다.
이를 통해 특정 상황에서 두 구종이 다른 상태들을 발견하고 분석하였다. 전체 상태 중 25.8%의 상태에서 목적에 따라 최적 구종이 달라짐을 확인하였고, 경기를 비기거나 이기고 있는 상태에서는 주자가 0명일 때와 아웃카운트가 2일 때 주로 구종 불일치가 발생한 것으로 확인하였다. 이는 실점 자체가 발생하면 안 되는 상황에서는 구종 선택 전략이 달라질 필요가 있음을 시사하고, 오히려 투수에게 유리한 상황에서 전략 수정이 필요할 수 있음을 의미한다. 또한 모든 상태에서 기대 실점 최소화 구종 및 실점 발생 확률 최소화 구종을 선택했을 때의 시뮬레이션 결과를 분석하며 경기를 비기고 있는 상태에서 이닝을 시작할 때 실점 확률 최소화 구종을 선택하는 전략이 유의미하게 다른 결과를 도출할 수 있음을 확인하였다.
본 연구에서는 볼카운트, 경기 리드 상황 등을 추가로 반영하여 다양한 경기 상황을 반영할 수 있도록 야구 경기에 대한 마르코브 체인을 확장하였지만, 좌완/우완, 좌타/우타와 같은 투수와 타자 간의 상성은 고려하지 않았기 때문에, 이에 대한 후속 연구가 진행된다면 더 효과적인 구종전략을 수립할 수 있을 것이라 예상된다. 또한 데이터 기반으로 만들어낸 MDP 모델은 최대한 많은 데이터를 활용하기 위해 선수마다의 특이성을 고려하지 않았지만, 개별 선수의 데이터만을 활용하여 상태 전이 확률 행렬을 생성할 수 있다면 구단 입장에서 더 효과적인 구종 선택 전략을 수립할 수 있을 것으로 기대한다. 실제 데이터만을 활용하여 구종을 최적화하는 본 연구의 특성상 기존에는 자주 선택하지 않았던 구종을 제안할 시 해당 구종에 대한 상태 전이 예측이 부정확할 수 있다. 추후 연구로 데이터에 자주 기록되지 않은 희귀 구종 및 세분화된 특성을 고려할 수 있다면 더 활용 가치가 높아질 것으로 기대한다.
Acknowledgments
이 논문은 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(No. RS-2022-00165642). 이 논문은 2022년도 인하대학교의 지원에 의하여 연구되었음.
References
- Bae, K. W., Park, D. H., Kim, D. H., and Shin, H. Y. (2015), Sports Analysis based on Markov Chain Model, and Markov Decision Process - Curling Case, Proc. 2015 Spring Joint Conf. on Korean Industrial Engineering Society, 849-856
-
Bukiet, B., Harold, E., and Palacios, J. (1997), A Markov Chain Approach to Baseball, Proc. Operations Research, 45(1), 14-23.
[https://doi.org/10.1287/opre.45.1.14]
- Giorgio, P. (2022), Sports Industry Outlook(Boston: Deloitte Global, 2022), 2-5.
- Hwang, I. H., Jo, H. J., Kim, D. Y., and Lee, M. S. (2011), A Model Study for the Analysis of Korean Professional Baseball Using Markov Chain and the Calculation of the optimal batting order, Proc. 2011 fall Conf. on Korean Industrial Engineering Society, 821-828.
- James, L. (2017), Pybaseball, GitHub Repository, Last Modified Sep, 8, accessed Dec 27, 2023, https://github.com/jldbc/pybaseball, .
- Kim, J. Y. (2023), The Key to Victory Digital: The Digital Transformation of the Sports Industry, Seoul: Deloitte Sports & Olympic CoE, 6-13.
-
Lee, J. S. (2021), Prediction of Pitch Type and Location in Baseball Using Ensemble Model of Deep Neural Networks, Journal of Sports Analytics, 8(2) 115-126.
[https://doi.org/10.3233/JSA-200559]
- Lee, J. T. and Bang, S. Y. (2010), Forecasting Attendance in the Korean Professional Baseball League Using GARCH Models, Journal of the Korean Data & Inormation Science Society, 21(6), 1041-1049.
-
Lee, J. T. (2014), Pitching Grade Index in Korean Pro-baseball, Journal of the Korean Data & Information Science Society, 25(3), 485-492.
[https://doi.org/10.7465/jkdi.2014.25.3.485]
- Levine, S., Kumar, A., Tucker, G., and Fu, J. (2020), Offline Reinforcement Learning: Tutorial, Review, and Perspectives on Open Problems. arXiv preprint, arXiv:2005.01643, .
- Melville, W. (2023), A Game Theoretical Approach to Optimal Pitch Sequencing, Dissertation, Brigham Young University.
-
Oh, Y. H., Kim, H., Yun, J. S., and Lee, J. S. (2014), Using Data Mining Techniques to Predict Win-Loss in Korean Prof essional Baseball Games, Journal of the Korean Institute of Industrial Engineers, 40(1), 8-17
[https://doi.org/10.7232/JKIIE.2014.40.1.008]
-
Park, D. J., Kim, B. W., Jeong, Y. S., and Ahn, C. W. (2018), Deep Neural Network Based Prediction of Daily Spectators for Korean Baseball League: Focused on Gwangju-KIA Champions Field, Smart Media Journal, 7(1), 16-23.
[https://doi.org/10.30693/SMJ.2018.7.1.16]
-
Silver, D., Huang, A., Maddison, C. J., Guez, A., Sifre, L., Van Den Driessche, G., Schrittwieser, J., Antonoglou, I., Panneershelvam, V., Lanctot, M., Dieleman, S., Grewe, D., Nham, J., Kalchbrenner, N., Sutskever, I., Lillicrap, T., Leach, M., Kavukcuoglu, K., Graepel, T., and Hassabis, D. (2016), Mastering the Game of Go with Deep Neural Networks and Tree Search, Nature, 529(7587), 484-489.
[https://doi.org/10.1038/nature16961]
- Smith, Z. J. (2016), A Markov Chain Model for Predicting Major League Baseball, Dissertation, The University of Texas at Austin.
- Yeo, J. R. (2012), Implementation of Korean Professional Baseball Modeling and Real-time Winning Rate Prediction Model Using Markov Chain, Proc. 2012 fall Conf. on Korean Industrial Engineering Society, 1062-1076.
장찬우: 현재 인하대학교 통계학과 학사과정에 재학 중이며, 인하대학교 산업경영공학과 SDO(System Design & Optimization) 연구실 학부연구생 과정 중이다. 관심 연구분야는 스포츠 데이터 분석, 머신러닝이다.
남윤호: 현재 인하대학교 산업경영공학과 학사과정에 재학 중이며, 인하대학교 산업경영공학과 SDO(System Design & Optimization) 연구실 학부연구생 과정 중이다. 관심 연구분야는 스포츠 데이터 분석이다.
이현록: KAIST 산업및시스템공학과에서 2013년 학사, 2015년 석사, 2020년 박사학위를 취득하였다. 토론토대학교에서 박사후연구원으로 근무 후 2022년부터 인하대학교 산업경영공학과 교수로 재직하고 있다. 주요 연구분야는 최적화, 강화학습, 시스템 디자인 분야이다.