28. 3つある部屋A, B, Cに猫ちゃんたちがいます。
全部で100匹いて、現在、それぞれの部屋に0.6, 0.25,
0.15の割合でいます。
10分に1回猫ちゃん達は部屋を移動できますが、部屋と
部屋の間には管理人がいて、通過する割合が左下の表の
通りとなるよう制御しています。
次に行く部屋(j)
A B C
現在の
部屋
(i)
A 0.3 0.3 0.4
B 0.1 0.5 0.4
C 0.2 0.6 0.2
猫ちゃんの遷移
79. def f_beta(x):
p = 10.2
q = 5.8
return x**(p-1) * (1-x)**(q-1)
def rand_prop():
return st.uniform.rvs()
theta = []
# Initial value
current = 0.5
theta.append(current)
n_itr = 200000
for i in range(n_itr):
# 提案分布からの乱数生成
a = rand_prop()
r = f_beta(a) / f_beta(current)
if r < 0:
#reject
continue
if r >= 1 or r > st.uniform.rvs():
# Accept
theta.append(a)
current = a
else:
#Reject
pass
正選手問題 sample mean:0.63239, sample std:0.13082
mean:0.63750, std:0.12412
理論分布と
ヒストグラムが一致
しないので、
要改善・・・