3. • 대회 목적: 2018년까지 KBO에서 활약한 외국인 투수의 데이터를 바
탕으로, 2019년 새로 들어온 외국인 투수 중 2명 스카우트
접근 방법
4. • 대회 목적: 2018년까지 KBO에서 활약한 외국인 투수의 데이터를 바
탕으로, 2019년 새로 들어온 외국인 투수 중 2명 스카우트
• 해결 방법:
접근 방법
KBO에서 좋은
활약을 보인
그룹 선정
(Elite 그룹)
해당 그룹의
MLB에서의
특성 확인
19년도 투수 중
비슷한 특성을
지니고 있는
투수 스카우트
5. 해결 과정 1 – 타겟 그룹 선정
KBO: 62명 MLB: 60명
Statcast: 60명
Target 그룹:
57명 마리몬,
벤덴헐크,
브리검
벨레스터
리즈,
카스티요
6. 해결 과정 2 – 평가 시점 선정
…
해결 방법: KBO에서 좋은 활약을 보인 선수들의 MLB에서의 특성을 확인하고,
해당 특성과 비슷한 특성을 보이고 있는 19년 외국인 투수 스카우트
KBO에서의
첫번째 시즌?
KBO에서의
두번째 시즌?
KBO에서의
n번째 시즌?
7. 해결 과정 2 – 평가 시점 선정
…
해결 방법: KBO에서 좋은 활약을 보인 선수들의 MLB에서의 특성을 확인하고,
해당 특성과 비슷한 특성을 보이고 있는 19년 외국인 투수 스카우트
KBO에서의
첫번째 시즌?
KBO에서의
두번째 시즌?
KBO에서의
n번째 시즌?
8. 해결 과정 3 – “좋은 활약” 정의
해결 방법: KBO에서 좋은 활약을 보인 선수들의 MLB에서의 특성을 확인하고,
해당 특성과 비슷한 특성을 보이고 있는 19년 외국인 투수 스카우트
투수 A 투수 B
ERA: 2.45 ERA: 2.00
9. 해결 과정 3 – “좋은 활약” 정의
해결 방법: KBO에서 좋은 활약을 보인 선수들의 MLB에서의 특성을 확인하고,
해당 특성과 비슷한 특성을 보이고 있는 19년 외국인 투수 스카우트
투수 A 투수 B
ERA: 2.45
TBF: 100
ERA: 2.00
TBF: 20
12. 해결 과정 4 – MLB에서의 특성 확인
HR? BB?
ERA? H?
구종의 개수
가설: MLB에서 많은 구종을 구사할 수록, KBO에서의 ERA가 낮을 것이다
13. 해결 과정 5 – 19년 외국인 투수 스카우트
4개
3개
2개
4개
4개
4개
0.723
0.652
0.614
구종 개수 구종 개수 아웃 확률
내림차순
정렬
14. 아웃 확률이란?
X ~ NB(k, p)X ~ B(n, p)
n: 시행 횟수
p: 해당 사건이 발생할 확률
X: n번의 시행 횟수 내에서,
해당 사건이 발생한 한 건수
동전 던지기에서
20번 동전을 던졌을 때 나온 앞면의 수
= X ~ B(20, 0.5) (0 ≤ X ≤ 20)
동전 던지기에서
20번의 앞면이 나오기 위해서 동전을
던진 횟수
= X ~ NB(20, 0.5) (20 ≤ X)
이항분포 음이항분포
k: 성공 횟수
p: 해당 사건이 발생할 확률
X: 해당 사건이 k번 발생하기 까지
시행한 횟수
15. 아웃 확률이란?
X ~ NB(3, p)
X: 3번의 아웃이 성공하기
위해 상대한 타자의 수
x = 3
x = 4
x = 5
x = 6
2명 아웃 1명 아웃
p: 주어진 데이터를 통해 추정
17. 해결 과정 총 정리
Target
그룹
선정
KBO
1st 시즌
성적 확인
Elite
그룹
선정
MLB
구종
vs
ERA
가설
+
아웃 확률
1 2 3 4 5
18. KBO 첫 번째
시즌에서
‘좋은 활약’을 보인
투수 선정
(엘리트 투수)
MLB 구종
증가할수록
KBO 첫 번째
시즌 ERA 감소
(인사이트 확인)
데이터
기반
인사이트
형성
2011~2018년 데이터로 학습 2019년 데이터에 적용
인사이트
+
아웃 확률
1 2 3 4
별첨 #1
21. 별첨 #4 코드 설명 – fun_inningResults()
events: 해당 타석의 결과
타석(타자) 별로 오직 한 개의 값
22. PseudoCode:
1. 데이터셋 아래에서 부터 위로 순회
1-1. row 방문 할 때마다 batterCount 증가
1-2. out을 만나면 out stack에서 pop
1-3. out stack이 empty면 inningCount증가
I_N 기록
batterCount를 batterCountTemp에 기록
out stack 초기화 (full 상태)
2. 순회가 끝나고 out stack이 비어 있지 않다면 out
stack에 남아 있는 out 개수만큼 batterCount를 증가
시키고 I_N 기록
3. I_N 리스트의 정보를 한줄로 표현하여 반환