STUDY_SEONMIN

DAY27 - 베르누이 분포와 이항분포 본문

EDUCATION/DSS Online 6기

DAY27 - 베르누이 분포와 이항분포

Kululu_ 2021. 2. 26. 10:08

베르누이 분포와 이항분포에 대해 알아보기 전 먼저 "베르누이 시행"이라는 개념을 살펴보겠습니다.

 

베르누이 시행

- 결과가 두 가지 중 하나로만 나오는 실험이나 시행

- 동전을 한 번 던져 앞면 또는 뒷면이 나오게 하는 것도 베르누이 시행이다.

 

이러한 베르누의 시행의 결과를 숫자로 바꾼 것을 "베르누이 확률변수"라고 합니다.

베르누이 시행의 결과를 숫자로 나타낼 때는 보통 우리가 관심이 있는 결과를 1, 그 반대의 결과를 0으로 표현합니다.

 

그리고 베르누이 확률변수가 이루는 분포를 베르누이 분포라고합니다.

 

베르누이 분포

- 베르누이 확률변수가 이루는 분포

- 어떤 확률변수가 베르누이 분포를 따를 때 다음과 같이 표현합니다.

$$ X ~ \text{Bern}(x;\mu) $$

- 베르누이 분포의 확률질량함수는 다음과 같습니다.

$$ \text{Bern}(x;\mu) =  \begin{cases} \mu & \text{if }x=1, \\ 1-\mu & \text{if }x=0 \end{cases} $$

즉 베르누이 분포의 확률질량함수는 $x=1$일 때는 $\mu$, $x=0$일 때는 $1-\mu$의 값을 갖는 함수입니다.

 

이를 하나의 수식으로 표현하면

$$ \text{Bern}(x;\mu) = \mu^x(1-\mu)^(1-x) $$

 

파이썬에서 베르누이 분포를 구현하기 위해서는 scipy.stats 의 bernoulli 클래스를 사용합니다.

이렇게 하면 $\mu = 0.6$인 베르누이 확률변수 rv가 만들어지는 것입니다.

해당 객체를 이용해서 데이터를 생성할 수도 있고 확률질량함수를 사용할 수도 있습니다.

 

만든 객체에 내장된 "rvs"라는 함수를 이용해 베르누이 분포를 따르는 데이터를 만들어낼 수 있습니다.

 

또한 만든 객체에 내장된 "pmf"함수를 이용하면 베르누이 확률변수의 확률질량함수를 사용할 수 있습니다.

 

- 베르누이 분포의 모멘트( 기대값과 분산 )은 각각 $\mu$와 $\mu(1-\mu)$ 값을 가집니다.

$$ E[X] = \sum_{x_i \in \Omega} x_ip(x_i) \\ = 1\cdot \mu + 0\cdot (1-\mu) \\ = \mu $$

$$ Var[X] = \sum_{x_i \in \Omega} (x_i - \mu)^2 p(x_i) \\ = (1-\mu)^2 \cdot \mu + (0 - \mu)^2 \cdot (1-\mu) \\ = \mu(1-\mu) $$

 

 

이항분포

- 베르누이 시행을 $N$번 반복하여서 $1$이 나오는 횟수를 확률변수 $X$라고 할 때 이러한 확률변수를 "이항분포"를 따른다고 합니다.

$$ X ~ \text{Bin}(x; N, \mu)$$

- 이항분포의 모수 중 $\mu$는 베르누이 시행의 $\mu$값을 의미합니다.

- 이항분포 확률변수의 확률질량함수는 다음과 같습니다.

$$ Bin(x; N, \mu) = \binom N x \; \mu^x(1-\mu)^{N-x} $$

 

이항분포 확률변수는 베르누이 시행을 $N$번 반복하여 $1$이 나온 횟수라고 하였기 때문에 베르누이 확률변수 $Y$에서 나온 표본 $N$개를 모두 합한 값이라고 할 수 있습니다.

$$ x = \sum_{i=1}^N y_i $$

$$ X = \sum_{i=1}^N Y_i $$

 

이를 이용해 이항분포 확률변수의 모멘트를 계산하면 다음과 같습니다.

$$ Y ~ \text{Bern}(x;\mu) \\ X ~ \text{Bin}(x; N, \mu) $$

$$ E[X] = E[\sum_{i=1}^N Y_i] \\ = \sum_{i=1}^N E[Y_i] \\ = \sum_{i=1}^N \mu = N\mu$$

 

분산을 계산할 때는 베르누이 시행을 반복하는 것은 서로 독립이라는 점을 이용합니다.

$$ Var[X] = Var[\sum_{i=1}^N Y_i] \\ = \sum_{i=1}^N Var[Y_i] \\ = \sum_{i=1}^N \mu(1-\mu) \\ = N\mu(1-\mu) $$

 

- 이항분포는 scipy.stats의 binom 클래스를 이용해 구현할 수 있습니다.

Comments