'마일영'에 해당되는 글 1건

  1. 2010.01.04 재미로 해 보는 KBO 선발투수 WAR(Wins Above Replacement Level) 계산 (12)

이 글은 "한국야구팬사이트"에서 승짱님의 한국 프로야구 투수 랭킹 계산을 돕기 위한 예로서 작성된 것이다.
단지 "예"일 뿐이므로 스탯에 대한 해석, 계산 방법에 대한 입장의 차이에 따라 얼마든지 변형과 조정이 가능하다.

계산 방법은 기본적으로 이전 포스팅에서 소개해 드린 것과 동일하다.

다만, FIP를 RA scale로 바꿔줄 때 0.92를 사용하는 대신 실제 KBO의 ERA와 RA 비율을 계산하여 사용하였다. 결과는 아래 첨부파일에서 볼 수 있듯이 0.91~0.92로 대동소이하게 나온다.

또한, FIP Constant 역시 KBO의 실제 데이터를 가지고 계산하였다. 2007년 시즌은 FIP Constant가 2.84에 불과한 충격적인 결과가 나왔으나, 2008년과 2009년은 그럭저럭 MLB와 유사한 숫자가 나왔다.

2009년과 2008년 KBO 시즌에서 각각 5명의 선발투수를 골라서 직접 계산을 해 보았다.

5명의 선발투수는 완전히 임의로 고른 것이다. (나는 KBO에 좋아하는 팀이 없으며, 8개 구단에 대해 완전히 중립이다...)


이 계산에는 다음과 같은, 근거가 부족한 가정들이 들어가 있다. 이런 부분들을 말끔하게 해결할 수 없는 것은 KBO의 데이터 부족, 개인적인 지식 부족, 그리고 개인적인 시간 부족에 기인한 것이다.

1. KBO에서 각 이벤트는 MLB와 비슷한 Run Value를 가지며, 따라서 FIP 계산식은 동일하다.

2. KBO에서 Run Scoring Environment는 MLB와 유사하여, Runs per Win을 MLB와 동일하게 [((상대 팀 이닝*상대 팀 실점수준)+(소속 팀 이닝*소속 팀 실점수준)/(상대 팀 이닝+소속 팀 이닝))+2] * 1.5 의 근사식으로 산출할 수 있다.

3. KBO에서 선발투수의 Replacement Level은 MLB와 동일하며, 따라서 Replacement Level 선발투수의 기대 승률은 .380이다.
--> 단, KBO의 Replacement Level이 실제로는 이와 다르다고 해도, 상대적 비교에는 지장이 없다. 이 계산에서 투수 A가 투수 B보다 WAR이 높게 나타났다면, Replacement Level을 바꾸더라도 A가 B보다 높게 나타나는 것은 변함이 없다. 단지 절대값이 바뀔 뿐이다.


다음은 중요한 참고 사항이다.

1. KBO 선수들의 모든 데이터는 스탯티즈에서 가져왔다. 스탯티즈는 보면 볼수록 놀랍고 대단한 사이트이다. (우리나라의 척박한 야구 기록 환경을 생각하면 더더욱 그렇다.) 단, FIP는 스탯티즈의 데이터를 쓰지 않고 직접 계산하였다. 이유는, 스탯티즈의 FIP가 Constant를 3.20으로 항상 동일하게 사용하고 있고, BB와 IBB의 구분이 이루어지고 있지 않기 때문이다.

2. 여기에서 계산한 선발투수의 WAR는 선발로 등판한 기록만을 대상으로 한 것이다. 한국 프로야구는 투수의 역할이 모호한 경우가 많아 시즌 내내 100% 선발 투수로만 등판하는 투수는 그다지 많지 않으며, 대부분의 선발투수가 구원 등판 기록을 가지고 있다. 따라서, 정확한 계산을 위해서는 해당 투수가 구원으로 등판한 기록을 가지고 구원투수의 WAR를 계산하여 합산해 주어야 할 것이다. (결국 내가 구원투수 WAR를 구하는 방법을 최대한 빨리 포스팅해야 할 것 같다... -_- )


다음은 이 계산을 하고 난 뒤의 소감.

1. 07, 08, 09년 3년간의 FIP Constant를 계산하면서 시즌 스탯을 확인한 결과 시즌과 시즌 사이의 득점 수준 변화가 매우 크게 나타났다. (3년 사이에 타고투저 현상이 심화됨) 팀 수도 적고 게임 수도 적다보니 샘플이 적어져서 데이터의 변동성이 MLB에 비해 훨씬 크게 나타나는 것 같다. (KBO 1시즌 = 1,056게임, MLB 1시즌 = 4,860게임)

2. 그럼에도 불구하고 ERA/RA 비율이 유사하게 나타나는 것을 보면 비슷한 규칙을 가지고 비슷하게 야구를 하니 비슷한 결과가 나온다는 느낌이어서... MLB의 메트릭을 KBO에 적용하는 것이 완전히 엉뚱한 결과를 도출하지는 않을 것이라는 생각이 든다.

3. 류현진은 정말 좋은 투수인 것 같다. 다른 선수들을 많이 계산해 본 적은 없으나 한국야구에서 5 WAR면 엄청나게 높은 수치일 것 같은데... 위의 계산 파일에는 들어있지 않으나, 08년 스탯으로 계산해도 윤석민과 동일하게 3.6 WAR로 나온다.

Posted by FreeRedbird

댓글을 달아 주세요

  1. 홈런강탈 2010.01.17 21:25 Address Modify/Delete Reply

    현수랑 현진이는 볼때마다 와... 대단하구나 라는 느낌을 들게하는 선수들인 것 같네요. 국내가 좁은 탑유망주들 ㅋ 블로그 첫 방문했어요~ 엑셀에 이렇게 친철한 포스팅을 해주시는 분도 드물듯^^ 앞으로 자주방문해서 배우고 갈게요~

    • BlogIcon FreeRedbird 2010.01.18 10:12 신고 Address Modify/Delete

      세이버메트릭스는 하나의 정해진 답이 없기 때문에... 취향대로 자유롭게 변형해서 계산을 직접 해 보실 수 있도록 파일을 제공해 드리고 있습니다. 자주 놀러 오세요~~!

  2. 홈런강탈 2010.02.07 14:59 Address Modify/Delete Reply

    엑셀에 보면 09년 리그자책점이 5048점으로 나와있는데 실제보다 13점이 높네요. 07,08년도 그렇고 혹시 다른계산이 있는건지 궁굼합니다. 그게 아니라면 ERA/RA가 약간 더 낮아지네요. FIP Constant도 살짝 달라지구요. 근데 재밌는게 이게 예전으로 갈수록 격차가 커집니다. 아무래도 수비 수준하고도 상관이 있겠죠^^

    • BlogIcon FreeRedbird 2010.02.08 09:27 신고 Address Modify/Delete

      음... 지금 다시 스탯티즈에 가서 확인해 보니 정말 5035점으로 13점이 차이나네요. 오류의 원인은 잘 모르겠습니다. 급하게 쓰다보니 뭔가 착오가 있었던 듯 하네요. ^^ 시간될 때 수정해 놓도록 하겠습니다. 좋은 지적 감사합니다.

      FIP constant는 저도 07년 시즌에서 2점대가 나오는 걸 보고 깜짝 놀랐습니다. 우리나라 야구는 시즌별 편차가 무척 큰 것 같습니다...

    • BlogIcon FreeRedbird 2010.02.16 18:46 신고 Address Modify/Delete

      리그 자책점을 수정하여 다시 업로드하였습니다. ^^

  3. haia 2010.02.16 08:56 Address Modify/Delete Reply

    그냥 사소한 의문인데 이 계산이 '선발투수의 WAR는 선발로 등판한 기록만을 대상으로 한 것'이라면, 2009년 시즌 류현진의 마지막 등판이 계산에 포함된 것인지 아닌지 궁금해집니다. 9월 25일 경기로 잘 알려진대로 송진우의 은퇴기념경기입니다. 송진우는 1회초 첫 타자를 출루시킨 후(아웃카운트를 잡지 못하고) 내려갔습니다. 이어 류현진이 올라와서 8과 1/3이닝간 11삼진 2실점을 기록했네요.

    • BlogIcon FreeRedbird 2010.02.16 18:48 신고 Address Modify/Delete

      스탯티즈는 해당 경기를 구원등판으로 분류하고 있습니다.
      http://www.statiz.co.kr/index.php?mid=player&name=%EB%A5%98%ED%98%84%EC%A7%84&birth=1987-03-25&opt=22&year=2009&sopt1=9

      따라서, 제 글에 첨부된 파일에서는 이 은퇴경기를 반영하지 않고 있습니다. 참고하세요...

  4. doosan 2011.05.21 20:11 Address Modify/Delete Reply

    2009년 류현진의 WAR가 5.0이라고 계산 하셨는데, 스탯티즈의 WAR는 7.11이라고 나와 있더군요. 왜 그런지 궁금합니다.

    • BlogIcon FreeRedbird 2011.05.24 17:04 신고 Address Modify/Delete

      답이 늦었네요.

      일단 replacement level에 대한 가정이 다르고요. 스탯티즈는 9이닝당 0.175승을 사용하고 있으니 189이닝이면 3.7승 정도 됩니다. 저는 MLB기준을 그대로 가져다 써서 .380의 승률을 가정했고요. 게다가 선발만 따졌기 때문에 181이닝만 반영되어 있습니다. 이를 환산하면 2.4승 정도 됩니다. 일단 여기서 1.3승 정도 차이가 나고 있지요. 이 비교는 어차피 상대 비교이기 때문에 절대값인 replecement level은 얼마로 가정하더라도 별 상관은 없을 것이라고 보았습니다.

      다음에.. 본문을 보시면 저는 선발등판 경기만을 계산했는데요. 스탯티즈는 구원등판한 경기도 포함하고 있습니다. 바로 위 댓글을 보시면 송진우 은퇴경기 같은 경우도 구원으로 분류되어 있는 것을 알 수 있습니다. 구원등판한 경기만 따지면 이것이 0.5승 정도 되는 것 같네요.

      그리고... 저는 FIP를 3.69로 계산했는데 스탯티즈는 3.57로 계산하고 있습니다. 이렇게 되면 대략 0.3승 정도 차이가 나는데요. 이 계산 차이에 대해서는 원인을 잘 모르겠습니다.

      위의 차이를 다 합치면 대략 질문 주신 부분에 대해 설명이 되는 것 같습니다. ^^

    • doosan 2011.06.06 12:24 Address Modify/Delete

      아 그런것이군요.
      명쾌한 답변에 감사드립니다.

  5. leehan508 2013.07.28 22:29 Address Modify/Delete Reply

    우리나라 구장의 Run PF와 Adjusted PF는 어떻게 계산한것인가요? 그리고 Adjusted PF계산할 때, ((Run PF)/100+1)2를 하셨는데 왜 이런 공식을 사용한건가요?

    • BlogIcon FreeRedbird 2013.07.29 15:14 신고 Address Modify/Delete

      Run PF는 정확히 기억나지는 않은데 아마 당시 스탯티즈에서 가져온 값인 것 같습니다. 조정 PF값을 그렇게 구하는 이유는 Run PF는 홈 경기의 PF값이기 때문입니다. 홈 경기 득점 PF가 Run PF/100 이고 원정 경기는 1로 가정하는 것이죠. 원정구장을 1로 보는 것은 구장 수가 많은 MLB에서는 괜찮지만 구장 수가 적은 KBO에서는 다소 오차를 발생시킬 소지가 있으므로, 정확히 계산하시려면 1 대신 원정경기들의 평균 Run PF를 넣어 주어야 합니다.