目標分布 目標分布をベータ分布とします。 ベータ分布の描画のためにライブラリを使います。MCMC時には正規化定数は計算しません。 # 目標分布 def p(x): if x < 0 or 1 < x: return 0 else: return (x ** (a - 1)) * ((1 - x) ** (b - 1)) # カーネルのみを計算 提案分布 提案分布は正規分布の分散が固定のものを採用します。 正規分布の乱数発生はライブラリを使います。 # 乱数発生 def random(mu = 0, sigma = 1): return np.random.normal(mu, sigma) #…