境界のあるパラメータ空間でのMCMC?


18

問題にMCMCを適用しようとしていますが、事前(私の場合は))はエリアに制限されていますか?通常のMCMCを使用して、制限ゾーン(私の場合は[0,1] ^ 2)の外にあるサンプルを無視できますか。つまり、新しい遷移が制限(制約)エリアから外れた場合に遷移関数を再利用できますか?α[0,1],β[0,1]



@Zen、私はよくわかりませんが、Xianによって提案された答えは、サブサンプリングすることですが、MHを使用する代わりに、ギブスサンプラーを使用し、次元の値の1つが境界を超える場合は繰り返します、私は正しいですか?
キューピター

1
MHがパラメータ空間外の何かを提案した場合、受け入れ確率は設定され、すべてが正常に機能します。MHはを(メジャー理論では明示)として解釈するだけだと思います。00/000=0

@guy、しかし、xianのページ(Zenによるリンク)での議論によると、ギブズは理由を述べずに優位性を持っているようです!
キューピター

1
@Cupitor私は彼がそれを言っているのを見ない。その意味は、ガブリエルがギブス内でメトロポリスをやっていたということだと思います。

回答:


27

いくつかの素晴らしい、多かれ少なかれシンプルなオプションがあります。事前に統一しておくと、より簡単になります。

オプション1:独立サンプラー。プロポーザルの分布を単位正方形上の均一な分布に設定するだけで、サンプルが制限ゾーンの外に出ないようにできます。潜在的なマイナス面:後部が単位正方形の非常に小さな領域に集中している場合、受け入れ率が非常に低くなる可能性があります。OTOH、U(0,1)分布よりも速く乱数を生成することは困難です。潜在的な利点:作業が減ります。

オプション2:パラメーターを境界のないものに変換し、変換されたパラメーターの提案を作成してから、尤度関数で使用するためにパラメーターを変換します。この場合、変換されたパラメーターに事前分布が適用されることに注意してください。これは提案を行うものなので、新しい事前分布を取得するには変換のヤコビアンをいじる必要があります。もちろん、分析のために、MCMCで生成されたパラメーターの乱数を元のパラメーターに変換します。潜在的なマイナス面:より多くの初期作業。潜在的な利点:プロポーザルの受け入れ率が向上します。

オプション3:単位正方形にある独立サンプラー以外の提案分布を構築します。これにより、事前に統一を保つことができますが、プロポーザルの確率を計算する際に複雑さが増します。パラメーターの現在の値とするこの例は、パラメーター持つベータ分布になります。が大きいほど、提案は現在の値に集中します。潜在的なマイナス面:より多くの初期作業。潜在的な利点:プロポーザルの受け入れ率が向上します-ただし、大きくしすぎてコーナーに近づいた場合、出て行く前にコーナーで小さな動きをたくさん行うことになります。x(nx,n(1x))nn

オプション4:単位の正方形の外側にある提案はすべて拒否します(西安の中途半端な提案)。これは、単に別の提案を生成することと同じではないことに注意してください。この場合、提案を拒否します。つまり、パラメーターの次の値はパラメーターの現在の値と同じです。これは、パラメーター空間の一部の領域で事前確率がゼロであり、その領域に該当する乱数を生成した場合に発生するためです。潜在的なマイナス面:角に近づくと、受け入れ確率が低くなり、しばらく動かなくなる可能性があります。潜在的な利点:作業が減ります。

オプション5:平面上で拡張された問題を作成します。これは、単位正方形で、直面している実際の問題と同じです。すべてを正しく行い、MCMCサンプリングの結果を後処理するときに、すべてのサンプルを外に捨てます単位の正方形の。潜在的な利点:その拡張された問題を作成するのが非常に簡単な場合、作業量が少なくなる可能性があります。潜在的なマイナス面:マルコフ連鎖がしばらく単位の正方形の外側のどこかに迷い込んだ場合、実際に恐ろしい受け入れ確率が得られる可能性があります。これは、ほとんどのサンプルを破棄するためです。

他の選択肢があることは間違いありません。他の人が提案するものを見てみたいと思います!

2と3の違いはある程度概念的ですが、実際に何をするかについては実際の意味合いがあります。Rに提案確率(Rでプログラミングしている場合)と提案の分布パラメーター調整以外の余分な労力の量を教えてくれるので、おそらく3 になります私には小さい。もちろん、JAGSまたはBUGSを使用していた場合、これらのツールは独自の提案を処理するため、まったく別の問題になります。n


投票してください!このような徹底的な答えに感謝しますが、私が従うのに苦労しているいくつかのポイントがあります:1)実際には、パラメータ空間は正方形の線セグメントから来ているため、均一なサンプリングで取得することは本当に難しいと思います2)これは実際には非常に良い考えではないようです。簡単な説明をするために、外側の領域の確率をゼロに設定するだけで、境界のあるサンプルを拡張することを想像してください!これにより、収束プロセスが非常に遅くなり、おそらくサブサンプリングに似ているでしょう
-Cupitor

3)このアイデアの問題は、あなたの提案が可逆的ではないということです。したがって、結果のサンプリングスキームがエルゴディックスキームではなくなる可能性があります。
キューピター

4)私が試したのは合理的であるように見える(IMH!)5)これは2で述べた例に苦しんでいるようで、あなたが言ったようにひどい受け入れ率を与えるかもしれない!
キューピター

2
1)意味がわからない。あなたは2つのパラメータが単位正方形の線上にあることを意味しますか(したがって、実際には1つのパラメータだけですか?)2)2が指すのは、パラメータを他のパラメータに変換することです、例えばy = x /(1-x)場合は範囲持ち、xではなくyからサンプリングします。3)提案は機能します。受理率の計算に提案確率を組み込む必要があります(標準MCMC)。エルゴディシティが保持されるために対称的な提案(「可逆」という意味です)を持つ必要はありません。(0,inf)x(0,1)β
jbowman

1)OK、私がやっていることは、[0.0,4.0]から一様な乱数を取り出し、その整数部と浮動部に応じて、私が言及した正方形の周辺の点に割り当てることです。たとえば、は、は、はα=2.5(0.5,1)α=3.2(0,0.8)α=0.2(0.2,0)
-Cupitor
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.