続き
■サイコロ問題
4面のサイコロ、6面のサイコロ、8面のサイコロ、12面のサイコロ、20面のサイコロの入った箱を持っているとする。
箱からサイコロをランダムに選んで振って6が出たとする。各サイコロを降った確率はどうなるか。
from thinkbayes import Suite class Dice(Suite): def Likelihood(self, data, hypo): if hypo答え
4 0.0
6 0.392156862745
8 0.294117647059
12 0.196078431373
20 0.117647058824■機関車問題
「ある鉄道会社では、機関車に1...Nという番号をつけている。ある日、60番という機関車を目撃したとすると、
鉄道会社は何台の機関車を所有しているのか推定せよ。」これはサイコロの問題と同じになります。
したは60番を見た後に30番、90番、130番・・・・・と続いたとき
import thinkplot from thinkbayes import Suite class Train(Suite): def Likelihood(self, data, hypo): if hypo■事前確率をべき乗分布で更新
1台の機関車を所有する会社と1000台を所有する会社は同じ確率じゃないだろ
1台の機関車をもつ零細企業は沢山あるのにたいして1000台を所有する大企業は
べき乗分布になるだろう
ということで、事前確率をべき乗分布にした場合
ついでに仮説を500にしたときと1000と2000にしたとき。import thinkbayes import thinkplot from thinkbayes import Pmf, Percentile from dice import Suite class Train(Suite): def __init__(self, hypos, alpha=1.0): Pmf.__init__(self) for hypo in hypos: self.Set(hypo, hypo**(-alpha)) self.Normalize() def Likelihood(self, data, hypo): if hypoこれからさらに信用区間をとったりするんですが、それは割愛で。
以上
関連する投稿: