logo

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

상자 그림이란?

정의1

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

설명

  • 3분위수, 중앙값, 1분위수를 각각 Q3Q3, Q2Q2, Q1Q1이라 표기한다.
  • Q3Q3Q1Q1의 차를 IQRInterQuartile Range이라 한다.
  • 최댓값을 Q4Q4, 최솟값을 Q0Q0으로 표기한다.

가운데의 사각형을 상자box, 상자 위 아래의 선분을 수염whisker이라 부르기 때문에 상자-수염 그림이라고도 부른다. 수염 끝의 값은 최댓값, 최솟값 뿐만 아니라 다르게 표시되기도 한다. 데이터를 xx라고 할 때, 최댓값과 최솟값은 각각 Q4=max(xmin(Q3+1.5IQR,max(x))Q0=min(max(Q11.5IQR,min(x))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=[9877766532]T x = \begin{bmatrix}9 & 8 & 7 & 7 & 7 & 6 & 6 & 5 & 3 & 2\end{bmatrix}^{T} xxQ3Q3, Q2Q2, Q1Q1을 구한다. Q3=third quartile=7.0Q2=median=6.5Q1=first quartile=5.25 \begin{align*} Q3 &= \text{third quartile} = 7.0 \\ Q2 &= \text{median} = 6.5 \\ Q1 &= \text{first quartile} = 5.25 \end{align*} Q3Q3, Q2Q2, Q1Q1을 수평선으로 표시하고, 상자를 그린다.

xx에서 이상치를 제거한 뒤의 최댓값 Q4Q4, 최솟값 Q0Q0을 구한다.

min(Q3+1.5IQR,max(x))=min(9.625,9.0)=9.0    Q4=max(x9.0)=9.0 \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(Q11.5IQR,min(x))=max(2.625,2.0)=2.625    Q0=min(x2.625)=3.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

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

프로그래밍 언어

특징

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