다운로드
작성자: admin 작성일시: 2018-06-04 22:32:33 조회수: 683 다운로드: 34
카테고리: 기초 수학 태그목록:

확률적 데이터

확률적 데이터와 분포 특성

항상 동일한 값이 나오는 데이터를 결정론적 데이터, 예측할 수 없고 동일하지 않을 수 있는 값이 나오는 데이터를 확률적 데이터라고 한다. 확률적 데이터에서는 데이터 하나 하나의 값이 아니라 어떤 값이 자주 나오고 어떤 값이 드물게 나오는가하는 특성 즉 데이터 집합의 분포 특성이 중요하다. 여기에서는 데이터 집합의 분포 특성을 나타내는 여러가지 특징값을 알아보자.

샘플 평균

우리가 보통 데이터의 평균(mean, average)라 부르는 값의 정확한 명칭은 샘플 평균(sample mean, sample average)이다. 샘플 평균은 데이터 분포의 대략적인 위치를 나타낸다. 샘플 평균의 기호로는 알파벳 $m$ 또는 데이터를 나타내는 변수 기호 위에 bar를 붙인 $\bar x$ 기호를 사용한다.

$$ m = \bar{x} = \dfrac{1}{N}\sum_{i=1}^{N} x_i $$

이 식에서 $N$는 자료의 갯수, $i = 1, \cdots, N$는 자료의 순서 혹은 인덱스(index)를 뜻하고, $x_i$는 $i$번째 자료의 값을 뜻한다.

샘플 중앙값

샘플 중앙값(sample median)은 전체 자료를 크기별로 정렬하였을 때 가장 중앙에 위치하게 되는 값을 말한다. 샘플 중앙값은 몇 개의 정의가 존재하지만 많이 쓰이는 정의는 다음과 같다.

전체 샘플의 갯수가 $N$인 경우,

  • $N$이 홀수이면: 중간값은 $(n + 1)/2$번째 샘플의 값
  • $N$이 짝수이면: 중간값은 $n/2$번째 샘플의 값과 $n/2 + 1$번째 샘플의 값의 평균

샘플 최빈값

샘플 최빈값(most frequent value, mode)은 데이터의 값 중 가장 빈번하게 나오는 값을 말한다. 이산 확률 변수의 샘플 데이터에서는 최빈값을 구할 수 있지만 연속 확률 분포의 샘플 데이터에서는 동일한 값이 나올 확률이 0(zero)이므로 최빈값을 구하는 것이 어렵다. 따라서 히스토그램과 같이 일정한 구간을 분할한 다음 각 구간의 대표값을 이용하여 최빈값의 근사치를 구한다.

파이썬을 사용한 샘플 평균 계산

파이썬에서는 다음과 같은 numpy 함수를 사용하여 각종 대표값을 계산할 수 있다.

  • mean(): 샘플 평균 계산
  • median(): 샘플 중앙값 계산
  • histogram(): 데이터를 구간으로 나누어 각 구간에 들어가는 데이터갯수 계산.
  • argmax(): 히스토그램 명령과 결합하여 샘플 최빈값 계산
In:
np.random.seed(0)
x = np.random.normal(size=1000)
In:
np.mean(x), np.median(x)
Out:
(-0.045256707490195384, -0.058028034799627745)
In:
ns, bins = np.histogram(x, bins=np.linspace(-10,10,20))
In:
M = np.argmax(ns)
bins[M], bins[M+1]
Out:
(-0.52631578947368496, 0.52631578947368318)

연습 문제 1

  1. NumPy를 사용하여 100개의 숫자를 무작위로 생성한 후 히스토그램을 그리고 샘플 평균을 구한다.
  2. 1번과 같이 100개의 숫자 생성 및 샘플 평균 계산을 50번 반복하여 50개의 샘플 평균을 구한다.
  3. 2번에서 구한 50개의 샘플 평균의 히스토그램을 그리고 1번에서 구한 히스토그램과 겹쳐서 그린다.

분산과 표준 편차

데이터 집합의 특성을 나타내기 위해 사용되는 또다른 특징값으로는 분산(variance) 또는 표준 편차(standard deviation)이 있다. 평균이나 기댓값이 분포의 위치를 대표하는 것이라면 분산은 분포의 폭(width)을 대표하는 값이다. 표준 편차는 분산에 대한 양의 제곱근(square root)값이다.

$$ \text{표준 편차} = \sqrt{\text{분산}} $$

분산도 평균과 마찬가지로 자료 값 집합에 대한 샘플 분산과 확률 분포에 대한 분산을 정의할 수 있다.

샘플 분산

샘플 분산은 다음처럼 구한다. 식에서 $x_i$는 $N$개의 자료 중 $i$번재의 자료를 나타내고 $m$은 샘플 평균이다.

$$ s^2 = \dfrac{1}{N}\sum_{i=1}^{N} (x_i-m)^2 $$

위의 그림에서 볼 수 있듯이 이 식은 자료값과 평균 사이의 거리를 의미한다. 다만 자료값이 평균보다 작을 때는 음수가 나오므로 제곱을 하여 모두 양수로 만들어 준 것이다.

위 식에서 구한 샘플 분산은 정확하게 말하면 편향 오차를 가진 편향 샘플 분산(biased sample variance)이다. 이와 대조되는 비편향 샘플 분산(unbiased sample variance)은 다음과 같이 구한다.

$$ s^2_{\text{unbiased}} = \dfrac{1}{N-1}\sum_{i=1}^{N} (x_i-m)^2 $$

파이썬을 사용한 샘플 분산 및 샘플 표준 편차의 계산

파이썬에서 샘플 분산과 샘플 표준 편차를 구할 때는 다음 함수를 사용한다.

In:
sp.random.seed(0)
x = sp.stats.norm(0, 2).rvs(1000)  # mean=0, standard deviation=2
In:
np.var(x)
Out:
3.8969378252486169
In:
np.var(x, ddof=1)  # unbiased variance
Out:
3.9008386639125292

샘플 왜도

평균과의 거리의 세제곱을 이용하여 구한 특징값을 왜도(skewness)라고 한다. 왜도가 0이면 대칭이므로 왜도는 분포의 대칭성을 알아보는 지표가 된다.

$$ \frac{\tfrac{1}{N} \sum_{i=1}^N (x_i-\overline{x})^3}{ \sqrt{\tfrac{1}{N-1} \sum_{i=1}^N (x_i-\overline{x})^2}^{\,3}} = \frac{\tfrac{1}{N} \sum_{i=1}^N (x_i-\overline{x})^3}{\left[\tfrac{1}{N-1} \sum_{i=1}^N (x_i-\overline{x})^2\right]^{3/2}}\ $$

샘플 첨도

평균과의 거리의 네제곱을 이용하여 구한 특징값을 첨도(kurtosis)라고 한다. 첨도는 데이터가 중앙에 몰려있는 정도를 정밀하게 비교하기 위해 쓰인다.

$$ \frac{\tfrac{1}{N} \sum_{i=1}^N (x_i - \overline{x})^4}{\left(\tfrac{1}{N} \sum_{i=1}^N (x_i - \overline{x})^2\right)^2} - 3 $$

샘플 모멘트

분산, 왜도, 첨도를 구하기 위해 제곱, 세제곱, 네제곱을 하는 것처럼 더 고차의 제곱을 이용하여 구한 특징값을 모멘트(moment)라고 한다. $N$제곱을 이용하여 구한 모멘트를 $N$차 모멘트라고 한다. 따라서 평균은 1차 모멘트, 분산은 2차 모멘트이다 왜도와 첨도는 3차 모멘트와 4차 모멘트에서 유도된 값이다.

두 확률적 데이터의 비교

두 확률적 데이터를 비교할 때는 각각의 데이터 값으로 비교할 수 없고 두 확률적 데이터의 특징값을 사용하여 비교한다. 평균, 분산, 왜도, 첨도까지의 1~4차 모멘트가 같으면 같은 확률적 데이터로 보는 것이 일반적이다.

질문/덧글

질문 skyj*** 2018년 7월 21일 8:37 오전

"두 확률적 데이터의 비교"에서 질문이 있습니다.
"평균, 분산, 왜도, 첨도까지의 1~4차 모멘트가 같으면 같은 확률적 데이터로 보는 것이 일반적이다." 라고 하셨는데요.
"같다"에 대해 명확하게 이해가 안되는 부분이 있습니다. 제가 이해하기론 소수점자리수 까지 같아야 한다라는 것을 의미한 것은 아닌것 같아서요.
같다는 것을 보이려면 샘플 t-test나 signed rank test 같은 걸로 확률적으로 유의미한 차이가 없다는 것을 보이면 되려나요?
감사합니다.

답변: 질문 관리자 2018년 7월 21일 8:45 오전

signed rank test는 두 paired set이 같은 분포에서 나왔다는 것을 보이는 non-parametric test이고 본문에서 이야기하고자 하는 것은 그런 방법을 쓰지 않고 단순히 mean-equality test, variance-equality test 등을 사용하여 일정 차수 이상의 모멘트값만 같으면 관행적으로(practically) 같은 분포에서 나온 것으로 본다는 의미입니다.