
172
■
14
章
階層的モデル
各粒子の検出確率が、他とは独立であると仮定すれば、
k
の分布は、パラメータが
n
と
f
の二項分布になる。
システムのパラメータが与えられれば、データの分布がわかる。したがって、順問
題(
forward problem
)
*
1
と呼ばれるものを解くことができる。
さて、私たちは逆方向に進みたい。データが与えられて、パラメータの分布を求めた
い。これは、逆問題(
inverse problem
)と呼ばれる。そして、順問題が解けるなら、ベ
イズ手法を使って、逆問題が解ける。
14.2
シンプルに始める
r
の値がわかっているという単純な問題から始めよう。
f
の値が与えられていて、
n
を
推定するだけでよいとする。
Detector
というスイートを定義して、検出器の振る舞いをモデル化して、
n
を推定
する。
class Detector(thinkbayes.Suite):
def
__
init
__
(self, r, f, high=500, step=1):
pmf = thinkbayes.MakePoissonPmf(r, high, step=step)
thinkbayes.Suite.
__
init
__
(self, pmf, name=r)
self.r = r
self.f = f
平均放射率が、秒間
r
粒子なら、
n
の分布は、パラメータが
r
のポワソン分布である。
high
と
step
とは、
n
の上限と仮説値の間のステップサイズである。
次は、尤度関数が必要だ。
# class Detector ...