탐색적 데이터 분석(EDA : exploratory data analysis)
- 기존의 통계학에서는 추론, 즉 적은 표본을 가지고 더 큰 모집단에 대한 결론을 도출하기 위한 일련의 복잡한 과정에 관해 다루었다. 1962년 존 투키는 "데이터 분석의 미래"라는 논문을 통해 통계적 추론을 하나의 구성 요소로보는 데이터 분석(data analysis)이라는 새로운 과학적 학문을 제안했다. 이후 탐색적 데이터 분석이라는 분야는 1997년 존 투키의 "탐색적 데이터 분석"을 통해 정립되었다.
- 탐색적 데이터 분석은 데이터의 주요 특성을 요약하기 위해 데이터를 분석하는 접근법이며, 주로 시각적인 방법을 사용한다. 예시로는 박스 플롯, 히스토그램 등이 있다.
1. 5. 데이터 분포 탐색하기
용어 | 의미 |
상자그림(box plot) | 투키가 데이터의 분포를 시각화하기 위한 간단한 방법으로 소개한 그림 |
도수분포표(frequency table) | 어떤 구간에 해당하는 수치 데이터 값들의 빈도를 나타내는 기록 |
히스토그램(histogram) | x축은 구간들을, y축은 빈도수를 나타내는 도수 테이블의 그림 |
밀도 그림(density plot) | 히스토그램을 부드러운 곡선으로 나타낸 그림. 커널밀도추정을 주로 사용한다. |
1. 5. 1. 백분위수와 상자그림
- 상자그림(box plot)은 백분위수를 이용해 데이터의 분산을 시각화하는 방법이다.
용어 | 의미 |
최솟값(Minimum) | 이상치를 제외하고 가장 작은 값. 상자를 기준으로 수염 아래의 끝에 있는 수평선. |
최댓값(Maximum) | 이상치를 제외하고 가장 큰 값. 상자를 기준으로 수염 위의 끝에 있는 수평선. |
이상치(outlier) | 그림에서 수염 외부에 점으로 존재한다. |
수염(whisker) | 상자를 기준으로 위아래로 점선으로 나타난 부분. |
1분위수($Q_1$/25백분위수) | 상자그림에서 상자의 아래쪽을 의미한다. |
2분위수($Q_2$/50백분위수) 중간값(Median) |
상자그림에서 상자 안에 있는 굵은 선으로 표시한다. |
3분위수($Q_3$/75백분위수) | 상자그림에서 상자의 위쪽을 의미한다. |
IQR | $IQR=Q_3-Q_1$ |
1. 5. 2. 도수분포표와 히스토그램
- 도수분포표는 변수의 범위를 동일한 크기의 구간으로 나눈 다음, 각 구간마다 몇개의 변수 값이 존재하는지를 보여주기 위해 사용된다.
- 히스토그램은 바로 이 도수분포표를 시각화하는 방법이다. R에서 hist 함수로 나타낸다.
hist(x, …)
# S3 method for default
hist(x, breaks = "Sturges",
freq = NULL, probability = !freq,
include.lowest = TRUE, right = TRUE,
density = NULL, angle = 45, col = NULL, border = NULL,
main = paste("Histogram of" , xname),
xlim = range(breaks), ylim = NULL,
xlab = xname, ylab,
axes = TRUE, plot = TRUE, labels = FALSE,
nclass = NULL, warn.unused = TRUE, …)
-
그래프에 빈 구간들이 있을 수 있다.
-
구간은 동일한 크기를 갖는다.
-
구간의 수(혹은 구간의 크기)는 사용자가 결정할 수 있다.
-
빈 구간이 있지 않은 이상, 막대 사이는 공간 없이 서로 붙어 있다.
통계학에서 말하는 모멘트
- 통계학에서 위치와 변이는 각각 분포의 일차 및 이차 적률(혹은 모멘트)이라고 한다. 삼차, 사차 모멘트는 각각 왜도(skewness), 첨도(kutosis)라고 부른다. 왜도는 데이터가 큰 값이나 작은 값 쪽으로 얼마나 비스듬히 쏠려 있는지를 나타내고, 첨도는 데어티가 극단값을 갖는 경향성을 나타낸다. EDA에서는 모멘트 값들을 직접 구하기보다는 상자그림이나 히스토그램과 같이 시각화해서 직접 확인한다.
1. 5. 3. 밀도 추정
- 밀도 그림은 데이터의 분포를 연속된 선으로 보여준다. 다시 말해서 좀 더 부드러운 히스토그램이라고 생각해볼 수 있다. 커널밀도추정을 통해 데이터로부터 직접 계산한다. R의 density 함수로 나타낸다.
density(x, …)
# S3 method for default
density(x, bw = "nrd0", adjust = 1,
kernel = c("gaussian", "epanechnikov", "rectangular",
"triangular", "biweight",
"cosine", "optcosine"),
weights = NULL, window = kernel, width,
give.Rkern = FALSE,
n = 512, from, to, cut = 3, na.rm = FALSE, …)
※ EDA에서 상자그림과 히스토그램을 제외한 다양한 방법과 밀도추정 부분에서 커널밀도추정 방법에 대한 심도있는 추가적인 학습이 필요하다.
1. 6. 이진 데이터와 범주 데이터 탐색하기
용어 | 의미 |
최빈값(mode) | 데이터에서 가장 자주 등장하는 범주 혹은 값 |
기댓값(expected value) | 범주에 해당하는 어떤 수치가 있을 때, 범주의 출현 확률에 따른 평균 |
막대도표(bar chart) | 각 범주의 빈도수 혹은 비율을 막대로 나타낸 그림 |
파이그림(pie chart) | 각 범주의 빈도수 혹은 비율을 원의 부채꼴 모양으로 나타낸 그림 |
막대도표는 어떤 범주형 자료를 보여줄 때 주로 사용되며 가장 흔한 시각화 방법이다. R에서 barplot 함수로 나타낸다.
barplot(height, …)
# S3 method for default
barplot(height, width = 1, space = NULL,
names.arg = NULL, legend.text = NULL, beside = FALSE,
horiz = FALSE, density = NULL, angle = 45,
col = NULL, border = par("fg"),
main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
xlim = NULL, ylim = NULL, xpd = TRUE, log = "",
axes = TRUE, axisnames = TRUE,
cex.axis = par("cex.axis"), cex.names = par("cex.axis"),
inside = TRUE, plot = TRUE, axis.lty = 0, offset = 0,
add = FALSE, ann = !add && par("ann"), args.legend = NULL, …)
# S3 method for formula
barplot(formula, data, subset, na.action,
horiz = FALSE, xlab = NULL, ylab = NULL, …)
막대도표와 히스토그램은 매우 유사하다. 다만 막대도표의 x축은 각 요인변수(factored variable)의 서로 다른 범주들을 나타내는 반면, 히스토그램의 x축은 수치적으로 나타낼 수 있는 하나의 변수의 값을 의미한다. 또한 히스토그램에서 막대들은 일반적으로 서로 붙어 있고, 중간에 틈이 있다는 것은 그 부분에 해당하는 값들이 존재하지 않는다는 것을 의미하지만 막대도표에서 막대들은 서로 떨어져있다.
1. 6. 1. 최빈값
- 데이터에서 가장 자주 등장하는 값 혹은 값들. 범주형 데이터를 분석하는데 간단히 사용된다. 하지만 수치데이터에는 잘 사용하지 않는다.
1. 6. 2. 기댓값
공간 $S$를 갖는 이산형 확률변수 $X$의 pmf가 $f(x)$이고 총합
$\sum_{x\in{S}}^{}u(x)f(x)$
가 존재하면, 그 합을 $u(X)$의 수학적 기댓값(mathematical expectation) 또는 기댓값(expected value)이라 하고 $E[u(X)]$로 표기한다. 즉,
$E[u(X)]=\sum_{x\in{S}}^{}u(x)f(x)$.
간단히 말하면 기댓값은 가중평균과 같은 꼴이다.
※ 범주 데이터와 기댓값에 대한 추가적인 학습이 필요하다.
<참고자료>
1. Peter Brucs & Andrew Brucs (2018), 데이터 과학을 위한 통계. 한빛미디어. 이용준 옮김.
2. Exploratory data analysis, Wikipedia(en.wikipedia.org/wiki/Exploratory_data_analysis)
3. Box plot, Wikipedia(en.wikipedia.org/wiki/Box_plot)
4. Histogram, Wikipedia(en.wikipedia.org/wiki/Histogram)
5. Density estimation, Wikipedia(en.wikipedia.org/wiki/Density_estimation)
6. R 코드 정보, R Documentation(www.rdocumentation.org/)
7. Hogg & Tanis & Zimmerman (2016), 수리 통계학. 자유아카데미. 백장선 & 송영숙 옮김.
'공부 > 데이터 과학을 위한 통계(한빛미디어)' 카테고리의 다른 글
6. 데이터와 표본 (0) | 2020.10.06 |
---|---|
5. 다변수 탐색 (0) | 2020.10.06 |
4. 상관관계 (0) | 2020.10.06 |
2. 간단한 추정(위치 추정/변이 추정) (0) | 2020.10.05 |
1. 데이터의 분류(정형/반정형/비정형 데이터) (0) | 2020.09.26 |