
144
■
12
章
証拠
self.exam = exam
self.score = score
# start with the prior distribution
for p_correct, prob in exam.prior.Items():
self.Set(p_correct, prob)
# update based on an exam score
self.Update(score)
__
init
__
は、
Exam
オブジェクトとスケール化得点とを取る。事前確率分布のコピー
を作り、試験得点に基づいて、それ自身を更新する。
いつものように、
Suite
から
Update
を継承し、
Likelihood
を提供する。
def Likelihood(self, data, hypo):
p_correct = hypo
score = data
k = self.exam.Reverse(score)
n = self.exam.max_score
like = thinkbayes.EvalBinomialPmf(k, n, p_correct)
return like
hypo
は、
p_correct
の仮説値で、
data
はスケール化得点である。
物事を単純にしておくために、基本得点を正答数と解釈して、誤答のペナルティ(引
き算分)を無視する。この単純化によって、尤度は
n
個の問題で
k
個正答する確率を計
算する二項分布によって与えられる。
12.4
事後確率
図12-2は、試験得点に基づ ...