박스 플롯 에 대하 여 : : -[|]- Box and Whisker 
 박스 플롯 에 대하 여 
 널리 쓰이 는 만큼 이나 다양 한 변형 이 존재 하 기 도 하 고 정확 하 게 이해 하 지 않 은 채 로 쓰이 는 경우 가 종종 있 다 . 이 글 에서 는 박스 플롯 이 어떻게 그려지 는지 , 왜 그렇게 그려지 게 되 었 는지 , 어떤 의미 들 을 읽 어 낼 수 있 는지 등 을 살펴보 겠 다 . 
 사분위수 와 5 가지 요약 수치 
 여러 액체 의 어는점 을 측정 한 한 뭉치 의 데이터 를 구했 다고 치 자 . 데이터 가 적 다면 모든 값 들 을 눈 으로 훑어볼 수 도 있 겠 지만 , 그렇 지 않 다면 이해 할 수 있 는 수준 으로 요약 해서 보 는 편 이 나 을 것 이 다 . 데이터 에 담겨 있 는 일반 적 인 값 들 이 대략 어떠 한지 를 요약 해서 보 고 , 예외 적 인 값 들 만 따로 본다면 데이터 의 양 이 많 더라도 비교 적 쉽 게 파악 할 수 있 다 . 
 상당히 많 은 경우 에 데이터 들 이 특정 값 언저리 에 모여 있 는 편 인데 ( 이 를 “ 모드 ” 가 하나 라는 의미 에서 “ unimodal ” 이 라고 부른다 ) 이 중심 에 해당 하 는 값 을 알 면 , 즉 액체 들 이 대체로 몇 도 언저리 에서 어 는지 를 알 면 유익 할 것 이 다 . 이 를 중심 경향성 이 라고 한다 . 중심 경향 성 을 알려 주 는 가장 널리 쓰이 는 통계량 은 산술 평균 ( mean ) 이 다 . 하지만 이 값 은 데이터 에 극단 적 으로 크 거나 작 은 값 이 섞여 있 으면 영향 을 많이 받 는 단점 이 있 다 . 강건 성 ( robustness ) 이 낮 다고 말 한다 . 
 강건 성 이 높 으면서 중심 경향 성 을 알려 주 는 통계량 으로 는 사분위수 중 제 2 사분위수 가 있 다 . 사분위수 란 데이터 에 속한 값 들 을 작 은 값 부터 큰 값 순 으로 줄 세운 뒤 에 이 들 을 네 조각 으로 나누 는 세 개 지점 ( 막대기 를 4 등분 하 려면 3 개 의 지점 이 필요 하 다 ) 에 해당 하 는 수 들 을 말 한다 . 제 2 사분위수 는 세 개 값 중 두 번 째 값 을 뜻 하 므로 정확히 중앙 에 있 는 값 이 라 하 여 다른 말 로 중앙값 ( median ) 이 라고 도 부른다 . 
 데이터 안 에 담긴 값 들 중 절반 은 Q 1 와 Q 3 범위 안 에 있 고 그 중 에서 도 값 들 이 가장 많이 몰린 지점 은 Q 2 이 므로 이 세 가지 값 만 알 면 데이터 안 에 서로 상대 적 으로 비슷 한 값 들 이 많이 모인 큰 뭉텅이 를 비교 적 잘 요약 할 수 있 다 . 
 이제 단 세 개 의 통계량 ( Q 1 , Q 2 , Q 3 ) 으로 데이터 안 에 담긴 일반 적 인 값 들 을 요약 했으므로 특이 한 값 들 을 살펴볼 차례 다 . 데이터 의 최소 값 과 최대 값 을 보 면 이 목적 을 어느 정도 달성 할 수 있 다 . 
 이 다섯 가지 통계량 , 즉 최소 값 , 제 1 사분위수 , 제 2 사분위수 , 제 3 사분위수 , 최대 값 을 ‘ 5 가지 요약 수치 ( five - number summary ) ’ 라고 부른다 . 최소 값 과 최대 값 은 강건 성 이 낮 지만 양쪽 끝 에 있 는 값 ( 즉 , 가장 극단 적 인 값 들 ) 을 정확히 알려준다는 점 에서 유익 하 다 . 제 1 사분위수 , 제 2 사분위수 , 제 3 사분위수 는 강건 성 이 높 고 데이터 의 상당 부분 을 요약 하 여 보여 주 므로 유익 하 다 . 
 박스 플롯 은 5 가지 요약 수치 를 잘 보여 주 는 시각화 기법 으로 , 가장 널리 쓰이 는 형태 는 두 종류 가 있 다 . 
 시각화 방법 1 
 박스 플롯 의 상자 는 제 1 사분위수 ( Q 1 ) , 제 2 사분위수 ( Q 2 ) , 제 3 사분위수 ( Q 3 ) 를 드러낸다 . 상자 의 좌측 변 과 우측 변 은 각각 Q 1 과 Q 3 의 위치 를 나타낸다 . 따라서 상자 의 길이 는 전체 데이터 의 정확히 절반 이 담겨 있 는 범위 인 사분위수 범위 를 시각 적 으로 표현 한다 . 상자 안 의 눈금 은 Q 2 ( 즉 , 중앙값 ) 를 보여준다 . 
 이 상태 에서 최소 값 과 최대 값 위치 까지 수염 ( whisker ) 을 그려 주 면 위 에서 설명 한 5 가지 요약 수치 를 보여 주 는 박스 플롯 이 만들 어 진다 . 하지만 튜 키 는 이 방법 을 설명 한 직후 에 조금 더 복잡 하 지만 유용 한 다른 방식 을 제안 한다 . 
 시각화 방법 2 : 스키 매 틱 플롯 
 이번 에 설명 할 형태 는 스키 매 틱 플롯 또는 튜 키 박스 플롯 이 라고 불리 며 , 가장 널리 쓰이 는 형태 이 다 . 한편 잘못 된 방법 으로 표현 되 는 경우 도 많 고 읽 는 방법 에 대해 잘못 설명 하 는 책 이나 글 도 많 으므로 주의 가 필요 하 다 . 
 상자 길이 의 1 . 5 배 에 해당 하 는 길 이 , 즉 1 . 5 IQR 을 한 걸음 ( step ) 이 라고 부른다 . 상자 의 양 끝 에서부터 한 걸음 씩 떨어진 지점 사이 의 공간 을 안쪽 울타리 ( inner fence ) 라 부르 고 안쪽 울타리 끝 에서부터 한 걸음 씩 더 떨어진 지점 사이 의 공간 을 바깥쪽 울타리 ( outer fence ) 라 부른다 . 
 스키 매 틱 플롯 에서 는 최소 값 과 최대 값 까지 수염 을 그리 는 대신 , 안쪽 울타리 내 의 데이터 중 에서 가장 상자 로부터 멀리 떨어진 데이터 가 있 는 지점 까지 만 수염 을 그린다 . 
 몇몇 책 에서 는 안쪽 울타리 와 바깥쪽 울타리 의 경계 지점 까지 수염 을 그리 는 것 이 라고 설명 하 기 도 하 고 몇몇 시각화 프로그램 은 실제로 그렇게 그리 기 도 하 지만 이 방식 은 좋 지 않 다 . 예 를 들 어 2019 년 2 월 19 일 기준 으로 파이썬 의 seaborn . boxplot ( ) 및 pandas . DataFrame . boxplot ( ) 은 수염 을 제대로 그려 주 지만 , 자바 스크립트 의 vegalite 는 잘못 된 방식 으로 그려 준다 . 다음 릴리즈 인 3 . 0 . 0 에서 고쳐질 예정 이 다 . 
 튜 키 는 항상 두 가지 를 중요 하 게 여겼 는데 , 하나 는 일반 적 인 경향 을 잘 요약 하 여 드러내 는 것 이 고 , 다른 하나 는 일반 적 인 경향 에서 벗어나 는 특수 한 데이터 를 되 도록 개별 적 으로 최대한 드러내 는 것 이 다 . 데이터 의 절반 이 몰려 있 는 부분 은 상자 로 요약 하 여 보여 주 되 , 제법 떨어진 곳 의 데이터 가 정확히 어디 에 있 는지 는 직접 드러내 기 위해 수염 은 항상 실제 데이터 가 존재 하 는 위치 에서 끝나 도록 그리 는 것 이 다 . 튜 키 가 제시 한 원칙 에 따라 그려진 박스 플롯 이 라면 수염 이 끝 나 는 위치 에 는 항상 실제 데이터 가 있 다 . 수염 을 데이터 와 상관 없이 1 . 5 IQR 까지 그리 면 이 특성 이 사라진다 . 
 1 . 5 IQR 을 벗어난 데이터 , 즉 바깥쪽 울타리 에 있 는 데이터 는 더욱 특수 한 데이터 이 므로 개별 데이터 를 모두 점 으로 찍 어서 나타낸다 . 
 만약 바깥쪽 울타리 보다 더 멀리 에 있 는 값 이 있 다면 ? 튜 키 는 이런 값 들 을 “ far outs ” 라고 부르 며 더 강하 게 표시 할 것 을 권한다 . 우리 데이터 엔 이런 극단 적 인 값 이 없 으니 임의 로 추가 를 해서 그려 보 자 . 
 극단 적 아웃 라이어 가 우측 에 추가 되 었 으나 상자 의 크기 , 중앙값 의 위치 , 수염 의 길이 등 은 거의 변하 지 않 았 다는 점 에 주목 하 기 바란다 . 박스 플롯 의 그래픽 요소 , 특히 상자 부분 은 높 은 강건 성 을 갖 는다 . 그러 면서 도 동시 에 예외 적 인 값 들 을 빠짐없이 표현 해 내 고 있 다 . 
 다양 한 변형 
 스키 매 틱 플롯 이 가장 널리 쓰이 는 형태 이 며 보통 튜 키 박스 플롯 이 라고 부르 지만 , 박스 플롯 은 한 종류 가 아니 다 . 수염 의 길이 가 최대 값 과 최소 값 까지 늘어나 는 형태 ( 앞 에서 잠깐 설명 한 바 있 다 ) , 그 밖 에 도 상자 부분 을 시각 적 으로 극도 로 단순 화 한 형태 ( Edward Tufte ) , 중앙값 주변 을 오목 하 게 파서 여러 중앙값 사이 에 통계 적 으로 유의미 한 차이 가 있 는지 여부 를 시각 적 으로 드러내 는 형태 ( notched box plot ) 등 다양 한 변형 이 있 다 . 
 이 중 튜 키 가 제안 한 특정 한 방식 이 항상 가장 뛰어나 다고 할 수 는 없 고 그 방식 을 빠짐없이 그대로 따라야 만 하 는 건 아니 다 . 심지어 이 글 에서 설명 한 형태 도 엄밀히 따지 면 튜 키 의 제안 에서 벗어난 지점 들 이 있 다 . 예 를 들 어 스키 매 틱 플롯 을 그리 는 경우 에 수염 은 반드시 점선 으로 표현 해야 한다 . 이상 치 들 에 는 점 만 찍 는 것 이 아니 라 개별 데이터 의 레이블 도 소문자 로 적 어 주 어야 한다 . 극단 적 이상 치 는 X 로 표시 하 고 대문자 로 레이블 을 적 어야 한다 . 
 몇 가지 변형 을 살펴보 자 . 
 박스 플롯 을 좁 은 간격 으로 나란히 그리 면 여러 데이터 뭉치 를 쉽 게 비교 할 수 있 다 . 
 상황 에 따라 세로 로 그릴 수 도 있 다 . 
 데이터 뭉치 사이 에 관련 성 이 있 다면 같 은 색상 을 써서 시각 적 으로 짝 지 어 주 면 좋 다 . 데이터 뭉치 사이 에 어떠 한 순서 ( order ) 가 있 는 게 아니 라면 명도 나 채 도 차이 를 보 다는 색조 ( hue ) 차이 를 주 어야 불 필요 한 오해 를 줄일 수 있 다 . 
 박스 플롯 위 에 스트립 플롯 을 겹친 형태 로 그려서 개별 데이터 의 분포 를 직접 드러낼 수 도 있 다 . 
 이 경우 , 데이터 가 지나치 게 많 거나 서로 겹쳐 있 으면 어디 에 데이터 가 얼마나 몰려 있 는지 시각 적 으로 알 기 가 어렵 기 때문 에 점 의 위치 를 아주 조금 흩뿌려 주 면 좋 다 . 이 를 지터 링 ( jiterring ) 이 라고 한다 . 상자 와 점 이 겹쳐 있 어서 잘 보이 지 않 는다면 투명도 를 약하 게 적용 해도 좋 다 . 
 다만 항상 많 은 데이터 를 시각 적 으로 담아내 는 것 이 좋 은 시각화 인 것 은 아니 다 . 박스 플롯 의 장점 은 간소 한 형태 만 으로 데이터 에 대해 많 은 것 을 이야기 해 준다는 점 에 있 다 . 그런 의미 에서 더 단순 화 할 방법 을 생각 해 보 는 것 도 유용 하 다 . 예 를 믈 어 에드워드 터프 티 가 제안 한 최 소주 의 형태 로 나타내 도 데이터 가 시각 적 으로 잘 드러난다면 이 형태 를 쓰 는 것 도 좋 다 . 
 다만 이 경우 엔 다시 투명도 를 제거 하 여 색상 차이 가 더 잘 드러나 게 해 주 어야 한다 . 면적 이 좁 아 지 면 색상 의 차이 를 지각 하 기 가 더 어려워 지 기 때문 이 다 . 
 아래 와 같이 산포도 ( scatter plot ) 의 각 축 에 박스 플롯 을 그리 는 변형 도 고려 해 볼 만 하 다 . 
 산포도 는 두 변수 사이 의 상관 관계 를 잘 드러내 지만 각 변수 의 분포 를 따로 보 기 는 어렵 다는 단점 이 있 다 . 산포도 의 각 축 을 박스 플롯 으로 대체 하 면 별 도로 공간 을 거의 차지 하 지 않 으면서 도 개별 변수 의 분포 를 함께 보여 줄 수 있 어서 좋 다 . 위 그림 에서 는 각 축 이 5 가지 요약 수치 도 명시 적 으로 보여 주 고 있 다 . 
 수염 이 끝 나 는 위치 에 대한 제안 은 어떻게 하 면 중요 한 데이터 를 잘 드러낼 것 인지 에 대한 고민 끝 에 내려진 것 이 며 현재 에 도 여전히 의미 가 있 다 . 반면 강조 표시 를 X 표 로 해야 한다거나 대문자 로 해야 한다는 식 의 제안 은 종이 와 팬 으로 수작업 을 하 던 당시 의 상황 을 염두 에 둔 제안 이 므로 현재 에 는 다소 달리 해석 할 여지 가 있 다 . 이 와 같이 어떠 한 지혜 가 어떤 맥락 에서 어떤 고민 을 거쳐 얻 어 진 것 인지 를 잘 이해 하 기 위해 노력 하 면 이 지혜 를 현재 내 가 겪 고 있 는 상황 하 에서 어떻게 변형 하 여 잘 활용 할지 에 대해서 도 더 잘 생각 해 볼 수 있 을 것 이 다 . 
 이전 글 : 구글 애널리 틱 스 API 를 이용 한 캠페인 분석 ( 2 )