logo

상자 그림이란? 📂데이터과학

상자 그림이란?

정의1

데이터의 중앙값median, 1분위수first quartile, 3분위수third quartile, 최댓값maximum, 최솟값minimum을 아래와 같이 나타낸 그림을 상자 그림box plot이라 한다.

설명

  • 3분위수, 중앙값, 1분위수를 각각 $Q3$, $Q2$, $Q1$이라 표기한다.
  • $Q3$와 $Q1$의 차를 IQRInterQuartile Range이라 한다.
  • 최댓값을 $Q4$, 최솟값을 $Q0$으로 표기한다.

가운데의 사각형을 상자box, 상자 위 아래의 선분을 수염whisker이라 부르기 때문에 상자-수염 그림이라고도 부른다. 수염 끝의 값은 최댓값, 최솟값 뿐만 아니라 다르게 표시되기도 한다. 데이터를 $x$라고 할 때, 최댓값과 최솟값은 각각 $$ \begin{align*} Q4 &= \max( x \le \min(Q3 + 1.5\text{IQR}, \max(x)) \\ Q0 &= \min(\max(Q1 - 1.5\text{IQR}, \min(x)) \le x) \end{align*} $$ 으로 대체되기도 하는데 이상치outlier 판별을 염두하는 것이다.

그리는 법

주어진 데이터를 다음과 같다고 하자. $$ x = \begin{bmatrix}9 & 8 & 7 & 7 & 7 & 6 & 6 & 5 & 3 & 2\end{bmatrix}^{T} $$ $x$의 $Q3$, $Q2$, $Q1$을 구한다. $$ \begin{align*} Q3 &= \text{third quartile} = 7.0 \\ Q2 &= \text{median} = 6.5 \\ Q1 &= \text{first quartile} = 5.25 \end{align*} $$ $Q3$, $Q2$, $Q1$을 수평선으로 표시하고, 상자를 그린다.

$x$에서 이상치를 제거한 뒤의 최댓값 $Q4$, 최솟값 $Q0$을 구한다.

$$ \min(Q3+1.5\text{IQR}, \max(x)) = \min(9.625, 9.0) = 9.0 \\ \implies Q4 = \max(x \le 9.0) = 9.0 $$

$$ \max(Q1-1.5\text{IQR}, \min(x)) = \max(2.625, 2.0) = 2.625 \\ \implies Q0 = \min( x \ge 2.625) = 3.0 $$

$Q4$, $Q0$를 표시하고, 아웃라이어 $\text{outliers} \notin [Q0, Q4]$ (여기선 $2$)를 점으로 찍는다.

프로그래밍 언어

특징

위의 설명에 따라 박스가 칠해진 영역은 데이터의 절반(하위 75%의 값부터 상위 25%의 값까지)이 차지하는 영역이다. 히스토그램만큼의 자세한 정보를 주는 건 아니지만, 마치 히스토그램을 수직방향으로 위에서 보는 듯한 정보를 준다. 따라서 하나의 데이터에 대해서 그릴 때보다 여러개의 데이터에 대해서 그릴 때 장점이 크다. 네 종류의 데이터에 대한 분포를 히스토그램으로 그려서 비교해보려면 그림 4장이 필요하고 겹쳐서 보기도 힘들지만, 상자 그림으로 보면 한 장으로 쉽게 비교할 수 있다.