'Saber Metrics'에 해당되는 글 2건

  1. 2015.03.17 wRC의 조정-투수들의 경우 (3)
  2. 2015.03.08 Run Value와 wOBA 구하기

킹 펠릭스도 Opponent Batting Stat으로 계산한 경우 wRC보다 기록한 실점이 대체적으로 많은 대표적인 투수입니다.


모든 스탯은 Baseball-ReferenceFangraphs에서 얻었습니다.


1. 도입

 

제가 이전에 쓴 글에서 볼 수 있듯이, 리그의 득점 환경이 동일하다는 점에서 저는 투수의 타자들과의 상대성적을 통해 투수가 기록한 wOBA를 이용하면 투수가 기록한 실점을 대략적으로 예상 가능하다는 생각을 했다고 썼습니다. 하지만 그 작업을 하기 위해서는 wOBA를 득점 스케일로 변환하는 작업이 필요합니다. 지금까지 알려진 그 스탯은 wRC, 어쩌면 wOBA에서 나오는 아주 당연한 귀결일 수도 있는 스탯이기도 합니다..

 

2. wRC

 

보통은 wOBA를 설명할 때 wRAA를 같이 설명합니다. wRCwRAA나 사실상 거의 같은 의미인데, 다른 것이라면 wRAA+의 득점을 의미한다면, wRC는 득점 그 자체를 의미한다고 설명할 수 있겠습니다. 전의 글에서 보시면 아시겠지만, Run ValueWeight는 각각 wOBA SCALE만큼의 차이(곱입니다. !!)를 가집니다. 그렇기 때문에 wOBA에서 wRAA를 만들기 위해서는, 즉 득점 스케일로 환산하기 위해서는 wOBAwOBA SCALE로 나누는 과정이 필요하다는 것을 단박에 알 수 있을 겁니다. 다만, 이는 득점 스케일로 환산하기 위한 것으로 만약 선수의 wOBA 자체를 wOBA Scale로 나눌 경우 R/PA와는 다를 수 있기 때문에 타자의 wOBA에서 리그 wOBA를 뺀 값을 wOBA Scale로 나누면 됩니다. 그리고 이 값은 1타석당 값이 될 것이므로, 이 값에 타석을 곱하면 정확한 득점 스케일로 환산할 수 있을 겁니다. 그리고 wRCwRAA에서 LgR/PA값을 더하면 바로 나옵니다. 식은 아래와 같겠군요.

 

 


3. wRC 조정의 당위성

 

wRC 식만 봐도 다음과 같은 사실을 알 수 있을 겁니다.

 

1. 만약 선수의 wOBA가 리그 wOBA와 정확히 같다면 그 선수가 가지는 득점적 가치는 리그 평균과 같은 것다.

2. wRC는 선형적인 식이다.

3. 득점의 양 끝값이 고정되어 있지 않다.

 

3번은 말이 좀 애매한데, 풀어서 쓰자면 wRC값이 음수값이 나올 수도 있다는 것입니다. 2014시즌을 예로 들자면, 가장 낮은 wRC값은 R/PA 스케일로 대략 0.13점이 나옵니다. A라는 선수로만 이루어진 팀이 있는데, 이 선수는 생산적인 타구를 만들어내지 못하는 타자라고 가정해 봅시다. (wOBA0이라는 이야기입니다.) 그렇다면 wRC/PA0.13 정도 되니까 27타석 나오면 3.5점 정도...?? 뭔가 이상한 걸 눈치 채셨을 겁니다. 득점이 음수라니요. wOBA0인 팀이라도 득점이 음수일 수는 없지 않습니까? 우선 wRC를 타자에게 적용한다면 그것이 문제는 아닙니다. 분명 Run Value가 음수인 이벤트들이 있거든요. 그러니까, 타자의 경우 팀에 대해 음수의 득점 기여도를 가질 수 있다고 정의할 수 있습니다.

근데 이게 투수한테 적용하면 좀 골치가 아파집니다. 그럼 안 하면 되지 않느냐? 하고 반문하실 수도 있습니다. 근데 그게 좀 짜증나서요.(너무 개인적인 이유인가요?) 분명 득점 환경은 똑같은데 타자한테는 되고 투수의 타자 상대 기록에는 적용할 수 없다니! 이게 무슨 개뼈다귀같은 소리랍니까!

그래서 투수에게, 혹은 팀기록은 wRC를 조금 다르게 적용하자는 겁니다. 적어도, 그 기록에서는 음수가 나올 수 없을 테니까요.

 

4. 식을 만들기 전 정리하기

 

우리가 원하는 것은 끝점이 고정되는 것입니다. 그러니까, wOBA0일 때는 타석당 기대득점이 0으로, wOBAwHR과 같을 때는 타석당 기대득점이 1로 말입니다. wOBAwHR과 같을 경우가 가장 큰 값인 이유는 가장 큰 득점을 가지는 이벤트가 홈런이니 모든 타석에서 홈런을 친 경우의 wOBA가 가장 높을 수밖에 없다는 이유에서입니다. 그 경우 wOBAwHR과 같아집니다. 홈런을 쳤을 때 1점보다 더 많이 득점할 수 있지 않느냐고 물으실 겁니다물론 그렇습니다홈런의 Run Value 또한 1.4점이고요. 근데 그건 다른 모든 경우들과 합해서일 때입니다. 그러니까, 그 전 타석에 누군가가 루상에 출루했기 때문에 홈런 타석에서 1점보다 많이 딸 수 있는 것입니다. 만약 첫 타자가 안타, 두 번째 타자가 삼진, 세 번째 타자가 홈런을 쳤다면 그 때의 타석당 득점은 2/3으로 정의하기로 합니다. 만약 세 타자가 홈런을 쳤다면? 그건 그거대로 1입니다. 세 타석에서 세 점이니까요. 그리고, 이런 경우 최대 득점은 타석당 1점인 것이죠. (다분히 타자에게 적용할 때와는 다른 정의입니다.) 끝점이 선형식보다 높거나 낮게 고정되는 식이기 때문에, 우리는 투수에게 적용될 wRC/PA의 식이 선형이 아닌 아래와 같은 커브일 것이라고 예상할 수 있습니다. 


예시 그래프


이제 커브를 만들 차례입니다. 제가 쓰기로 사용한 것은 자연상수 e를 밑으로 한 지수함수입니다. 왜냐구요? 우선 먼저 이미 우리가 알고 있는 wRC식과의 연계성도 고려해 wOBALgwOBA보다 높을 때와 낮을 때를 나눠서 식을 만들어야 할 필요성이 있습니다. LgwOBA인 지점에서의 기대득점 기울기는 wRC의 기울기와 같아야 하거든요. 그리고 그 두 경우를 나눠서 생각해보면 곡선이 대충 2, 3, 등등등의 지수를 가진 다항식으로 표현될 것이고 이는 결과적으로는 자연함수가 밑인 지수함수로 표현될 것이거든요.[각주:1]

그리고 다른 이유는, 지금까지의 경험으로 봐서는 자연이 자연로그를 좋아하기 때문입니다... 또한 계산하기 편하다는 장점도 있습니다.

무엇보다 이 글에서 보듯이, wOBA가 그 자체로도 어느정도의 exponential 함수와 같은 모습을 보여주기 때문에 자연상수를 밑으로 한 함수로 만드는 것은 꽤 괜찮은 아이디어로 보입니다.

 

그렇다면 한 번 우리가 원하는 것들을 정리해 봅시다.(가정)

 

(1) wOBA=0일 때의 wRC/PA=0이 될 것이다.

(2) wOBA=wHR일 때의 wRC/PA=1이 될 것이다.

(3) wOBA=LgwOBA일 때의 wRC/PA=LgR/PA이다.

(4) wRC/PA의 기울기는 LgwOBA인 지점에서 1/(wOBA Scale)이다.

(5) LgwOBA를 중심으로 wOBA식을 나눠서 계산한다.

(6) 두 식 모두 밑이 자연상수 e인 함수식이다.

(7) wRC/PA는 연속이며, 그 식의 미분도 연속이다.

 

5. 조정식 만들기


(1) wOBA가 LgwOBA보다 작은 경우


밑이 자연상수인 식을 원하므로 로 정의하고 계산하기로 합니다. 이 때 우리에게 필요한 상수는 입니다.

그렇다면 우리가 원하는 식은 아래와 같은 식일 겁니다.



이제부터 LgwOBA, 1/(wOBA Scale), LgR/PA는 계속 쓰기 귀찮기 때문에 아래에서는 각각을 m,s,r로 표기하도록 하겠습니다.

다음에는 위에서 가정한 wRC/PA식과 가정 (1), (3), (4)를 이용하면 다음의 식을 유도할 수 있습니다.



이 식들은 다음과 같이 풀 수 있습니다.


a의 경우 로그식으로 풀 수도 있고, 또한 을 대입할 수도 있지만 위의 식이 더 깔끔한 것 같아서 위와 같이 쓰기로 하겠습니다.


(2) wOBA가 LgwOBA보다 큰 경우


이 때는 식의 기본형이 조금 다른데, 왜냐하면 wHR에서의 wRC/PA가 특정되며 wOBA가 작은 경우와는 기울기의 모양이 다를 것이기 때문입니다. 우리가 원하는 기울기를 가진 지수함수는 의 모양인 것을 같이 생각해 본다면 아래와 같은 식도 괜찮을 것 같습니다. 



오케이, 위와 같은 식을 기본형으로 가진 식을 wRC/PA로 쓰기로 합시다.

우리에게 필요한 상수는 입니다. 


wHR/PA의 기본형도 정했으니 우리에게 필요한 식은 다음과 같습니다. wHR의 경우 h로 표기하도록 하겠습니다.



앞에서와 같이 m,r,s를 사용할 것이며 가정 (2), (3), (4)를 이용하면 아래의 식을 도출할 수 있습니다.



이 식들은 다음과 같이 풀 수 있습니다.



6. 정리


위의 식들을 정리하면 wRC를 다음과 같이 정의할 수 있습니다.



(1) wOBA가 LgwOBA보다 작거나 같은 경우



로 상수를 구한 후



와 같이 계산할 수 있다.



(2) wOBA가 LgwOBA보다 큰 경우



로 상수를 구한 후



와 같이 계산할 수 있다.

 


이 식을 원래의 wRC/PA식과 비교하면 아래와 같은 그래프를 얻을 수 있습니다. (2014시즌 기준)


이전 wRC/PA식과 조정된 wRC/PA 그래프


원래의 wRC와 조정된 wRC 그래프같의 오차율이 5% 이내인 경우에만 함수값을 1로 넣을 경우 아래와 같은 Step Function 모양의 그래프가 그려지며, 그 구간은 대략 wOBA 0.260~0.620 정도의 구간입니다. 즉, 보통의 타자들이나 팀들이 속해 있는 구간입니다. 그러므로, 조정식은 나쁘지 않은 선택이라고 생각됩니다.


두 wRC/PA식같의 오차율이 5% 이내인 구간의 함수값이 1인 그래프-일명 오차율 계단



7. 적용


먼저 2010~2014시즌까지의 투수들을(각각 시즌 나눠서, 모두!!) 대상으로 한 wRC의 원래 버전과 조정 버전 계산 파일이며, 그 위의 그래프는 2014시즌의 Correlation 그래프입니다.


실제 득점(이 경우 실점)과 계산된 원래의 wRC의 상관관계



실제 득점(이 경우 실점)과 계산된 조정 wRC의 상관관계



2010~2014 Pitchers.xlsx


위의 파일과 그래프에서 알 수 있듯이 조정된 wRC 그래프의 상관관계가 조금 더 높음을 알 수 있습니다. 또한, RMSE[각주:2]값도 작다는 것을 파일을 통해서 확인하실 수 있습니다.


다음은 2010시즌부터 모든 팀들의 팀득점과 wRC, 조정된 wRC를 계산한 파일입니다.


Teams Runs.xlsx


이 경우 상관관계는 조정된 wRC에서 조금 더 낮게 나왔습니다. 그에 비해 RMSE는 정말 아주 미세하게 작음을 확인하실 수 있을 겁니다. 팀득점의 경우 wOBA가 리그 평균에 수렴하는 팀들이 많을 것이기 때문에 조정된 wRC로 계산하는 것이나 원래 wRC로 계산한 것이나 큰 차이가 없어서 그런 것으로 생각됩니다. 또한 5년간의 기록이래봤자 150팀뿐이기 때문에 조사기간을 더 전으로 확대해 보면 더 차이가 없을 것이라고 생각됩니다.


8. 결론


결과적으로, 생각보다는 괜찮은 wRC의 조정이 가능하지 않았나 생각이 듭니다. 무엇보다 극단적인 상황까지를 고정한 값으로 정의하였기 때문에 이제부터는 wRC를 조정하여 투수들의 Opponent Batting Stat에 적용하여 계산할 수 있을 것이고, 여기에서 더 나아가 기대되는 LOB%를 계산하는 등의 활동이 가능하게 될 것이라고 생각합니다. 물론, 아직은 좀 더 해야할 일이 남아 있겠지만 말입니다. 나중에 기회와 시간이 있다면, 투수들의 BABIP과 관련해서도 조금의 조정식을 거친 후 (xBABIP이 있기는 하지만 그리 마음에 들지 않습니다. 특히나 투수들에게 타자의 BABIP식을 쓸 수 있을 거라고 생각하지는 않거든요.) 어느 정도 FIP를 대체하는 새로운 ERA System을 만들어 볼 생각입니다.(물론 기회와 시간이 있다면!!말입니다.) 마지막으로 끝까지 이 글을 읽어주셔서 감사합니다.

  1. 테일러 전개에 의해 e^x 함수는 x에 대한 다항식으로 표현할 수 있습니다. [본문으로]
  2. Root Mean Square Error. 만약 n개의 샘플이 있고 예상된 값을 y', 실제값을 y라고 할 경우 모든 (y'-y)^2을 더하고 n으로 나눈 값을 Mean Square Error(MSE)라고 하고 RMSE는 MSE에 제곱근을 씌워서 계산한다. 첨부파일에서 계산된 RMSE는 전부 평균에 대비한 RMSE의 값이다. [본문으로]
Posted by 야구고물상

댓글을 달아 주세요

  1. 토아일당 2015.03.18 20:58 신고  댓글주소  수정/삭제  댓글쓰기

    앞의 글에서 말씀하신 커쇼의 경우를 잘 이해 못했습니다. 저는 wRAA와 wRC 를 투수입장 스탯으로 사용할 수 있다고 생각하는데,
    특히 앞의 글에서,
    "이를 다른 상황으로 적용해 보자면, 커쇼가 기록한 피wOBA와 같은 wOBA를 기록한 타자가 모든 타석에 다 나왔다고 상상을 해 볼 때, 우리가 아는 wRC를 이용하여 계산한 예상되는 득점이 커쇼가 실제로 기록한 실점보다 꾸준하게 더 적다는 굉장히 괴랄한 상황이 발생하게 됩니다"
    라고 하셨는데, 이런 상황이 잘 그려지지 않네요.

    단순히, 피woba가 아주 낮은 투수의 경우, 피woba가 실제 실점억제능력에 비해 과대평가된다 (실제실점 >> wOBA기준 기대실점) 라는 뜻입니까? 하지만 RC 같은것과 달리 woba는 선형식이라 그런식의 문제가 잘 생길것 같지는 않을것 같아서 말입니다.

    http://baseball-in-play.com/101 <-- 이 글은 wOBA는 아니지만 마찬가지로 투수입장XR로 투수의 zero-run을 대체레벨로 하는 피칭런을 사용해서 썼던 글입니다.

    그런데, 저 방법을 사용하면서 왠지 뭔가 잘못된게 있거나 제가 빠트린게 있나 좀 고심을 했었습니다.

    혹시 제가 뭔가 빠트린걸까요?

    • 야구고물상 2015.03.18 21:06 신고  댓글주소  수정/삭제

      맨 처음 생각한 거랑 지금 나온 버전은 조금 다른 건데요 이게 처음 wOBA 글을 쓸 때는 타자까지 다 바꿔야 하지 않을까 하는 생각이었는데(...) 생각해 보니 타자 입장에서는 팀을 중심으로 봐서 음의 득점기여가 가능하다는 생각이 들더라고요. 요지는 제 실수라는 거죠..
      그 때의 생각으로 다시 돌아가 본다면, 커쇼가 기록한 wOBA와 같은 wOBA를 기록한 타자가 9명인 팀이 기록할 득점이 커쇼보다 적다는 것은 커쇼의 실점이 wRC로 측정되는 것보다 많다는 것이고, 만약 wRC가 맞다면 커쇼가 타자를 상대하는 위력에 비해 실점률이 많다는 이상한 해석이 가능하다는 뜻이었습니다... 글을 쓰다가 글이 꼬였나 봅니다. 그리 크게 생각하실 건 없어요.

      아 댓글에 달린 거로 쓰자면 피wOBA가 아주 낮은 투수의 경우 피 wOBA의 예상보다 실점이 많을 거란 얘기입니다. 정확하게 캐치하셨네요.

      사실 이거 만든 것도 wOBA에 대한 사랑 때문에 나온 거라서요. 회귀식보다는 실제 상황을 분석해서 나온 Run Value라는 것에서 파생된 피 wOBA가 좀 더 명확하지 않냐는 생각에서 말이죠.

    • 야구고물상 2015.03.18 21:53 신고  댓글주소  수정/삭제

      사실 진짜 보정을 가하자면 wOBA 자체를 보정하는 게 더 맞는 방법이라고 생각합니다. wOBA는 선형식이지만, 득점 창출의 과정 자체는 완벽하게 선형이라고 생각하지는 않거든요. 실제로 위에 링크된 하드볼 기사에서는 wOBA가 분석하려고 드는 득점의 창출의 경우 exponential함수의 형식을 가지는 게 좀 더 좋다고 말하고 있고요. 근데 처음 생각한 거 자체가 wRC를 어떻게 조정해 보자는 거였고, wOBA식을 조금 다르게 하는 걸 생각하기에는 생각보다 시간이 없을 것 같아서 우선 미봉책으로나마 wRC 조정을 가한 겁니다.
      그리고 피칭런 글에서 빠진 건 없어 보입니다.ㅎㅎ

뭐, 이 글을 나 때문에 썼다고?


모든 스탯은 Fangraphs에서 얻었습니다.


1. 득점 창출


wOBA를 소개하기 이전에 세이버매트릭스의 전체적인 흐름 정도는 소개할 필요가 있을 것 같습니다. 세이버매트릭스가 태동한 이후 많은 세이버매트리션들은 득점이 어떻게 만들어지는지에 대하여 여러 연구를 수행하였습니다. 물론 만들어지는 과정 자체는 여러 루트가 있겠지만, 많이 루상에 나가고(출루율), 많은 장타를 쳐 내면(장타율) 많은 득점을 창출할 수 있다는 사실을 우리는 많은 경기를 보아온 바 알고 있습니다. 그런 이유에서 탄생한 것이 바로 세이버매트릭스계의 기본이자 혁명이라고 할 수 있는 OPS(On Base Plus Slugging)입니다. 하지만, 우리가 알고 있듯이 단타를 친 후 창출되는 득점이 꼭 2루타를 친 후 창출되는 득점의 1/2는 아닙니다. 볼넷을 얻어내서 창출되는 득점이 단타에 의해서 창출되는 득점과 같은 것은 아니지요. 그래서 빌 제임스는 RC(Runs Created)와 같은 스탯을 만들었고, 짐 푸르타도는 XR(Extrapolated Runs)곽 같은 스탯을 만들어냈습니다. 그래도, 뭔가가 부족했습니다. 그래서 누군가는 생각해 냈죠. 해당하는 이벤트가 만들어내는 득점을 PBP(Play by Play) 데이터를 이용해 계산해 보기로 하자! 그리고 그 결과를 이용해 계수를 구한 후 득점력을 설명해 보자! 그런 생각에서 세상에 나온 개념이 Run Value입니다.


2. Run Value를 구하기 전에 잠시...


먼저 runValue를 구하기 위해서는 RE(Runs Expectancy, 기대득점)를 구해야 합니다. 왜냐구요? 모든 득점이 같은 상황에서 똑같은 방식으로 나오지는 않기 때문에 각 아웃 카운트에 해당하는 상황마다 평균적으로 기대되는 득점을 구해야만 각 이벤트가 가지는 순수한득점의 가치를 구할 수 있기 때문일 것이기 때문입니다.

먼저 RE를 구하기 위해서는 모든 아웃 카운트에 해당하는 상황을 생각해 보아야 합니다. 먼저 아웃카운트를 생각해 봅시다. 우리가 야구경기를 보면서 볼 수 있는 아웃 카운트는 0,1,2가 있습니다. 3아웃 체인지 아니냐고 묻는다면, ‘3아웃이면 이닝이 끝나기 때문에 우리가 상관할 바가 아니다라고 할 수 있겠습니다. 다음에 우리가 생각할 수 있는 상황은 루상에 주자가 있느냐, 아니냐입니다. , 주자 있음과 주자 없음에 대한 각각의 상황이 1, 2, 3루에 다 존재합니다. , 주자가 루상에 채워져 있는 상황은 2^3=8가지 상황이 있는 것입니다. 그러므로, 아웃 카운트까지 생각해 타자가 겪을 수 있는 상황은 3*8=24가지입니다.

우리가 원하는 것은 기대되는 득점의 값이므로, A라는 상황(예를 들자면 무사 1루 상황 같은 어느 특정한 상황)의 수를 그 해당하는 상황이 일어난 해당 이닝이 끝날 때까지 득점한 득점의 수를 나눈 값이 각 해당 상황(Event)RE가 되는 겁니다. 1999~2002시즌의 RE는 아래 링크를 들어가 보시면 보실 수 있습니다.

1999~2002시즌 기록으로 계산한 RE

 

3. Run Value 구하기


먼저 몇 가지 생각을 해 봅시다. 위의 링크에 나온 표를 참조하시면 이해가 더 빠르실 겁니다.

어떤 선수가 나와서 무사 주자 없는 상황에서 홈런을 첬다고 생각해 봅시다. 원래의 무사 마루 상황에서 기대되는 득점은 0.555점입니다. 이 때 홈런을 쳤다면 이는 솔로 홈런이고, 이후의 상황은 무사에 주자가 없으므로 더 기대되는 점수는 0.555점이므로 기대득점은 1.555점이 됩니다. 그리고 이 홈런의 득점가치는 기대득점 1.555점에서 원래 기대되는 득점 0.555점을 빼서 1점이 됩니다.

이에 비해 2사 만루 상황에서 만루홈런을 쳤다고 가정해 봅시다. 홈런을 쳤기 때문에 홈런을 친 후 상황은 2사 주자 없음이 되므로 그 때 기대되는 득점은 0.117점이고 얻어낸 득점은 4점이기 때문에 기대득점은 4.117점입니다. 그리고 원래 2사 만루 상황에서 기대되던 득점은 0.815점이기 때문에 2사 만루 상황에서의 만루홈런의 순수한득점가치는 0.117+4-0.815=3.302점입니다. 그리고 이런 방식으로 모든 상황에 상응하는 홈런에 대한 순수한 득점가치를 구한 후 그 가중평균을 계산하면, 그것은 곧 홈런의 runValue가 됩니다. 만약 시즌의 홈런이 1000개 나왔고(가정입니다...) 솔로홈런이 그 중 400, 만루홈런이 600개가 나왔다면(다시 한 번 말하지만 가정입니다....) 홈런의 runValue는 runValue=(1*400+3.302*600)/1000=2.381점이 됩니다. 이런 방식으로 실제 리그 기록을 이용하여 각 이벤트에 대한 runValue를 구하면 됩니다.

참고로 실제 리그 기록을 가지고 홈런의 runValue를 구해 보면 대략 1.4점 정도로 계산됩니다.


4. wOBA


이제 runValue를 어떻게 구하는지 알아보았으니 wOBA에 대해 설명할 차례입니다.(헉헉..힘들어 죽겠습니다..) wOBAWeighted On Base Average를 뜻합니다. 가중출루율 정도로 해석할 수 있을 듯 하군요. 이름에서 몇 가지 사실을 유추해 낼 수 있습니다. Weight에서 어떤 가중치가 있다는 것을 생각해 볼 수 있고, On Base Average라는 것에서 출루율 스케일로 만들어낼 것이라는 것이죠.

우리가 원하는 것은 공격적인 요소들과 runValue를 이용하여 출루율 스케일의 스탯을 만들어내는 것입니다. 우리가 원하는 것은 runValue를 이용하여 weight를 구하고, 그를 이용하여 출루율 스케일의 스탯을 구하는 것입니다. 이 때 weight을 로 정의해 봅시다. 이 때 i는 그냥 첨자를 의미합니다. 즉, 는 wBB 등을 다 포함하는 개념입니다.

우리가 위에 말한 방식대로라면 아마 식은 이런 방식이 될 것 같군요.



이 때 IBB는 투수가 일부러 상대타자를 피한 경우이기 때문에 계산에서 제외하는 것입니다.

그리고 출루율 스케일이어야 하므로, LgwOBA=LgOBP여야 합니다. 이 때 wOBA의 분모와 OBP의 분모도 같기 때문에



의 식이 성립함을 알 수 있습니다. 결과적으로 아래와 같이 쓸 수 있을 겁니다.

 (각 i는 득점을 하기 위해 필요한 타격 요소들을 의미합니다.)

또한 분모를 두 부분으로 나눠봅시다.

AB+BB-IBB+HBP+SF=X라고 할 때 X=M+P로 정의하고 M=AB-H+SF, P=H+BB-IBB+HBP로 정의하기로 합니다. 위의 정의를 보면 아시겠지만, M은 아웃을, P는 진루를 시키는 모든 요소를 더한 것임을 알 수 있을 겁니다. 위에서 저는 득점을 하기 위해 필요한 타격 요소들을 로 정의하였는데, 이는 위에서 정의한 P와 같습니다. 그러므로, 우리는 아래의 식을 풀어야 함을 알 수 있습니다.



이 때 는 Run Value들을 의미합니다. 여기서 갑자기 Run Value가 튀어나온 이유는 분모에서 득점에 실이 되는 것과 득이 되는 요소들이 각각 P,M이고 각각의 득이 되는 이벤트들(단타, 2루타 등등)은 아웃에 의한 득점가치에 대한 득점가치들을 더한 값을 이용하여 weight를 계산해내야 할 것이기 때문에 아웃에 의한 득점가치, 아웃이 아닌 것에 대한 득점가치가 필요하여 나오게 되는 것입니다. 또한 위에서 제가 쓴 아래첨자 I,j는 dummy variable로 사실상의 큰 의미는 없고 딱 계산을 잘 하기 위해 필요한 첨자 정도로만 의미가 있다고 보시면 됩니다여튼 이를 다시 풀어보면



의 식을 얻어낼 수 있습니다.

이 때 제가 정의한 rPLUS와 rMINUS, 그리고 각각의 weight는 아래의 식과 같습니다.



또, 편의상 wOBA SCALE을 아래와 같이 정의합니다.



그러므로 wOBA의 계수는 아래와 같이 구하면 됩니다.(BB의 경우)



이 때 rPLUS는 아웃이 아닌 타격에 의한 득점 가치를, rMINUS는 아웃에 의한 득점 가치를 의미합니다.

 

5. Fangraphs 방식으로 wOBA 구하기


사실 runValue를 구하기 위해서는 모든 PBP 데이터가 필요합니다. 근데, 우리의 영원한 아이돌이신 Tom Tango는 조금 다른 방식으로 runValue의 근사치를 구해내는 방법을 고안했습니다.

먼저 Runs Per Out을 구해봅시다. 이는 다른 게 아니라 을 뜻합니다. 아래에서는 이를 줄여서 RpOUT으로 쓰도록 하겠습니다.


다음에는 딱 아래와 같이 구하면 됩니다.


runBB=RpOUT+0,14

runHBP=runBB+0.025

run1B=runHBP+0.13

run2B=run1B+0.3

run3B=run2B+0.27

runHR=1.4


이는 Tom Tango의 버전과는 조금 다른데, Fangraphs는 위와 같이 RunValues를 구하는 것 같더군요.

다음 wOBA의 계수를 구하는 과정은 우리가 4번에거 구한 과정을 이용하여 구하면 됩니다.

예를 들어서 2014시즌의 wOBA 계수를 구해보면 아래와 같은 결과가 나옵니다.


 RpOUT

runBB 

runHBP 

run1B 

run2B 

run3B 

runHR 

 0.151

0.291 

0.316 

0.446 

0.746

1.016 

1.400 


rMINUS=-0.238

rPLUS=0.529

wOBA SCALE=1.304


 wBB

wHBP

w1B 

w2B 

w3B 

wHR 

 0.689

0.722 

0.892 

1.283 

1.635 

 2.135


위의 계수를 Fangraphs의 Glossary 코너에서 확인해 보면 정확히 계산되었다는 사실을 알 수 있을 것입니다.


아래는 제가 구한 Fangraphs 방식의 runValuewOBA 계수 엑셀 파일입니다.

 

runValues,wOBA Coefficients.xlsx


6. 후기


우리 같은 보통 야구팬들이 모두가 PBP 데이터를 가지고 계산하기에는 여간 힘든 게 아닙니다. 이런 건 보통 데이터베이스 프로그램을 이용하여 계산해야 하는데, 모든 사람들이 다 그 방법을 아는 건 아니거든요. 그래서 5번과 같은 방식이 있다는 것은 분명 우리 같은 일반 팬에게는 혁명과도 같은 발전이라고 할 수 있겠습니다. 5번의 방식이 정말 원래의 runValue와 비슷한지 궁금하실 수 있으실 텐데, 제가 개인적으로 데이터를 다운받아 계산해 본 바에 의하면 정말 거의 비슷합니다. 그러므로 적어도 5번의 방식을 이용하여 wOBA를 계산하는 것이 큰 무리는 없다고 생각합니다.

지금까지 잘 설명해 놓고 제가 이런 말을 하면 굉장히 이상하겠지만, 사실 제가 이 글을 쓴 이유는 단순하게 wOBA를 계산하는 방식과 그 식이 어떻게 나왔는지를 설명하기 위해서 쓴 것은 아닙니다.(..아니 조금은 있습니다...) 저는 언제나 투수의 스탯에 관심이 많습니다. 그래서 투수의 Opponent Batting Stat을 통해 wRC를 계산하면 대략적으로 투수가 기록할 실점을 계산할 수 있지 않을까?’ 하는 생각에서 계산을 하곤 했습니다. 실제로 투수가 실점을 하나 상대팀이 득점을 하나 득점 환경은 똑같기 때문에 전혀 다르게 생각할 필요는 없다고 생각한 것입니다. 하지만, 저의 생각과 다른 구간이 있더군요. 바로 평균적인 wOBA에 비해 wOBA가 굉장히 낮은 경우입니다. 대략 wOBA가 0.250정도이거나 그보다 작을 때 정도입니다. 대표적인 선수가 클레이튼 커쇼입니다. 클레이튼 커쇼는 언제나 굉장히 낮은 피wOBA를 기록합니다. 하지만 그에 상응하는 wRC는 커쇼가 기록하는 실점보다 훨씬 적었습니다. 커쇼가 실점 억제를 못하는 선수일 리는 지금까지의 경험으로는 전혀 없습니다. 커쇼의 LOB%는 통산 78.3%입니다. MLB에서는 아무리 높아도 리그평균이 75%를 넘지 못합니다. , 커쇼는 적어도 실점 억제력이 나쁜 선수는 아닙니다. 이를 다른 상황으로 적용해 보자면, 커쇼가 기록한 피wOBA와 같은 wOBA를 기록한 타자가 모든 타석에 다 나왔다고 상상을 해 볼 때, 우리가 아는 wRC를 이용하여 계산한 예상되는 득점이 커쇼가 실제로 기록한 실점보다 꾸준하게 더 적다는 굉장히 괴랄한 상황이 발생하게 됩니다.(!) 그러므로, wOBA가 굉장히 작은 경우 조금 다른 식이 필요하지 않을까 하는 생각을 하게 된 겁니다. 그러니까 정리해 보자면, 제가 이 글을 쓴 이유는 제가 만든 새로운 wRC의 근사식을 소개하기 위한 추진력을 얻기 위해 쓴 것이라고 할 수 있습니다.(...) 

그러니, 만약 이 글을 보셨다면, 다음 글도 기대해 주시길 바랍니다.(...)

마지막으로 끝까지 읽어 주셔서 감사합니다.

Posted by 야구고물상

댓글을 달아 주세요