私のモデルには、theta_1、theta_2、nuなどの 3 つのパラメーターがあります。
theta_1、theta_2を後からnuを周辺化して (分析的に行うことができます)、つまりp(theta_1, theta_2 | D)からp(theta_1, theta_2, nu | D) からサンプリングしたいのですが、ここでDはデータです。その後、theta_1とtheta_2の新しい値に基づいてnuをリサンプリングします。したがって、1 つのサンプリング スキャンは次のステップで構成されます。
- p(theta_1, theta_2 | D)からtheta_1とtheta_2を描画します( nuは除外されます)
- p ( nu | theta_1, theta_2, D)からnuを描画します (nu は除外されます)
つまり、崩壊したギブス サンプラーです。
PyMC3でどうやってそれを行うのですか? 個々のステップ関数を実装する必要があると思いますが、ここで可能性を構築する方法がわかりません。PyMC3 でステップ関数を実装するときにモデル仕様にアクセスするにはどうすればよいですか?