켤레사전분포

확률 통계
공개

2025년 7월 1일

월드컵 문제

from scipy.stats import gamma
import numpy as np
from empiricaldist import Pmf

alpha = 1.4
dist = gamma(alpha)

lams = np.linspace(0, 10, 101)
prior = Pmf(dist.pdf(lams), lams)
prior.normalize()
9.889360237140306
from scipy.stats import poisson

k = 4
likelihood = poisson(lams).pmf(k)
posterior = prior * likelihood
posterior.normalize()
0.05015532557804499

켤레사전분포

def make_gamma_dist(alpha, beta):
    dist = gamma(alpha, scale=1/beta)
    dist.alpha = alpha
    dist.beta = beta
    return dist

def update_gamma(prior, daata):
    k, t = data
    alpha = prior.alpha + k
    beta = prior.beta + t
    return make_gamma_dist(alpha, beta)

prior_gamma = make_gamma_dist(1.4, 1)
data = 4, 1
posterior_gamma = update_gamma(prior_gamma, data)
맨 위로