from empiricaldist import Pmf
import pandas as pd
= Pmf.from_seq(['Bowl 1', 'Bowl 2'])
prior = [0.75, 0.5]
likelihood_vanilla = prior * likelihood_vanilla
posterior
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 |