似たような形をしている。条件付き確率は以下のガンマ分布に従うことが示せた。変換する、という実装。条件付き確率が得られたので、Campbellを参考にサンプラを実装する。対数尤度(log_likelihoods)を計算している。これはMemorandumを参考にしたもので、WAICというモデルの汎化性能を評価する指標があり、その算出に必要。ここではMemorandumの結果と一致することを確認するために計算している。log_likelihoods初期値。71.51893663724195}サンプリング実施。init)結果サンプリング結果をイテレーションを横軸としてプロットしたものをトレースプロットと呼ぶ。これが一定の範囲内で上下ふらふらしていればひとまずサンプリングは成功と言える。value")traceplot.get_figure().savefig("model1_trace.png")パラメタごとのサンプリング結果のヒストグラム。サンプリング結果の後半だけをtrace_burntに切り出している。ギブスサンプリングを含めたマルコフ連鎖モンテカルロサンプリングでは、サンプリングの序盤は暖機運転扱いで、結果から除外するのが通例であるらしい2。(1,2))traceplot.get_figure().savefig("model1_hist.png")MemorandumのRコードからWAIC算出関数を移植。functional_variance_div_N統計量等と合わせて表示する。WAICはMemorandumでは1.980なので、よく一致している。2成分混合モデル)次のモデルに進む。2つの正規分布の混合モデル。何も考えずにモデルを書くと下になる、と思う。ところがこのモデルはどういじっても条件付き確率が導出できない。正規分布の足し算が難易度高いらしい。困ったのでmixture、gaussian、gibbs等で適当にググると、混合分布モデルの場合はデータ点が属するカテゴリを推定するのがよい、と書いてあるらしい難しい内容の記事・文献がいくつか出てた3。導入し、とするといいらしい。Bernoulliは確率aで1、(1-a)で0となる離散確率分布、曲がったコインのトスみたいなもの。これはつまり、今回のテストデータ作成をそのままモデル化したのと同じことである。条件付き確率は、となり、掛け算なので取り扱いが楽そう。確かに先に進めそうである。事前分布は以下とする。サンプリングの条件付き確率。同じで、正規分布になる。