티스토리 뷰
1. 오늘 분석의 핵심 질문
2025 텍사스 레인저스는
- 피타고리안 기대 승수: 90.1승
- 실제 승수: 81승
으로, 기대보다 약 9승 적게 기록했다.
여기서 던진 질문은 단순하다.
이 차이는 그냥 운의 문제일까, 아니면 팀 운영 구조의 문제일까?
이 질문에 답하기 위해
피타고리안 기대승수와 실제 승수의 차이 = residual(잔차) 로 정의하고 분석을 진행했다.
2. 오늘 배운 분석 구조
전체 흐름은 아래처럼 정리할 수 있다.
- 2015~2024 MLB 팀-시즌 데이터 수집
- 피타고리안 기대승수 계산
- 잔차(residual) 정의
- 잔차와 관련 있는 피처 탐색
- 머신러닝으로 중요 변수 확인
- 시나리오 보정 + 몬테카를로 시뮬레이션
즉, “득실차로 설명되지 않는 초과 성과/저성과”를 따로 떼어내서 본 것이다.
3. 오늘 다시 정리한 핵심 개념
3-1. 피타고리안 기대승수
피타고리안 승률은 팀의 득점(RS) 과 실점(RA) 으로 기대 승률을 계산하는 방식이다.
pyth_wp=RS1.83RS1.83+RA1.83\text{pyth\_wp} = \frac{RS^{1.83}}{RS^{1.83} + RA^{1.83}}
이 값을 경기 수에 곱하면 기대 승수가 된다.
즉,
- 득실 구조상 이 정도 승수는 나와야 하는데
- 실제 결과는 다를 수 있다
는 점에서 출발한다.
3-2. 잔차(residual)
이번 분석의 타깃은 다음처럼 정의했다.
residual=Wactual−Wpyth\text{residual} = W_{\text{actual}} - W_{\text{pyth}}
해석은 다음과 같다.
- residual > 0: 기대보다 더 많이 이김
- residual < 0: 기대보다 덜 이김
텍사스 2025는 -9.1승으로, 기대 대비 저성과가 매우 큰 편이었다.
4. 오늘 인상 깊었던 포인트
4-1. ERA가 꼭 잔차를 잘 설명하는 건 아니다
처음에는 당연히 ERA, WHIP 같은 전통 투수 지표가 중요할 것이라 생각했다.
그런데 잔차 모델에서는 꼭 그렇지 않았다.
이유는 이미 피타고리안 승률 자체가 실점 총량을 반영하고 있기 때문이다.
즉,
- ERA, WHIP는 “얼마나 실점했는가”에 가깝고
- residual은 “그 실점 구조로 봤을 때 왜 기대보다 덜 이겼는가”를 보는 값이다
그래서 잔차에서는 오히려
- 1점차 경기 승률
- 세이브 성공률
- 홈/원정 편차
- 승계주자 실점률(IR%)
같은 운영형 지표가 더 설명력을 가질 수 있다.
이 부분이 오늘 가장 중요한 인사이트였다.
4-2. 원인 변수와 결과 변수는 구분해서 봐야 한다
노트북에서도 강조된 부분인데,
onerun_wp, sv_pct, xi_wp 같은 변수는 원인이라기보다 현상에 가까운 변수일 수 있다.
예를 들어
- 세이브 성공률이 낮다
→ 불펜이 약했다는 결과일 수도 있고 - 1점차 승률이 낮다
→ 접전 운영이 약했다는 현상일 수도 있다
즉, 이 모델은 인과 추론 모델이 아니라
저성과 팀의 구조적 특징을 설명하는 해석형 모델로 보는 게 맞다.
이 관점을 놓치면 “이 지표가 낮아서 무조건 원인이다”라고 과해석하게 된다.
5. 상관분석에서 배운 점
후보 피처들을 잔차와 비교해 보니,
일부 직관적인 지표는 생각보다 설명력이 약했다.
예를 들어
- OPS는 유의하긴 했지만 잔차 설명력은 강하지 않았고
- LOB, SB% 등은 잔차와 관계가 거의 없거나 약했다
반면,
- onerun_wp
- sv_pct
같은 지표는 잔차와 상대적으로 강한 관계를 보였다.
이걸 보면서 느낀 점은,
좋은 팀을 설명하는 지표와 기대 대비 초과/미달 성과를 설명하는 지표는 다를 수 있다는 것이다.
즉,
- 팀 전력 설명 모델
- 기대 대비 성과 괴리 설명 모델
은 분리해서 생각해야 한다.
6. 머신러닝 단계에서 정리한 해석
이번 분석에서는
- Ridge
- Lasso
- Random Forest
- XGBoost
같은 모델을 사용해 잔차 설명력을 비교했다.
중요했던 점은 예측 정확도 자체보다 해석 목적에 더 무게를 뒀다는 것이다.
노트북에서도 정리했듯이,
이 모델은 “정밀한 승수 예측기”가 아니라
어떤 피처가 기대 대비 저성과와 일관되게 연관되는지 보는 해석 도구
에 가깝다.
특히 SHAP을 통해
- 어떤 피처가 잔차를 끌어올리는지
- 어떤 피처가 끌어내리는지
- 텍사스 2025는 어떤 변수 조합 때문에 낮은 잔차가 나왔는지
를 시각적으로 확인한 점이 좋았다.
7. 오늘 가장 중요하게 정리한 실무적 포인트
시나리오 보정용 피처와 모델 학습용 피처는 분리해야 한다
이 부분이 정말 중요했다.
처음에는 모델에 들어간 피처를 그대로 시나리오 조정에도 쓰면 된다고 생각하기 쉬운데,
그렇게 하면 문제가 생긴다.
예를 들어
- OPS
- RS/G
- ERA
같은 값은 이미 피타고리안 승수에 반영되는 성격이 강하다.
그런데 이걸 residual 시나리오에서 또 조정하면
같은 효과를 이중 반영하는 해석 오류가 생길 수 있다.
그래서 이번 노트북에서는
- 모델 학습용 피처: 전체 사용
- 시나리오 조정용 피처: 운영/불펜/접전 관련 변수만 사용
- ERA, OPS, rs_per_g 등은 고정
처럼 나눠서 처리했다.
이건 앞으로 비슷한 해석 모델을 만들 때 꼭 기억해야 할 원칙이다.
8. 몬테카를로 시뮬레이션에서 배운 점
이번 시뮬레이션은 총 승수 예측 모델이 아니라 residual 변화 모델이었다.
즉,
predicted wins=fixed pyth wins+residual^\text{predicted wins} = \text{fixed pyth wins} + \widehat{\text{residual}}
구조이기 때문에,
이 시나리오는 “팀 전체가 몇 승을 더 하느냐”보다는
기대 승수 대비 초과/미달 성과가 얼마나 달라지느냐
를 보는 데 더 적합하다.
이 차이를 명확히 이해하지 않으면
시뮬레이션 결과를 실제 총승수 예측처럼 오해할 수 있다.
오늘은 이 부분을 문장으로도 분명하게 써야 한다는 걸 배웠다.
9. 오늘의 결론
오늘 분석을 통해 정리한 결론은 이렇다.
- 텍사스 2025의 저성과는 단순 득실차 문제가 아니었다
- 접전 경기 운영 실패
- 세이브 상황 성과 저하
- 불펜/후반 운영 변수
가 함께 작용했을 가능성이 크다
다만 이 모델로도 설명되지 않는 부분이 남기 때문에,
추가로 봐야 할 영역도 분명하다.
예를 들면
- 1점차 경기 세부 패턴
- 블론세이브 상황
- 후반 이닝 운영
- 클러치 타격
- WPA, RE24, leverage index 기반 불펜 분석
같은 심화 분석이 이어져야 한다.
'내일배움캠프 데이터 분석' 카테고리의 다른 글
| 83일차) 내일배움캠프 데이터 분석 TIL - 최종 프로젝트(12) (0) | 2026.04.23 |
|---|---|
| 82일차) 내일배움캠프 데이터 분석 TIL - 최종 프로젝트(11) (0) | 2026.04.22 |
| 80일차) 내일배움캠프 데이터 분석 TIL - 최종 프로젝트(9) (0) | 2026.04.20 |
| 79일차) 내일배움캠프 데이터 분석 TIL - 최종 프로젝트(8) (0) | 2026.04.17 |
| 78일차) 내일배움캠프 데이터 분석 TIL - 최종 프로젝트(7) (0) | 2026.04.16 |
- Total
- Today
- Yesterday
- 파이썬
- Til
- Tableau
- 코딩처음
- 내일배움캠프
- 비전공자코딩
- 판다스
- 구글코랩
- github
- 파이썬입문
- 중학생코딩
- 코딩기초
- 머신러닝
- 데이터분석
- 코드카타
- 데이터시각화
- 통계
- 프로그래밍입문
- Python
- 텍스트분석
- 태블로
- 데이터분석입문
- GoogleColab
- SQL
- git
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
