「重要なギブス」のサンプリング方法は機能しますか?
これはかなり珍しい、探索的な質問だと思いますので、ご容赦ください。 ギブスサンプリングに重要性サンプリングのアイデアを適用できるかどうか疑問に思っています。意味は次のとおりです。ギブスサンプリングでは、一度に1つの変数(または変数のブロック)の値を変更し、残りの変数が与えられた条件付き確率からサンプリングします。 ただし、正確な条件付き確率からサンプリングすることは不可能または簡単ではない場合があります。そのため、代わりに提案分布からサンプリングし、たとえばMetropolis-Hastings(MH)を使用します。qqq ここまでは順調ですね。しかし、これは分岐したパスです:MHを使用する代わりに、重要度サンプリングで使用されたのと同じアイデアを使用するとどうなりますか?つまり、からサンプリングし、現在のサンプルの重要度重みを保持しますか?qqqp / qp/qp/q より詳しく:となるように、変数と因数分解分布があるとます。各変数現在の値をサンプリングするために使用される提案確率を保持します。各ステップで、変数のサブセットを変更し、を更新します影響を受けると係数のみ)。サンプルとその重要度の重みを使用して、興味のある統計を計算します。バツ1、… 、xんx1,…,xnx_1,\dots,x_nφ1、… 、ϕメートルϕ1,…,ϕm\phi_1,\dots,\phi_mp ∝ ∏メートルi = 1φ私p∝∏i=1mϕip \propto \prod_{i=1}^m \phi_iq私qiq_iバツ私xix_ip (x )/ q(x )p(x)/q(x)p(x)/q(x)pppqqq このアルゴリズムは正しいでしょうか?そうでない場合、なぜそうではないかという明確な理由はありますか?重要なサンプリングと同じことをしているように見えますが、代わりに依存するサンプルを使用しているので、直感的にそれは私には理にかなっています。 私はこれをガウスランダムウォークモデルに実装し、重みがどんどん小さくなる(ただし、単調ではない)ので、最初のサンプルの重要性が高くなりすぎて統計が支配的になることに気付きました。各ステップで、更新された重みを明示的なブルートフォース計算と比較するため、実装にバグがないと確信しています。重みは、であり、と両方が有限数の密度の積であるため、無制限にゼロに下がらないことに注意してください。各サンプルは、まれにしかゼロにならない正規分布から取得されます。p / qp/qp/qpppqqq だから私はなぜ重みがそのように下がるのか、そしてこれがこの方法が実際に正しくない結果であるのかどうかを理解しようとしています。 次に、より正確なアルゴリズムの定義を示します。これは、変数ガウスランダムウォークに適用されます。コードは以下のとおりです。バツ1、… 、XんX1,…,XnX_1,\dots,X_n モデルは単にで、は固定されてい。バツ私〜N(Xi − 1、σ2)、i = 1 、… 、nXi∼N(Xi−1,σ2),i=1,…,nX_i \sim \mathcal N(X_{i-1}, \sigma^2), i = 1,\dots,nバツ0X0X_0000 現在のサンプルの重みは。ここで、はガウス密度、は現在の値のサンプリング元の分布です。最初は、値を順方向にサンプリングするだけなので、で、初期の重みはです。Π私p (x私)Π私q(x私)∏ip(xi)∏iq(xi)\frac{\prod_i p(x_i)}{\prod_i q(x_i)}pppqqqq= pq=pq = p111 次に、各ステップで、変更するを選択します。私は新しい値サンプルするためのから、この密度はのための新たな使用提案分布となるように。J ∈ …