Keywords
box plot, histogram, quantile plot, quantile-quantile plot, q-q plot, scatter plot
Box Plot
numerical data를 5개의 수로 정리하여 그래프로 시각화한 그래프이다.
Five-Number Summary
minimum, Q1, median(=Q2), Q3, maximum
box의 양 끝은 Q1과 Q3이다. 따라서 IQR은 박스의 길이가 된다. (IQR = Q3 - Q1)
median은 박스 안에 한 선(line)으로 표시된다.
Whiskers: 박스의 양끝 밖으로 선이 뻗어 min/max까지 이어진다.
Outliers: 특정 threshold를 벗어나는 점들을 outlier라고 하고, 따로 점으로 표기된다.
일반적으로 outlier는 [Q1 - 1.5*IQR, Q3 + 1.5*IQR]을 벗어나는 영역을 의미한다.
Example
데이터가 $X = [21, 23, 24, 25, 29, 33, 49]$일 때 box plot을 그려보자.
먼저 중앙값 Q2를 구하면 Q2=25이다.
Q1은 lower half [21, 23, 24]의 median이므로 Q1=23
Q3는 upper half [25, 29, 49]의 median이므로 Q3=29
따라서 outlier의 범위는 [23-1.5*10, 33+1.5*10] = [8, 48]에 없는 데이터이다.
(※ upper/lower half를 구할 때 median을 포함하는 방법, 포함하지 않는 방법 두 가지가 있다.)
Histogram
히스토그램은 데이터의 분포를 시각화 하는데 효과적이다. bar의 높이는 해당 구간의 개수가 된다.
데이터가 nomial이라면 각 $X$의 개수(frequency, count)가 되고, 데이터가 numeric이라면 $X$의 범위를 분할하여 연속적인 파티션의 개수를 나타낸다. 이때 subranges는 buckets, bins라고도 불리고 일반적으로 각 width는 같도록 한다.
히스토그램의 subrange의 width가 일정하지 않게 그릴 수도 있다. 이 경우, 히스토그램의 height는 quantitㅛ/width로 계산하여 나타낸다.
Quantile Plot and Q-Q Plot
quantile plot(분위수 그림)은 일변량 데이터(univariate data)의 분포를 보는데 유용하다. $x_i$를 오름차순으로 정렬한 데이터, $f_i$는$x_i$의 $100f_i \text{%}$ 위치라고 하자. $f_i$는 보통 아래와 같이 정의한다.
\[ f_i = \cfrac{i - 0.5}{N} \]
Quantile-Quantile Plot, Q-Q Plot
두 확률 분포를 그들의 quantile에 맞추어서 그린 그래프이다.
Q-Q plot을 그리면 선형성을 볼 수 있다. 보통 $y=x$ 기준으로 위/아래에 있는 경우로 나눈다.
- $y=x$와 거의 같은 경우, $x, y$의 분포는 identical하다고 한다.
- $y=x$보다 위에 있는 경우, $y$의 분포가 더 흩어져(넓게) 있다.
- $y=x$보다 아래에 있는 경우, $x$의 분포가 더 흩어져(넓게) 있다.
- 종종 $S$자 모양의 그래프를 나타낼 수 있는데, 어느 한 쪽의 분포가 skewed 되거나 tail이 매우 길다고 할 수 있다.
Differenct number of values
$x = [1, 2, 3, 4, 5], \ y = [1, 2, 3, 4, 5, 6]$인 경우, 한쪽의 데이터를 interpolation하여 그린다.
위의 경우 $(x_1, y_1)$, (x_5, y_6)를 align하고 interpolation한다.
Scatter Plot
직교좌표계에 2 변수의 분포를 그린다. 두 변수의 상관성이 있다면 우상향(음의 상관성이라면 우하향)하는 경향을 보인다.
하나의 plot에 두가지 상관성이 나타날 수도 있다.
'스터디 > 데이터사이언스' 카테고리의 다른 글
[Data Science] Data Preprocessing (1) - Overview (0) | 2023.03.21 |
---|---|
[Data Science] 상관계수, Pearson, Spearman, Kendall (0) | 2023.03.17 |
[Data Science] Attribute Types (0) | 2023.03.09 |
[pandas] [판다스] DataFrame 조작하기, MultiIndex (0) | 2023.02.15 |
[pandas] [판다스] 판다스 기초 (0) | 2023.02.15 |