
3.3
事前確率についてはどうなのか
■
25
def Mean(suite):
total = 0
for hypo, prob in suite.Items():
total += hypo * prob
return total
print Mean(suite)
あるいは、
Pmf
が提供する同様のメソッドを次のように使うこともできる。
print suite.Mean()
事後確率の平均は、
333
なので、正解との誤差を最小化したいなら、それがよい推測
になる。この推測ゲームを繰り返し行ったとき、推測値に事後確率の平均を用いれば、
長い目で見たときの平均二乗誤差を最小化できることが知られているからだ(
http://
en.wikipedia.org/wiki/Minimum_mean_square_error
参照)。
この例は、
http://thinkbayes.com/train.py
からダウンロードできる。詳細については、
まえがきの「コードについて」(
ix
ページ)を参照のこと。
3.3
事前確率についてはどうなのか
機関車問題を解くためには、何らかの仮定を設けなければならなかったが、その中
には全く任意に選んだものもある。特に、
1
から
1,000
の一様な事前確率の選択では、
1,000
を選んだ正当な理由もなく、一様分布の選択についても説明しなかった。
鉄道会社が
1,000
両の機関車を所有していると信じること自体はそうおかしくはない
が、これより少なめや、多めの車両数を推測するのもおかしいことで