목차 닫기 >>
감독으로 보는 한국프로야구 역사 - 제작기
by 자료구조
V 1.0
<< 목차 보기

요약

감독으로 보는 한국 프로야구 역사는 KBO 리그 33 시즌(1982 ~ 2014)간의 각 팀 별 공격 및 수비 기록 변화를 역대 감독들의 커리어와 교차하여 바라보는 정보 시각화(InfoVis) 프로젝트다. 전통적으로 감독에게 팀 운영 권한이 집중된 KBO 리그의 특성을 반영하여 한국 프로야구의 역사를 보다 심도있게 탐색할 수 있도록 창을 제공하는 것을 목표로 했다.

효과적인 시각화를 위하여 1) 각 팀의 시즌 별 득점/실점 자료를 사용하여 정규화된 공격/수비 지표를 설정했고, 제한된 공간 내에서 두 지표를 통합적으로 관찰할 수 있도록 2) 글리프(Glyph)로 시각화하여 배치했다. 3) 사용자 인터페이스(User Interface)를 조작하여 시각화를 두 가지 관점에서 탐색할 수 있도록 구성하였다. 먼저, 팀의 성적 및 지표 변화를 감독들과 연계하여 관찰할 수 있으며, 그 다음으로는 감독의 커리어 내 성적 및 지표 변화를 재임 시기 별로 구분해 살필 수 있다.

개요

전통적으로 KBO(Korea Baseball Organization) 리그 내에서 감독의 권한은 막대하며, 선수단 구성부터 추구하는 플레이에 이르기까지 광범위하다. 그런 점에서 감독의 성향은 프로야구팀의 성적 및 성향(팀 컬러)에 적지 않은 영향을 미칠 것으로 예상할 수 있다.

이를 고려하여 본 프로젝트에서는 KBO 리그의 역사를 재임한 감독들의 기록과 연결하여 바라보기를 제안하고, 상호작용적 시각화를 제시하였다. 프로야구 구단의 성적/성향의 변화를 팀을 거쳐간 감독들을 기준으로 나열하고, 역으로 감독을 기준으로 한 재임한 팀들의 성적, 성향을 교차하여 제시하였다.

시계열 자료 시각화

대상이 되는 KBO 리그 자료는 연대기적으로 나열된 시계열 자료(Time-series data)다. 프로젝트 진행 시 영감을 받은 성공적인 시계열 자료 시각화 프로젝트들을 정리했다.

Horizon graph
호리호리

image from the article of Jeffery Heer et al.

Horizon graph는 공간 효율적인 시계열 자료 시각화 방법이다. 시계열 자료의 빈도 영역(frequency domain)을 접어올려 y축 방향의 공간을 탄력적으로 활용할 수 있다. 이를 통해 다수의 시각화를 수직방향으로 병치하여 확인할 수 있다.

Fluxflow

플럭스플로-

image from the paper of Jian Zhao et al.

Fluxflow는 소셜 미디어(social media)에서 수집한 시계열 자료를 다차원으로 분석하기 위해 고안된 시각화 방법이다. 시계열의 전반적인 특징을 요약하여 보여주는 _디스크 형태의 글리프(glyph)_를 사용한다.

Pinas view

트리트리

image from the paper of Mike Sips et al.

Pinas view는 구간 별로 aggregation된 시계열 자료의 경향을 한눈에 보여주는 시각화다. 그림에서 자료의 맨 가운데 값인 ‘01년도를 어떤 시간 간격(time interval)의 중점으로 두고 그 크기를 점점 키워간다고 해보자. 처음에는 단 하나의 시점(time point)만을 나타내겠지만 최후에는 시계열 자료 전체를 포함하게 된다. 이 시각화에서 수직방향의 상승이 의미하는 바가 그것이다. 위치에 할당된 색은 그 시계열 구간의 대표값을 나타낸다.

스포츠 자료 시각화

다음으로는 주제 영역인 스포츠 자료를 사용해 효과적인 스토리텔링을 시도한 시각화 사례들을 정리했다.

미식축구 쿼터백 시각화

미식미식

image from the article of Mike Bostock et al.

NFL 미식 축구팀 별 쿼터백 포지션 선수들의 활동을 기간과 소속 팀을 중심으로 시각화했다. 감독으로 보는 한국 프로야구 역사의 전체적인 시각화 레이아웃에 영향을 많이 준 작업으로, 단순 비교하자면 NFL 쿼터백 선수들의 활동 기록을 한국 프로야구 감독들의 재임 기록으로 대치시켰다고 이야기 할 수 있겠다.

배리본즈 홈런 기획기사

약쟁이

image from the article of NewYork Times

이야기가 있는 시각화(Narrative Visualization)의 대표적 사례로 꼽히는 뉴욕 타임즈의 기사이다. 시각화 기법이나 레이아웃 보다는 시계열적인 스토리텔링 방식을 참고하였다.

자료 처리

다음으로 프로젝트를 위해 사용된 데이터의 수집과 정리 과정을 간략히 요약하자면 아래와 같다.

리그 데이터 수집 및 정리

KBO 역대 기록의 경우 개괄적인 정보 이외에는 공식적으로 공개되어있는 구체적인 리그 기록이 부재하여, 개인들이 위키에 정리한 자료들을 참고할 수 밖에 없었다. 특히 개별 선수의 활약이나 코칭 스태프 등에 관한 정보가 체계적으로 정리되어 있지 않아, 구단의 성적에 영향을 미치는 총체적인 요인들을 살펴보기 보다는, 특정 감독의 재임에 의한 영향을 단편적으로 활용할 수 밖에 없다는 한계가 있었다. 아래로부터 1982 ~ 2014년 까지의 연도별 자료를 가져왔다.

  1. KBO/역대 기록실
  2. 위키피디아/KBO 리그
  3. 나무위키/KBO 리그

성적, 성향 지표 선정

수집한 자료로부터 시즌별 구단의 성적, 성향을 나타내는데 사용될 지표를 선정했다. 야구 통계에서 개별 선수들의 기량을 나타내는 다양한 지표들이 개발된 것에 비해, 구단 전체의 성적을 직관적으로 표현하는 지표는 널리 알려진 것이 없어 직접 해당 지표를 개발 해야했다. 지표의 개발에 있어 직관적으로 이해할 수 있으면서도 본래의 함의를 왜곡하지 않도록 다음과 같은 점들을 고려했다.

Q1. 무엇을 지표로 할 것인가?

일반적으로 선수 개인의 기량을 살펴보는 분석들과 달리, 개인 단위가 아닌 팀 전체의 특성을 표현해야 한다. 특히 특정 감독의 재임에 의한 영향을 동시에 반영해야 한다.

Q2. 어떤 기록을 사용할 것인가?

이 프로젝트의 목적은 복잡한 시각적 분석 도구를 만들기 보다는, 한정된 공간 안에 팀의 특성을 직관적으로 나타내야 한다.
팀 단위의 야구 통계를 높은 수준으로 추상화하면 크게 공격, 수비로 나눌 수 있으며, 아래와 같이 정의할 수 있다.

공격
- 어떤 득점루트, 어떤 패턴으로 얼마나 득점했는가

수비
- 어떤 득점루트, 어떤 패턴으로 얼마나 실점했는가

이를 구체적으로 분석하기 위해서는 상황별 통계자료가 필요하나, 자료 수집의 한계로 분석을 포기해야만했다.
대신에 이 프로젝트에서는 시즌 혹은 재임한 감독을 기준으로 공격력수비력의 전반적인 변화를 확인하기 위해 시즌 별 총 득점, 실점을 사용했다.

Q3. 어떻게 지표(Index)화할 것인가?

득점과 실점을 각각 공격력과 수비력에 대응시키려면 다음 두 조건을 만족해야 한다.
>1. 시즌 내에서 팀 간의 비교가 가능해야 함
>2. 서로 다른 시즌 간의 비교가 가능해야 함

두 번째 조건을 만족시키기 위해 시즌 별 리그 특성으로부터 독립된 지표를 사용해야 한다. 비모수적(non-parametric)인 방법과 모수적(parametric)인 방법으로 구할 수 있다.

모수적 방법
- 측정된 자료가 특정한 분포(ex. 정규 분포)로부터 나오는 것을 가정한 방법
예) 평균, 표준편차

비모수적 방법
- 측정된 자료가 특정한 분포로부터 나오는 것을 가정하지 않는 방법
예) 중간값, 순위

각 시즌별로 득점, 실점의 분포가 다르기 때문에 정규화를 하려면 많은 고려가 필요하다. 순위를 비교하는 것이 더 안전하다. 그러나 순위는 시각적인 요소로 치환하여 비교하기 어렵고, 정보를 많이 생략한다. 이 프로젝트에서는 모수적인 방법을 사용하여 지표를 도출하였다.

Q4. 어떻게 보여줄 것인가?

공격력과 수비력 비교의 경우의 수는 다음과 같은 양상을 띌 것이다.

공격력(수비력) 단일 비교

  1. 한 팀의 시즌 별 공격력(수비력) 비교
  2. 한 팀의 재임 감독 별 공격력(수비력) 비교
  3. 여러 팀의 특정 시즌 공격력(수비력) 비교
  4. 한 감독의 재임시기 별 공격력(수비력) 비교

공격력-수비력 연관 비교

  1. 한 팀의 시즌 별 공격력-수비력 편차 비교
  2. 한 팀의 재임 감독 별 공격력-수비력 편차 비교
  3. 여러 팀의 특정 시즌 공격력-수비력 편차 비교
  4. 한 감독의 재임시기 별 공격력-수비력 편차 비교

공격력과 수비력을 각각 비교하는 것도 중요하나 그 편차를 보는 것 또한 의미가 있다. 전자가 공격/수비 부문의 팀의 성취를 나타낸다면 후자는 공격, 수비의 균형을 나타낸다. 이는 팀의 개성을 드러내는 가장 기본적인 값이며 팀 간의 절대적인 전력 차로부터 독립적이다.

Interactive Visualization

요구조건

이 프로젝트에서 제공하는 상호작용적 시각화(Interactive Visualization)는 다음 요구 조건을 만족해야 한다.

  1. 한 팀의 시즌성적으로부터 공격력, 수비력, 공격력 - 수비력 편차를 한 번에 드러낼 수 있어야 함
  2. 300개 이상의 자료(30시즌 이상 * 최대 10팀)를 공간효율적, 직관적으로 나타내야 함
  3. 사용자의 탐색 욕구에 부합하는 상호작용 방법을 제공해야 함

위의 요구 조건을 두 가지로 범주화할 수 있다.

  • 시각화 이슈(조건 1,2)
    • 공간적 제한을 만족하고, 목적성에 부합하는 데이터 시각화 방법과 그 배치
  • 상호작용 이슈(조건 3)
    • 시각화 방법의 의미를 풍부하게 하고 단점은 보완하는 상호작용 방법 가능성 제공

시각화

전통적 방법 - 꺾은 선 그래프, 막대 그래프

시각화 이슈 측면에서 일반적인 시계열 자료 시각화 방법인 꺾은 선 그래프와 막대 그래프를 활용한 방식의 한계를 분석해보면 다음과 같다.

  1. 시각화 간 비교
    • 시각화 내 비교(수평 방향) 용이
    • 시각화 간 비교(수직 방향) 어려움
  2. 지표 표현
    • 득점 - 공격력 : 정의 관계
    • 실점 - 수비력 : 부의 관계
  3. 공간 활용
    • 수직 방향 공간확보 필요

공간의 수직방향 활용 문제

수평공간을 시계열 자료를 나열하고, 수직 공간을 팀별로 구분하여 나열하게 되는 경우, KBO 팀 숫자만큼의 시계열 시각화를 동시에 확인해야하므로 수직공간 확보가 가장 큰 문제다. 수평공간을 중심으로 자료를 나열하여 비교하게 하는 꺾은 선 그래프, 막대 그래프의 경우 충분한 정도의 수직공간을 확보하며 동시에 수직공간에 나열된 자료들을 비교하기에는 적합하지 않다.

위에서 살펴본 Horizon graph를 사용할 수도 있으나 공격력과 수비력, 그리고 편차를 동시에 나타내기에는 부적합하다. 따라서, 요구조건을 만족하는 새로운 시각화 방법을 아래와 같이 제안했다.

각도를 사용한 시각화

수평, 수직 공간에 나열된 단위 정보들의 비교 대조를 용이하게 하기 위해 호(arc)상에 공격력, 수비력 지표를 속도계 등에서 활용되는 Angular gauge chart의 방식으로 나열하였다. 둥근 호의 모양은 정보가 수평, 수직 방향으로 치우쳐 표현되는 것을 방지하여, 두 가지 방향으로 서로 다른 정보 단위들을 동시에 비교함에 있어 편차를 최소화 할 수 있을 것으로 여겨졌다. 또한 다양한 정보를 한정된 공간 상에 표현할 때 발생되는 시각적 혼잡도를 최소화 하는데에도 일조하리라 본다.

글리프

3/4 크기의 원에 공격력과 수비력, 그리고 편차를 매핑했다.

  • 막대 : 0°(최대값)에서 270°(최소값) 범위에 그려짐
    • 공격력 막대 : 정규화된 공격력 지표
    • 수비력 막대 : 정규화된 수비력 지표
  • 색칠된 호 : 공격력 막대와 수비력 막대 사이의 영역
    • 파랑 호 : 공격력 > 수비력
    • 노랑 호 : 수비력 < 공격력 지표
  • 숫자 : 정규 시즌 순위
  • 원 : 플레이오프 및 한국시리즈 진출 우승 여부

위에 기술한 바와 같이 하나의 호 위에 공격력, 수비력 지표가 동시에 나열된다. 시계 방향으로 갈수록 해당 지표 값은 낮아지게 된다. 또한 공격력과 수비력의 편차를 표현할 수 있도록 두가지 지표 값이 차이나는 만큼 사이 영역을 더 높은 수치의 지표 값을 나타내는 색상으로 표현하여, 편차의 방향과 정도를 즉각적으로 파악하는 것을 가능하게 하였다. 예를 들어, 위의 예시에서는 노란색으로 표현된 공간이 넓게 나타났는데 이는 공격력이 수비력보다 훨씬 높았기 때문이다. 이외에도 해당 정규 시즌 순위와 플레이오프 및 한국시리즈 진출 우승 여부와 같은 부가적인 정보를 동시에 표현하여 다차원적인 동시 비교가 가능하도록 유도하였다.

상호작용

위에서 고안한 글리프 단위를 구단과 시즌을 기준으로 격자 방식으로 나열하였다. 특정 글리프에 마우스 오버나 클릭을 할 경우 해당 기간 구단에 재임했던 감독의 전체적인 기록이 하이라이트되며 하단에 특정 감독의 기록이 시즌별로 나열되도록 유도하였다. 또한 하단에 추가되는 감독별 기록의 경우 이를 재임했던 구단의 기록별로 묶어 비교할 수 있도록 적절한 시각적 요소를 배치하였다.

overview

시간 슬라이더

time_slider

시즌별로 구단별 공격력, 수비력 지표를 단순비교 할 수 있도록 라인챠트와 글리프 형태를 동시에 활용하여 표현하였다. 특히 해당 공간에서 특정 시즌 기간을 선택하는 경우, 선택된 기간에 해당하는 팀별 기록을 확인할 수 있도록 글리프 형태가 변형되도록 하였다.

시간 간격 박스 지정

박스 내에 포함된 시즌 기록들의 팀별 평균을 구하여 글리프에 반영한다.

구단 기준 시각화

team_view

세로 축에 구단, 가로 축에 시즌을 할당하여 테이블 형태로 글리프를 배치했다. 시각적 복잡도를 완화하기 위해 사용자의 마우스 오버, 마우스 클릭 이벤트에 반응하여 상세 정보를 드러내도록 설계했다. 특정 감독에 마우스 오버 시 모든 재임기록을 하이라이트하여 커리어에 대한 오버뷰를 제공한다. 또한, 마우스 선택 시 감독 기준 시각화에 추가하여 커리어를 자세히 살필 수 있도록 했다.

특정 구단 앰뷸럼 마우스 오버

재임했던 감독들의 이름과 재임 기간을 드러낸다.

특정 구단 앰뷸럼 마우스 클릭

재임했던 감독들의 이름과 재임 기간, 당시의 지표를 요약한 글리프를 드러낸다.
다시 클릭할 때까지 뷰에 고정시킨다.

특정 감독 재임기간 마우스 오버

동일 감독의 재임 기록을 모두 하이라이트한다.

특정 감독 재임기간 마우스 클릭

현재 관찰 중인 감독을 감독 기준 시각화에 추가한다.

감독 기준 시각화

팀 기준 시각화에서 사용자가 선택한 감독들의 커리어를 리스트 형태로 시각화했다. 관심있는 감독의 상세 재임 정보 확인 및 감독 간의 커리어 비교에 활용할 수 있다. 기본 화면에서는 특정 감독의 재임시기 및 해당 기간의 지표를 확인할 수 있다. 사용자의 마우스 오버, 마우스 클릭 이벤트에 반응하여 재임 구단, 재임 시기 별 공격/수비 지표 등의 상세 정보를 드러내도록 설계했다.

manager_view

특정 감독 이름 마우스 오버

재임기간 소속됐던 팀의 이름을 드러낸다.

특정 감독 이름 마우스 클릭

재임기간 소속됐던 팀의 이름과 당시의 지표를 요약한 글리프를 드러낸다.
감독 이름을 다시 클릭할 때까지 뷰에 고정시킨다.

조작 패널

범례와 필터 기능을 결합하여 글리프 시각화에 대한 설명과 조작이 한 곳에서 가능하도록 했다. 조작 패널은 사용자의 스크롤 이벤트에 반응하여 따라다니도록 하여 시각화 가독성을 보조하고 필터 기능 접근성을 높였다. 가을야구 진출 여부, 필터에는 한국 시리즈 우승 여부 등 특정 팀의 업적이나 강함을 나타낼 수 있는 요소들을 포함하였다.

control

플레이오프 진출팀만 표시 체크박스 클릭

팀 기준 시각화에서 플레이오프에 진출한 팀만 하이라이트 된다.

우승팀만 표시 체크박스 클릭

팀 기준 시각화에서 해당 시즌 우승팀만 하이라이트 된다.

특정 감독 살펴보기 클릭

드롭 다운 리스트(Drop-down list)에서 감독을 선택하면 감독 기준 시각화에 추가된다.

인사이트

해당 시각화 작업을 통해, 발견된 흥미로운 결과들을 감독과 구단을 중심으로 구분하여 정리하였다. 기획 단계에서 감독과 구단의 역사를 단일한 수평 공간에 나열할 수 있도록 고려하였기 때문에 문단별로 특정 감독, 구단의 기록을 삽입하는 것이 용이하였다.