서론
엘지트윈스의 용병 투수인 케이시 켈리
작년 전반기만 하더라도 못 던져서 퇴출 이야기가 나왔지만 믿음의 결과로 올해 재계약에 성공했다.
이로써 2019년부터 2024년까지 6년째 다니고 있는 용병으로 엘지에서 최장수 용병으로 남게 되었다.
나이도 있고 성적도 하락세인 것도 있어서 2 선발로 시즌을 시작할 것 같다.
그래서 5년 간 성적을 분석하고 어떤 점이 달라지고 올해 예측은 어떨지 글을 쓰려고 한다.
올해 예측은 아직 부족해서 완벽하지는 않을 것이다.
1. 5년 간 스탯 분석하기
파이썬 크롤링을 통해 스탯티즈 사이드에서 데이터들을 수집했으며, 전처리 과정을 통해 데이터들을 만들었다.
1) 클래식 스탯
커리어 하이였던 22 시즌에 비해 23 시즌은 전반적인 하락세를 보이고 있다.
그나마 봐줄 만한 부분은 실점과 자책점 차이가 11점이 난다는 것인데 수비가 무너진 것에 대한 여파로 참작의 여지가 존재한다.
특히 sWar(스탯티즈)와 ERA+(조정평균자책점)이 22 시즌에서 23 시즌 큰 폭으로 하락했다는 점이 주목할만하다.
ERA+에 대해 설명을 하자면 22 시즌에는 리그 평균에서 약 1.5배의 활약을 했지만 23 시즌에는 1.06배만큼의 활약을 했다는 것을 의미하며, 외국인 용병 + 1선발의 성적으로는 아쉬운 성적이다.
(피)안타, 볼넷, 삼진과 ERA, WHIP를 2개의 막대그래프로 구분해 시각화를 진행했다.
22 시즌에 비해 23 시즌은 전체적으로 피안타 증가, 볼넷 증가, 삼진 감소로 나타났으며, 여파로 오른쪽 그래프에서 ERA와 WHIP 스탯이 상승하였다.
여기서 주목할만한 점은 피안타가 증가했고, 삼진이 감소했다는 점이다.
즉, 맞춰 잡기가 늘어났다는 뜻으로 개선되지 않는다면 엘지트윈스 수비진의 부담이 더 커질 것이다.
가뜩이나 리그실책이 상위권이 팀이 수비에 부담감을 느낄 텐데 빠른 개선이 필요해 보인다.
2) 구종가치 파악
켈리의 연도별 구종가치의 변화이다.
22 시즌에 비해 23 시즌 구종가치는 슬라이더, 싱커를 제외하고 큰 폭으로 하락했으며, 특히 직구와 커브 체인지업 3 구종이 큰 폭으로 하락했다.
그동안의 주 결정구는 체인지업이었는데 체인지업이 난타당하게 되자 커브와 포심을 사용했고, 분석이 되자 3 구종이 난타당해 성적이 하락할 수밖에 없었다.
여담으로 구속의 하락은 나타나지 않았으며, 구종의 구사율의 경우 체인지업과 포심의 구사율이 낮아졌고 커브 구사율이 높아진 것을 알 수 있다.
한국시리즈에서 포크볼을 사용해 새 구종을 익혔으나 올 시즌에는 포심과 체인지업의 구종 가치를 되살리는 것이 급선무라고 할 수 있다.
3) 타석 상대별 스탯
상대별 스탯을 가져와봤다.
여기서 중요하게 봐야 할 스탯들은
스트라이크 비율(루킹, 헛스윙, 파울, 타격)과 2S후 커트 비율이다.
시각화로 나타낸 그림을 보자면 타격 부분은 큰 폭으로 증가했으며, 헛스윙 부분이 감소한 것으로 나타났다.
헛스윙을 안 하고 공에 컨택이 된다는 뜻으로 2스트 이후 커트 비율이 늘어난 것이 이를 뒷받침한다.
결론적으로 삼진이 줄고 안타를 많이 맞은 것에 대한 설명이 가능하며, 구종가치 하락으로 인한 여파로 볼 수 있다.
4) 24 시즌은 어떻게 될까?
19~23 시즌을 바탕으로 머신러닝 모델(XGB, LGBM)을 통해 성적을 예측해 보았다.
import pandas as pd
from sklearn.model_selection import train_test_split
from xgboost import XGBRegressor
from sklearn.metrics import mean_squared_error, r2_score
# CSV 파일 경로
csv_file_path = './케이시켈리.csv'
# CSV 파일 읽어오기
df = pd.read_csv(csv_file_path)
# 필요한 항목 선택
selected_features = ['이닝', '승', '패', '실점', '자책', '타자', '안타', '홈런', '볼넷', '사구', '삼진', 'ERA', 'WHIP', 'ERA+', 'WAR']
# 19~23시즌에 해당하는 데이터 선택
data_19_23_seasons = df[(df['연도'] >= 2019) & (df['연도'] <= 2023)][selected_features]
# Define input features (X) and target variable (y)
X = data_19_23_seasons.drop('이닝', axis=1) # '이닝' 열을 제외한 나머지 열을 input features로 사용
y = data_19_23_seasons['이닝'] # '이닝' 열을 target variable로 사용
# XGBoost 회귀 모델 생성 및 학습
model = XGBRegressor()
model.fit(data_19_23_seasons.drop('이닝', axis=1), data_19_23_seasons['이닝'])
# 24시즌 데이터가 없다면 평균값으로 채워넣기
if data_for_prediction.empty:
# 19~23시즌까지의 평균값 계산
average_19_23_seasons = df[(df['연도'] >= 2019) & (df['연도'] <= 2023)].mean().drop('연도')
# 24시즌 데이터에 평균값 적용
data_for_prediction = pd.DataFrame([average_19_23_seasons], columns=selected_features)
# 전체 예측값 출력
predicted_values = model.predict(data_for_prediction)
result = dict(zip(selected_features, predicted_values))
# 한 번에 출력
for feature, value in result.items():
print(f'예측 스탯: {value}')
LGBM 코드도 비슷해서 이런 식으로 항목 15개를 만들어 예측해 보았다.
한 번에 예측하는 방법이 있었는데 그건 아직 어려워서 못했고 손으로 추출했다.
예측 결과 성적은 너무 희망적이라 뭔가 잘못되게 추출한 것 같다. 이 정도면 바로 재계약 또 할 거 같은데 아마 22 시즌이 성적이 전반적으로 좋아서 생긴 문제가 아닐까 싶다.
저 정도 성적을 찍어주면 올해도 우승하지 않을까? 생각이 든다.
결론
1. 켈리의 성적 부진은 구종 가치 하락으로 인한 전반적인 여파로 보인다.
2. 삼진이 줄은 게 크게 우려되는 부분이지만 구속 및 제구에 대한 문제는 나타나지 않아 구종만 다듬는다면 부활이 가능할 것
3. 성적 예측은 희망사항으로 보자.
'각종 스포츠 > KBO' 카테고리의 다른 글
김민성 사인 앤 트레이드 (2) | 2024.01.27 |
---|---|
그 전에 있던 답안지는 없다. (2) | 2024.01.25 |
고우석의 메이저 계약에 대한 짧은 글 (0) | 2024.01.04 |
임찬규 fa 계약에 관한 개인 의견 (2) | 2023.12.22 |
염경엽은 어떻게 팀 체인저가 되었나?-2 (2) | 2023.12.18 |