시작하기무료로 시작하기

확률 예제

이번 연습 문제에서는 복원추출과 비복원추출의 차이를 복습해 보겠습니다. 시뮬레이션으로 어떤 사건의 확률을 계산하되, 표본추출 방법을 바꿔가며 확률이 어떻게 달라지는지 확인해 볼 거예요.

사탕 그릇에 파란색 3개, 초록색 2개, 노란색 5개가 들어 있다고 합시다. 사탕을 한 번에 하나씩, 복원추출과 비복원추출로 각각 3개씩 뽑습니다. 세 개 모두 노란색일 확률을 계산해 보세요.

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

Python으로 하는 통계 시뮬레이션

강의 보기

연습 안내

  • 파란색 'b' 3개, 초록색 'g' 2개, 노란색 'y' 5개로 구성된 리스트 bowl을 설정하세요.
  • 복원추출로 사탕 3개를 뽑아 sample_rep에, 비복원추출로 3개를 뽑아 sample_no_rep에 저장하세요.
  • 복원추출 표본에서 sample_rep'b''g'가 없다면 success_rep를 1 증가시키세요. 마찬가지로 비복원추출 표본에서 sample_no_rep'b''g'가 없다면 success_no_rep를 1 증가시키세요.
  • 각 경우의 성공 횟수를 전체 반복 횟수로 나누어 해당 확률을 계산하세요.

실습형 인터랙티브 연습

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

# Set up the bowl
success_rep, success_no_rep, sims = 0, 0, 10000
bowl = list(____*3 + ____*2 + ____*5)

for i in range(sims):
    # Sample with and without replacement & increment success counters
    sample_rep = np.random.____(bowl, size=3, replace=____)
    sample_no_rep = np.random.____(bowl, size=3, replace=____)
    if ('b' not in sample_rep) & ('g' not in sample_rep) : 
        ____
    if ('b' not in sample_no_rep) & ('g' not in sample_no_rep) : 
        ____

# Calculate probabilities
prob_with_replacement = ____/sims
prob_without_replacement = ____/sims
print("Probability with replacement = {}, without replacement = {}".format(prob_with_replacement, prob_without_replacement))
코드 편집 및 실행