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