728x90

변수는 랜덤하게 발생하거나, 일정한 확률을 가지고 발생합니다.

일정한 확률을 바탕으로 발생하는 변수를 확률변수(Random Variable)라고 합니다.

 

확률변수들이 모여 확률분포를 이루게 됩니다.

 

데이터의 확률분포를 알고 있다면, 

일어날 수 있는 사건의 확률을 알 수 있고, 확률에 근거한 판단을 내릴 수 있습니다. 

 

확률분포는 주사위처럼 결괏값이 떨어져 있는 이산형 확률분포

키와 몸무게와 같이 연속적으로 변하는 값들로 이뤄진 연속형 확률분포가 있습니다.

 

이산형 확률분포에는

베르누이 시행, 이항분포, 포아송분포, 기하분포, 음이항분포, 초기하분포 등이 있습니다.

 

연속형 확률분포에는

균등분포,  정규분포, 표준정규분포, 지수분포, 감마분포, 카이제곱분포, F분포, t분포 등이 있습니다.

 

 

음이항분포(Negative Binomial Distribution)

결괏값이 성공과 실패, 합격과 불합격, 앞면과 뒷면 등과 같이,

단 두 가지의 가능성만 있을 때 이를 베르누이 시행이라고 합니다. 

 

베르누이 시행은 한 번의 시행을 전제로 하며, 

이러한 베르누이 시행을 반복적으로 행한 결과,

첫번째 성공할 때까지 시행 횟수에 따른 확률은 기하분포를 따릅니다.

 

그러면 몇번 성공할 때 까지 시행 횟수에 따른 확률은 어떻게 될까요?

바로 음이항분포를 따릅니다. 

 

다섯 번 도전해서 처음 성공하는 경우의 수는 다음과 같습니다. (기하분포)

 

성공, 실패, 실패, 실패, 실패 //

실패, 성공, 실패, 실패, 실패 //

실패, 실패, 성공, 실패, 실패 //

실패, 실패, 실패, 성공, 실패 //

실패, 실패, 실패, 실패, 성공

 

즉, 경우의 수는 다섯가지이며,

한 번의 성공을 위해 네 번의 실패가 있어야 합니다. 

 

다섯번 도전해서, 두 번 성공할 경우의 수는 10가지 입니다.

 

성공, 성공, 실패, 실패, 실패 // 두번 성공할 때까지 시행횟수는 두 번

성공, 실패, 성공, 실패, 실패 // 두번 성공할 때까지 시행횟수는 세 번

성공, 실패, 실패, 성공, 실패 // 두번 성공할 때까지 시행횟수는 네 번

성공, 실패, 실패, 실패, 성공 // 두번 성공할 때까지 시행횟수는 다섯 번(o)

실패, 성공, 성공, 실패, 실패 // 두번 성공할 때까지 시행횟수는 세 번

실패, 성공, 실패, 성공, 실패 // 두번 성공할 때까지 시행횟수는 네 번

실패, 성공, 실패, 실패, 성공 // 두번 성공할 때까지 시행횟수는 다섯 번(o)

실패, 실패, 성공, 성공, 실패 // 두번 성공할 때까지 시행횟수는 네 번

실패, 실패, 성공, 실패, 성공 // 두번 성공할 때까지 시행횟수는 다섯 번(o)

실패, 실패, 실패, 성공, 성공 // 두번 성공할 때 까지 시행횟수는 다섯 번(o)

 

다섯번 도전 중 다섯번째 도전할 때,

두번째 성공이 발생할 경우의 수는 (o) 표시된 바와 같이 4번입니다.(음이항분포)

도전횟수와 성공횟수에서 1을 빼주는 이유는,

다섯번째 도전할 때, 두번째의 성공이 발생하므로, 

다섯번째는 이미 확정된 상태입니다.

 

나머지 네번의 도전에서 한번의 성공이 있어야 하고,

세번의 실패가 있어야하기 때문입니다.

 

연구 결과, 어떤 사건이 성공할 확률은 0.7 즉 70%라고 가정하겠습니다.

따라서 실패할 확률은 1에서 성공할 확률 0.7을 뺀 0.3이며, 30%입니다. 

이 사건이 한 번 발생하면 베르누이 시행과 동일하며,

다섯번의 도전에서 두번째 성공이 발생할 확률을 구해보겠습니다. 

x는 도전횟수이며, 예제에서는 5입니다.

k는 성공횟수이며, 예제에서는 2입니다.

p는 성공확률이며, 예제에서는 0.7입니다.

 

이 식의 의미는 다음과 같습니다.

x번 도전하며, x번째도전에서 k번째 성공이 발생하므로 1을 빼주고,

k번째 성공은 x번째 도전에서 이미 발생하므로 1을 빼준 상태에서,

(x-1)번의 도전 중에 (k-1)번 성공할 경우의 수를 구합니다. 

 

여기에 k번째 성공을 제외하고, (k-1)번을 성공하므로,

성공확률 p에 (k-1)번 제곱을 합니다.

 

그러면 전체 도전에서 실패하는 횟수는,

전체 도전횟수 x에서 k번 성공을 제외한 (x-k)가 됩니다.

이를 실패확률 (1-p)에 제곱을 합니다.

 

마지막으로 k번째는 성공할 것을 가정하므로,

k번째에 한 번 성공할 확률 p를 곱합니다.

 

p를 (k-1)번 제곱한 것과 마지막 성공확률 p를 곱하므로,

이를 간단히 하면 p를 k번 제곱한 것과 같습니다. 

따라서 음이항분포의 최종 식은 다음과 같습니다. 

다섯번째 도전에서 두번째 성공이 70%의 성공확률로 발생할 확률은 다음과 같습니다.

수식을 이해하기 위해 직접 구하였으나,

scipy의 nbinom.pmf를 이용하여 간단히 구할 수도 있습니다.

pmf는 probability mass function의 약자로서, 

지금처럼 사건의 발생 횟수라는 띄엄띄엄 있는 결괏값들을 구할 때,

특정 값에 대한 확률을 나타내는 함수를 뜻합니다.

 

nbinom.pmf의 첫 번째 인자는 기준이 되는 실패횟수이며,

두 번째 인자는 성공횟수를, 세 번째 인자는 성공확률을 입력합니다.

첫번째 인자가 전체 시행횟수가 아닌 실패횟수라는 사실을 주의하세요.

 

음이항분포의 기댓값을 구하겠습니다.

즉, 평균적으로 k번 성공하려면 몇 번 도전해야하는지에 관해서 입니다.

 

성공확률을 p라고 할 때, 음이항분포의 기댓값은 다음과 같습니다.

성공확률은 70%이며, 평균적으로 두 번 성공하려면, 약 2.86번은 도전을 해야 합니다.

nbinom 메서드를 이용하면 다음과 같습니다. 

nbinom 메서드는 두 번 성공하려면, 기본적으로 두 번은 도전해야하며, 

두 번 도전 이외에 몇번의 도전이 필요한지를 계산합니다. 

즉, 두 번 도전 이외에 0.86번을 도전해야 두 번의 성공을 예상할 수 있습니다.

 

두 번을 별도로 계산하지 않고, 메서드에서 바로 사용하는 방법은 다음과 같습니다.

loc인자는 시작하는 위치를 뜻합니다. 

여기서는 두 번의 성공을 위해 두 번은 최소 도전해야하므로, 시작점을 2로 잡습니다.

음이항분포의 분산을 구하겠습니다.

즉, 기댓값을 통해 어느 정도 도전해야 성공하는지 파악은 하였으나,

그 결괏값을 신뢰할 수 있는 범주는 어느 정도인지 파악할 수 있습니다.

 

음이항분포의 분산은 다음과 같습니다.

성공확률이 70%이고, k번 성공하고자 하는 경우 분산은 다음과 같습니다.

binom메서드를 활용해도 결과는 동일합니다.

분산은 편차를 제곱한 값이므로, 데이터의 퍼진 정도가 제곱이 되어 있습니다.

이를 원래의 수준으로 되돌리기 위해, 루트를 씌워서 제곱근을 구합니다. 

이렇게 구해진 값을 표준편차라고 하며, numpy의 sqrt를 이용합니다.

 

이를 활용하여 평균적으로 예상되는 도전 횟수는 다음과 같습니다.

평균적으로 최소1.75번의 도전에 성공하거나, 평균적으로 최대 3.96번의 시도 끝에 성공할 확률이 높다는 의미입니다.

 

다만 2번의 성공을 위해서는 최소한 2번의 도전이 필요합니다. .

따라서, 해석시에 최소 1.75번의 도전으로 해석해서는 안됩니다.

 

이항분포는 확률분포이며, 여기서의 분산은 확률변수의 모양을 결정지어 주는 요소입니다.

그래프의 개형을 그릴 때 참고요소이며, 최종해석은 달라져야 합니다.

 

여기서의 최종 해석은 최소 2번의 도전에 성공하거나,

평균적으로 최대 3.96번 시도시 성공할 확률이 높다는 의미입니다.

 

음이항분포 해석시 또 다른 주의사항은 음이항분포의 가정에 관해서 입니다. 

음이항분포는 앞서의 성공여부, 실패여부는 영향을 미치지 않는다고 가정합니다.

즉, 실패를 많이 했다고 해서, 이후의 성공의 가능성을 낮추지는 않는다고 가정하므로, 

기존의 실패로 인해 향후 성공가능성에 영향을 주는 경우에는 예측확률과 어긋날 가능성이 높습니다.

반응형

+ Recent posts