이항식(예/아니오)의 결론은 구매 혹은 구매하지 않음, 클릭 혹은 클릭하지 않음, 생존 혹은 사망 등과 같이 의사결정에 있어서 중요한 역할을 하므로, 분석에서 핵심이라고 할 수 있다.
이항분포의 핵심은 시행(trial)에 있는데, 각각의 시행은 정해진 확률로 두 가지 결과를 갖는다.
예를들어 동전던지기를 10번을 시행(trial)하는 것은 2가지 결과(앞면 혹은 뒷면)를 갖는 시행을 10번하는 이항실험이다. 이를 이진 결과라고 하며, 반드시 50대 50의 확률을 요하지는 않는다.
이항분포란 각 시행마다 그 성공확률(P)이 정해져 있을때, 주어진 시행 횟수(n)중에서 성공한 횟수(X)의 도수분포를 의미한다.
이항분포로 답하고자 하는 질문은 다음과 같은것이다. " 한 번의 클릭이 판매로 이어질 확률이 0.02일때, 200회 클릭으로 0회 매출을 관찰할 확률을 얼마인가?? "
# 한번의 클릭이 판매로 이어질 확률이 0.02일 때, 200회 클릭으로 0회 매출을 관찰할 확률은 얼마인가?
# 이항 확률분포
from scipy.stats import binom
binom.pmf(k =0, n = 200, p = 0.02)
>>>
0.017587946605721567
k는 전체시행 가운데 성공횟수, n은 전체 시행횟수, p는 독립시행의 성공확률
이항분포의 평균은 n X p이다. 분산은 n X p(1-p)이다.
시행횟수가 충분할 경우(특히 p가 0.50에 가까울때) 이항분포는 사실상 정규분포와 구별이 어렵다. 실제로 표본크기가 커질수록 이항확률을 구하기 위해서는 많은 계산이 필요하다 보니, 대부분의 통계 절차에서는 평균과 분산으로 근사화한 정규분포를 사용한다.
n이 크고 p가 0 또는 1에 너무 가깝지 않은 경우, 이항분포는 정규분포로 근사할 수 있다.
# 예시2
# 이항 확률 분포 : n번을 실행했을때 결과가 x번 일어나는 확률을 찾을때 사용
from scipy.stats import binom
binom.pmf(k = 2, n = 5, p = 0.1)
# k는 전체시행가운데 성공횟수, n은 전체 시행횟수, p는 독립시행의 성공확률
>>>
0.0729
# 이항확률분포 그래프
from scipy.stats import binom
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots(1, 1)
n = 100 # 총 시도횟수
p = 0.5 # 각 독립사건 성공확률
x = np.arange(binom.ppf(0.01, n,p), binom.ppf(0.99, n, p))
ax.plot(x, binom.pmf(x, n, p),'bo', ms=8, label = 'binom pmf')
ax.vlines(x, 0, binom.pmf(x, n, p), colors='b', lw =5, alpha =0.5)
(누적확률 분포는 특정값보다 같거나 작을확률을 뜻한다.)
H지역 코로나 감염 비율이 10%라고 한다.
1) 10명을 임의 추출하여 코로나 확진여부를 진단했을 때 3명이 확진 될 확률을 계산하시오.
2) 많아야 1명이 감염자일 확률을 구하시오.(1명보다 작거나 같음 = 누적확률분포)
3) 적어도 1명 이상이 감염자일 확률을 구하시오.
# 1) 정답
from scipy.stats import binom
print('1번 :',binom.pmf(3, 10, 0.1))
# 2) 정답
print('2번 :',binom.cdf(1, 10, 0.1))
# 3) 정답
print('3번 :',1-binom.cdf(0, 10, 0.1))
>>>
1번 : 0.05739562800000007
2번 : 0.7360989291000002
3번 : 0.6513215599