
76
■
7
章
予測
ガ ウス 分 布 は 連 続 的 なも のだ が、これ を 離 散
Pmf
で 近 似 す る。 この た めに
thinkbayes
では、
MakeGaussianPmf
を用意している。
def MakeGaussianPmf(mu, sigma, num_sigmas, n=101):
pmf = Pmf()
low = mu - num_sigmas*sigma
high = mu + num_sigmas*sigma
for x in numpy.linspace(low, high, n):
p = scipy.stats.norm.pdf(mu, sigma, x)
pmf.Set(x, p)
pmf.Normalize()
return pmf
mu
と
sigma
はガウス分布の平均と標準偏差である。
num_sigmas
は平均より上または
下に、
Pmf
が扱う範囲が標準偏差のいくつ分かを示す。
n
は
Pmf
における値の個数であ
る。
numpy.linspac
を使って、
low
から
high
まで両端を含めて
n
個の等間隔な値の配列を
作る。
norm.pdf
は、ガウス確率密度関数(
PDF
)評価を行う。
ホッケー問題に戻ると、
λ
の値についての一連の仮説の定義は次のようになる。
class Hockey(thinkbayes.Suite):
def
__
init
__
(self):
pmf = thinkbayes.MakeGaussianPmf(2.7, 0.3, 4)
thinkbayes.Suite. ...