여기는 스포츠가 공용어입니다.


❝스포츠에서 유일한 것이 승리라면 이기는 그 순간 다시 경합을 벌여야겠다는 욕구는 사라질 것이다. 그렇다면 마이클 조던과 로저 클레멘스가 나이 마흔에 계속 경쟁을 벌였던 사실을 어떻게 이해할 것인가.❞

─ '소크라테스 야구장에 가다' 中에서


제가 남자 아나운서 올스타 투표를 진행할 때마다 1위를 차지하시는 정우영 SBS스포츠 아나운서께서 자기 소셜네트워크서비스(SNS) 계정에 아주 재미있는 글을 남기셨습니다.


기사나 중계방송을 통해서 타<출<장<OPS라는 마치 공식과 같은 이야기를 들을 수 있다. ESPN 선임기자 키스 로는 회귀분석을 통해 각 기록과 득점과의 상관관계가 타/출/장/O 순으로 0.749 / 0.833 / 0.903 / 0.936 이라고 밝혔다. (11~15시즌) 그렇다면 KBO는 어떨까? 타고투저 경향이 나타났던 15~현재까지의 기록을 위와 같은 방식으로 회귀분석을 통해 결정계수를 구해보면 결과는 놀랍다. 타/출/장/O 순 0.774 / 0.772 / 0.737 / 0.893이다. 출루율+장타율인 OPS가 득점과의 상관관계가 가장 높게 나타나긴 했지만 개별 기록만 따져보면 타율이 득점과의 상관관계가 가장 높게 나타나고 있는 것이다. 3시즌 반의 기록은 표본이 너무 작은 것이 아니냐는 반론도 가능하나 통계에 정통한 SBS스포츠 정대성 기록원에 따르면 회귀분석의 경우 n값이 안정화를 갖기 시작하는 시점이 30부터라고 한다. 위 회귀분석에서 n값은 40이다. 극단적으로 비유하면 우리는 단타의 힘이 장타를 이길 수도 있는 매우 독특한 리그를 세시즌 반 째 경험하고 있는 것이다. #smartbaseball in KBO

정우영(@woo0c)님의 공유 게시물님,


한마디로 2015년 이후 한국 프로야구에서는 타율/출루율/장타력 가운데 타율 변화가 득점 변화를 가장 잘 설명한다는 뜻입니다. 


엄청나게 반(反)직관적입니다. 적어도 제가 2006년, 2014년, 2016년에 계산했을 때는 이런 결과가 나오지 않았습니다. 그리고 그게 직관에 맞는 결과이기도 했습니다.


기본적으로 '출루율 = 타율 + 순수 출루율(IsoD)', '장타력 = 타율 + 순수 장타력(IsoP)'으로 풀어 쓸 수 있습니다. 그런데 저 결과를 있는 그대로 받아들이자면 안타가 아닌 수단으로 출루하거나(순수 출루율), 단타가 아닌 장타를 치는(순수 장타력) 게 득점 변화에 부정적인 영향을 끼치기 때문입니다.


게다가 "단타의 힘이 장타를 이길 수도 있다"는 해석에는 더욱 동의하기 어려웠습니다. 홈런을 쳐도 타율이 올라가고, 단타를 쳐도 장타력이 올라가거든요. 물론 그 어떤 안타도 출루율을 끌어올립니다.


저는 이 글을 '세이버메트릭스 실험실'이라는 페이스북 페이지에서 처음 접했습니다. 그리고 이렇게 댓글을 남겼습니다.


아, 이런 재미있는 논의가 오가고 있었군요. 그런데 r제곱값은 x가 변할 때 y도 같이 따라서 잘 변한다는 거지 x가 변할 때 y가 더 많이 변한다는 뜻은 아니니까, 그러니까 출루율이나 장타력보다 타율이 변할 때 평균 득점이 같이 움직이는 정도가 더 많다는 뜻이지 타율 변화가 출루율, 장타력 변화보다 평균 득점을 더 크게 변화시킨다는 뜻은 아니니까 “단타의 힘이 장타를 이길 수도 있다”고 결론을 내리려면 다중 분석이 필요하겠네요.


이 댓글에서 제가 'r제곱값'(r²)이라고 쓴 건 정 아나운서가 결정계수라고 표현하신 것과 같은 개념입니다. 그렇다면 r²란 무엇일까요? 지금부터 차근차근 알아보겠습니다.



결정계수 r²이란 무엇인가?

통계학에서는 타율과 경기당 평균 득점 사이 관계처럼 변수 두 개 이상 사이에 어떤 선형 상관 관계가 나타나는지 모델링하는 기법을 '선형 회귀(線型回歸·Linear Regression)'라고 부릅니다. 선형이라는 말은 이 변수 사이 관계를 직선으로 표현할 수 있기 때문에 붙은 이름입니다. 회귀는 '평균으로 돌아가는 경향이 있다'는 뜻에서 쓰게 됐습니다.


실제로 한국 프로야구에서 2015년부터 2018년 상반기까지 타율과 평균 득점 사이에 어떤 선형 관계가 있는지 그려 보면 아래 그림과 같은 결과가 나옵니다.



타율과 평균 득점 사이 관계는 그림에 있는 것처럼 '\(y = 40.758x-6.203\)'이라는 직선을 통해 설명할 수 있습니다. 


직선 하나로 타율과 평균 득점 사이 관계를 모두 설명하는 건 당연히 한계가 있습니다. 예를 들어 저 이 공식에 팀 타율 .275를 기록한 지난해 KT를 넣으면 경기당 평균 5.01점이 나오지만 실제로는 4.55점을 내는 데 그쳤습니다. 그러면 실제값(4.55점)과 예측값(5.01점)과 사이에 -0.46점 차이가 발생한 게 됩니다. 이렇게 실제값과 예측값이 차이가 나는 걸 잔차(殘差·resudial)라고 부릅니다.


그렇다면 실제값($y_i$)과 예측값($\hat{y}_i$)과 차이를 모두 더했을 때 더 적은 값이 나올수록 직선이 모든 자료를 더 잘 설명한다고 할 수 있겠죠? 이때 필요한 건 거리니까 제곱을 해서 더합니다. (정의에 따라 잔차를 모두 더하면 0입니다. 이 경우에도 그냥 더하면 당연히 0이 나옵니다.) 이를 잔차제곱합(RSS·Residiul Sum of Squares)이라고 부르고, $RSS = \sum_{i=1}^{n}(y_i-\hat{y}_i)^2$ 이런 식으로 표현합니다.


이렇게 RSS를 구했으면 비교 대상을 찾아야 합니다. RSS가 데이터를 잘 설명한다 혹은 그렇지 않다고 판단을 하려면 기준점이 필요할 테니까요. 회귀분석은 무엇으로 돌아간다? 네, 평균으로 돌아갑니다. 그러니까 평균값($\bar{y})$에서 실제값을 뺀 편차(偏差)와 잔차를 비교하면 됩니다. 물론 이번에도 그냥 모두 더하면 0이 나오니까 편차제곱합(SSD·Sum of Squares of Deviations)을 계산합니다. $SSD = \sum_{i=1}^{n}(y_i-\bar{y}_i)^2$ 



다 왔습니다. 이제 이 둘만 이렇게 비교하면 됩니다. 잔차는 적으면 적을수록 좋은 거니까 편차제곱합에서 잔차제곱합을 뺐는데도 그 값이 변하지 않는다면 이 직선이 데이터를 잘 설명한다고 볼 수 있습니다. 


그리고 만약 이 값을 다시 편차제곱합으로 나눈다면 1에 가까우면 가까울수록 설명 가능한 부분이 많다고 할 수 있을 겁니다. 식으로는 이렇게 쓸 수 있습니다.


$r^2$ = $\frac{SSD - RSS}{SSD}$ = $1- \frac{RSS}{SSD}$  


다시 타율-평균 득점으로 돌아가서 RSS를 계산하면 2.769491이 나옵니다. SSD는 12.53057입니다. 이를 토대로  $1- \frac{2.769491}{12.53057}$를 계산하면 .778981이 나옵니다. r²가 .779 정도 되는 셈입니다. (정 아나운서 분석 결과는 .774였습니다. 시작은 2015년으로 같지만 '현재' 그러니까 종료 시점이 달라서 차이가 났을 겁니다.) 


같은 방식으로 평균 득점과 기록 사이 r²를 계산하면 출루율은 .7774, 장타력은 .7373이 나옵니다. OPS(출루율+장타력)는 .8947. 그렇다면 이를 토대로 '타율, 출루율, 장타력 가운데서는 타율이 제일 중요한 기록이다'라고 결론내릴 수 있을까요?



어느 정도 차이가 차이를 만드나

수식까지 써가면서 이렇게 지루하게 설명했다는 건 '그렇지 않다'는 뜻이겠죠? 설명을 자세히 읽으신 분은 아시겠지만 r²는 제가 댓글에서 쓴 것처럼 x가 변할 때 y도 잘 따라 변한다는 뜻일 뿐 얼마나 변하는지는 알려주지 않습니다.


예를 들어 A{x(1, 2, 3, 4, 5), y(1, 2, 3, 4, 5)}라는 자료가 있다면 r²는 1입니다. B{x(1, 2, 3, 4, 5), y(0.8, 2.4, 5.75, 7.75, 12)}는 .9886이 나옵니다. B에서 x가 변할 때 y가 더 크게 변하지만 r²는 이에 대해서는 어떤 정보도 주지 않고 있습니다.


말하자면 저 결과는 출루율이나 장타력을 알고 있을 때보다 타율을 알고 있을 때 평균 득점을 더 정확하게 예측할 수 있다는 뜻일 뿐, '단타의 힘이 장타를 이길 수도 있다'는 이야기는 그 어디에도 들어 있지 않습니다.



게다가 r² 차이가 얼마나 나야 더 정확하게 예측한다고 볼 수 있는지도 애매합니다. 출루율(.7774)하고 비교하면 타율(.7790)은 r²가 .0016 앞설 뿐입니다. OPS .779인 타자는 .777인 타자보다 얼마나 훌륭한 타자인가요? 장타력(.7373)과 타율을 비교하면 .0417 차이인데 이건 또 얼마나 차이가 나는 걸까요?


이럴 때는 호텔링 T제곱 검정을 활용하면 도움이 됩니다. 이때는 r²이 아니라 r(피어슨 상관계수)를 쓴다는 차이는 있습니다. 이 상관계수 제곱이 r²입니다. 호텔링 검정은 상관관계가 통계적으로 유의미하게 다른지 유의 확률(p값)을 통해 알려줍니다. (여러 문제가 있지만) 일반적으로는 p값이 특정값(.05 또는 .01) 이하일 때 유의미한 차이가 있다고 간주합니다.


▌상관관계 검증 p값

 구분  최근  전체
 출루율  .979  .275
 장타력  .575    .000
 OPS  .002  .000

이렇게 상관계수 차이를 검증하면 표와 같은 결과가 나타납니다. 최근은 2015년부터, 전체는 프로야구 원년(1982년)부터 올해 상반기까지를 뜻합니다.


한마디로 최근 3년 반 동안에는 타율이 출루율이나 장타력보다 경기당 평균 득점과 상관관계가 더 크다고 말하기가 곤란합니다. 대신 OPS는 유의 확률 5%에서 '통계적으로 유의미하게' 타율보다 경기당 평균 득점을 더 잘 설명한다고 이야기할 수 있습니다. (OPS는 참 위대한 기록이라는 게 여기서 또 한 번 드러납니다. 그저 둘을 더했을 뿐인데 이렇게 다른 결과를 낳습니다.)


프로야구 전체 기록으로는 출루율이 문제(?)입니다. 상관관계를 보면 출루율(.8998)이 타율(.8880)보다 높지만 이를 토대로 출루율이 타율보다 경기당 평균 득점을 더 잘 설명한다고 보기 어렵습니다. 반면 장타력(.9332)이나 OPS(.9616)는 확실히 타율보다 설명력이 뛰어납니다.



모든 건 SK 때문이다

아무리 그래도 이상한 건 이상합니다. 출루율은 몰라도 최근에 장타력이 이렇게 득점과 거리를 두게 된 이유는 뭘까요? 간단합니다. 장타력이 좋은데 출루에는 소질이 없는 팀이 있기 때문입니다. (출루율은 이미 우리 손을 떠났습니다.) 제가 정 아나운서 글을 처음 본 페이스북 페이지 게시물에 사실 정답이 들어 있습니다.


아래는 이 페이지 관리자 토아일당 님(신동윤 한국야구학회 데이터분과장)이 올리신 내용입니다.


좀 치우친 팀 하나가 보이는데 17SK입니다. 회귀선에서 저렇게 이탈했다는 것은 높은 장타율에 비해 득점이 유독 적었다는 뜻이죠. 장난삼아 해당 분석 중 17SK만 빼고 해봤습니다.


이젠, 15-17년 kbo에 대해 17SK를 포함시킨 샘플의 타출장-득점설명력과, 17SK를 제외한 샘플의 타출장-득점설명력을 비교해봅니다.


17SK를 포함한 경우

타 0.740 출 0.768 장 0.756


17SK를 제외한 경우

타 0.764 출 0.796 장 0.813


mlb만큼은 아니라도, 장타율 쪽의 R^2가 타율보다는 확실히 높아집니다. (제 생각엔, 정우영님 분석엔 있었고 제 분석엔 빠진 18년 데이터를 포함시킨다해도 대세가 달라질거 같진 않습니다.)


그렇다면 이건 무슨 뜻일까요? 예. 이게 다 SK와이번즈 때문일 수 있다는겁니다. 높은 장타율-낮은 출루율의 극단적 언밸런스로 인해 --- 높은 장타율을 득점으로 연결시키지 못하는 SK와이번즈라는 아웃라이어.로 인해 위와 같은 착시가 생겼을 가능성이 있다는거죠.


와이번즈의 괴랄한 공격력 밸런스는 17년에 이어 18년에도 나타나고 있는 상태이기 때문에, 18년 데이터를 포함시켰을 때 타율-장타율 설명력 역전 현상이 더 두드러지게 나타난건 아닐까 하는 추측도 해보고요


올해 SK라고 크게 다를 게 없습니다. 게다가 올 시즌에는 롯데와 KT 역시 이 대열에 합류했습한 것처럼 보입니다.



그런데 엄밀하게 회귀분석을 진행할 때는 그저 '내가 보기에 그렇다'고 아웃라이어로 결론 내릴 수 있는 건 아닙니다. 표준화 잔차영향치(leverage), 쿡 거리(Cook's distance) 같은 개념을 토대로 아웃라이어 후보군을 선출합니다. 장타력-출루율 분포에서는 이 셋을 아웃라이어로 의심할 수 있습니다.



이 정도면 '빼박'이라고 해도 과언이 아닙니다. 역시 지난해와 올해 SK가 문제였습니다. 올해(2018) NC는 위에 있는 그래프에서 맨 왼쪽 아래 구석에 있는 점입니다. 같은 방식으로 평균 득점 - 장타력 사이를 알아봐도 역시 이 세 팀이 문제였습니다.


사실 지난해 SK는 퍽 재미있는 팀입니다. 앞 타자가 안타를 치고 나갔을 떄 SK 타선은 OPS .860을 기록했습니다. 같은 상황에서 리그 평균이 .803이었으니 SK 타선이 기회를 이어가는 힘이 부족했다고 보기는 어렵습니다. 문제는 이런 상황이 852번밖에 없었다는 점. 10개 구단 전체 평균은 990 타석이었습니다. 



(당연히) 장타가 단타를 이긴다

지금까지는 평균 점수-타율, 장타력-출루율처럼 변수 두 개 사이 상관관계만 다뤘습니다. 꼭 이렇게 변수를 일대일로 비교해야만 하는 건 아닙니다. 설명변수(독립변수)가 두 개 이상일 떄는 다중회귀분석을 실시하면 어떤 변수가 종속변수에 영향을 가장 많이 주는지 알 수 있습니다.


우리가 알고 싶어하는 건 어떤 기록이 평균 득점에 영향을 가장 많이 주는 것이냐 하는 점이겠죠? 그래서 종속변수에 경기당 평균 득점을 넣고 독립변수에 △단타 비율(단타÷타석) △(홈런을 제외한) 장타 비율 △홈런 비율 △사사구(볼넷+몸에 맞는 공) 비율 △삼진 비율을 투입해 선형 모델을 만들었습니다. (이후 삼진 비율은 유의 확률 문제로 제거)


그다음 더빈왓슨(Durbin-Watson) 검정을 실시했습니다. 해가 바뀐다고 구단별 타격 성향도 손바닥 뒤집듯 바뀌는 건 아니니 이 영향을 알아보려는 목적이었습니다. 예컨대 2018년 SK가 이런 타격 스타일을 구사하는 건 2017년으로부터 영향을 받았을 겁니다. 단, 데이터 전체적으로는 통계적으로 유의미할 정도로 이렇게 영향을 받았다고 하기 어렵다는 결과가 나왔습니다. 분산팽창요인(VIF) 확인 결과 다중공선성 문제로부터도 자유로웠습니다.


그리하여 실제로 회귀분석을 진행한 결과 아래 같은 표를 얻을 수 있었습니다.


▌2015~2018 상반기 경기당 평균 득점 분석

r²=.9291, p<.000
 독립변수  추정량  표준오차   t  유의확률
 상수  -7.637  0.681  -11.22  .000
 단타  32.306  3.295  9.81  .000
 장타  57.790  6.235  9.27  .000
 홈런  58.130  5.570  10.44  .000
 볼넷  29.637  2.711  10.93  .000

따라서 이 기간 한국 프로야구 경기당 평균 득점은 아래 식을 통해 추론할 수 있습니다. 


평균 득점 = 32.306 × 단타 비율 + 57.790 × (2·3루타 비율) + 58.130 × 홈런 비율…


요컨대 단타보다 홈런이 평균 득점에 1.8배(≒58.130÷32.306) 정도 더 영향을 크게 끼칩니다. 2·3루타 역시 비슷한 결과나 나오리라는 사실을 짐작할 수 있습니다. 타율이 경기당 평균득점을 더 잘 설명한다고 해서 단타가 장타를 이기는 일이 벌어지지는 않았던 겁니다.


가위바위보에서 언제나 바위가 가위를 이기는 것과 마찬가지로 야구에서 장타는 단타를 이깁니다. 장타만 치려다 못 쳐서 지는 일은 있겠지만 말입니다. 그러니 리그 수준이 떨어져서 타율이 득점을 제일 잘 설명한다는 걱정은 접어두세요. 공갈포를 사랑하기에도 부족한 시간이니까요.


이건 이항분포 이야기처럼 야구보다 통계학 이야기에 가깝지만 kini's Sportugese에서 쓰기 시작한 죄로 이 블로그에 그냥 남겨 놓습니다.




댓글, 4

  •  댓글  수정/삭제 김영록
    2018.07.23 14:47 신고

    좋은 글 감사합니다
    재미있게 읽었네요

  •  댓글  수정/삭제 질문
    2018.07.23 22:48 신고

    좋은 글 감사합니다. 한 가지 의문이 들어 댓글을 남기는데요, 정우영 캐스터의 인스타그램 글 중 '회귀분석에서 n값이 안정화를 가지는 시점'이라는 표현이 나오는데, 이와 관련된 통계학 개념이 있다면 안내 부탁드리겠습니다.
    덧붙여 선수 스카우트를 할 때 홈런은 몇 타석, 선구안은 몇 타석 정도 보면 그 선수의 경향을 통계적으로 파악할 수 있다는 세이버매트릭스 계열 글을 읽은 기억이 나는데 이 때에도 위에 언급한 '안정화'라는 개념이 사용된 것인지 궁금합니다.
    다시 한번 항상 좋은 글 남겨주심에 감사드립니다. :)

    •  수정/삭제 kini
      2018.07.27 22:03 신고

      1. 회귀분석에 표본이 얼마나 필요한지에 대해서는 의견이 분분합니다. 너무 모자라면 모자란 대로 문제도 많으면 또 많은 대로 문제거든요. 그래서 제가 선택한 건 회귀분석을 진단하는 방식이었습니다. 이에 대해서는 이 링크가 도움이 될 수 있습니다: http://bit.ly/2v8ZXYd

      2. '표본을 충분히 확보해야 한다'는 점에서는 그렇습니다. 어떤 투수든 - 심지어 제가 공을 던진다고 해도 - 운이 아주 아주 좋다면 홈런왕을 삼진으로 돌려세우는 일이 있을 수 있습니다. 그런데 맞대결 횟수가 두 번, 세 번, 네 번… 늘어나면 그럴 확률이 당연히 줄어들 겁니다. 그런 이유로 표본이 충분해야 기록이 안정화된다고 볼 수 있습니다.

더 보기