from empiricaldist import Pmf
import pandas as pd
prior = Pmf.from_seq(['Bowl 1', 'Bowl 2'])
likelihood_vanilla = [0.75, 0.5]
posterior = prior * likelihood_vanilla
posterior.normalize()
posterior| probs | |
|---|---|
| Bowl 1 | 0.6 |
| Bowl 2 | 0.4 |
2025년 6월 19일
![]()
from empiricaldist import Pmf
import pandas as pd
prior = Pmf.from_seq(['Bowl 1', 'Bowl 2'])
likelihood_vanilla = [0.75, 0.5]
posterior = prior * likelihood_vanilla
posterior.normalize()
posterior| probs | |
|---|---|
| Bowl 1 | 0.6 |
| Bowl 2 | 0.4 |
| probs | |
|---|---|
| Bowl 1 | 0.692308 |
| Bowl 2 | 0.307692 |
| probs | |
|---|---|
| 0 | 0.009901 |
| 1 | 0.009901 |
| 2 | 0.009901 |
| 3 | 0.009901 |
| 4 | 0.009901 |
| ... | ... |
| 96 | 0.009901 |
| 97 | 0.009901 |
| 98 | 0.009901 |
| 99 | 0.009901 |
| 100 | 0.009901 |
101 rows × 1 columns
0.5000000000000001
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'Noto Sans KR'
prior.plot(label='prior', color='C5')
posterior1.plot(label='posterior', color='C4')
plt.legend()
plt.xlabel('그릇 번호')
plt.ylabel('PMF')
plt.title('바닐라 쿠키 하나 뽑은 후')Text(0.5, 1.0, '바닐라 쿠키 하나 뽑은 후')

posterior2.plot(label='posterior', color='C4')
plt.xlabel('그릇 번호')
plt.ylabel('PMF')
plt.title('바닐라 쿠키 두 번 뽑은 후')Text(0.5, 1.0, '바닐라 쿠키 두 번 뽑은 후')

likelihood_chocolate = 1 - hypos / 100
posterior3 = posterior2 * likelihood_chocolate
posterior3.normalize()0.2462686567164179
posterior3.plot(label='posterior', color='C4')
plt.xlabel('그릇 번호')
plt.ylabel('PMF')
plt.title('바닐라 쿠키 두 번 뽑고 초코 쿠키 하나 뽑은 후')Text(0.5, 1.0, '바닐라 쿠키 두 번 뽑고 초코 쿠키 하나 뽑은 후')

| probs | |
|---|---|
| 6 | 0.444444 |
| 8 | 0.333333 |
| 12 | 0.222222 |