시작하기무료로 시작하기

이항 분포와 포아송 분포의 관계

포아송 분포가 드문 사건에 대한 이항 분포의 극한이라고 방금 들으셨을 거예요. 스토리 관점에서 생각해 보면 이해가 됩니다. 예를 들어, 한 시간 동안 매 분마다 베르누이 시행을 하고 각 시행의 성공 확률이 0.1이라고 해봅시다. 총 60번 시행하며, 성공 횟수는 이항 분포를 따르고 기대값은 대략 6입니다. 이는 영상에서 다룬 포아송 스토리와 같아서, 웹사이트에 한 시간당 평균 6번 접속이 발생하는 상황이죠. 따라서 도착률이 $np$인 포아송 분포는 성공 확률이 $p$인 베르누이 시행을 $n$번 했을 때의 이항 분포를 근사합니다($n$이 크고 $p$가 작을 때). 중요한 점은, 포아송 분포는 매개변수가 이항 분포의 두 개 대신 하나뿐이라서 다루기 더 간단한 경우가 많다는 것입니다.

이 두 분포를 계산으로 탐구해 보겠습니다. 먼저, 도착률이 10인 포아송 분포에서 추출한 표본의 평균과 표준편차를 계산하세요. 그다음, $np = 10$이 되도록 선택한 매개변수 $n$과 $p$를 갖는 이항 분포 표본의 평균과 표준편차를 계산하세요.

이 연습은 강의의 일부입니다

Python으로 하는 Statistical Thinking (파트 1)

강의 보기

연습 안내

  • rng.poisson() 함수를 사용해 평균이 10인 포아송 분포에서 10000개의 표본을 추출하세요.
  • 이항 분포에 사용할 np 값을 리스트로 만드세요. $np$가 항상 10이 되도록 n = [20, 100, 1000], p = [0.5, 0.1, 0.01]를 선택하세요.
  • 제공된 for 루프 안에서 rng.binomial()을 사용해 각 n, p 쌍에 대해 이항 분포에서 10000개의 표본을 추출하고, 표본의 평균과 표준편차를 출력하세요. n, p 쌍은 3개이며 각각 20, 0.5, 100, 0.1, 1000, 0.01입니다. 루프 안에서는 이를 n[i], p[i]로 접근할 수 있습니다.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Draw 10,000 samples out of Poisson distribution: samples_poisson


# Print the mean and standard deviation
print('Poisson:     ', np.mean(samples_poisson),
                       np.std(samples_poisson))

# Specify values of n and p to consider for Binomial: n, p



# Draw 10,000 samples for each n,p pair: samples_binomial
for i in range(3):
    samples_binomial = ____

    # Print results
    print('n =', n[i], 'Binom:', np.mean(samples_binomial),
                                 np.std(samples_binomial))
코드 편집 및 실행