ギブスのサンプリングでは、完全な条件はどこから来ますか?


15

Metropolis-HastingsやGibbsサンプリングなどのMCMCアルゴリズムは、共同事後分布からサンプリングする方法です。

私は理解し、メトロポリスを壊すことは非常に簡単に実装できると思います-単に何らかの方法で開始点を選択し、事後密度と提案密度に基づいてランダムに「パラメータ空間を歩く」。Gibbsサンプリングは非常によく似ていますが、一度に1つのパラメータのみを更新し、他のパラメータを一定に保ち、空間を効果的に直交させて歩くため、より効率的です。

これを行うには、分析from *の各パラメーターの完全な条件が必要です。しかし、これらの完全な条件はどこから来るのでしょうか? 分母を取得するには、x1上のジョイントをマージナライズする必要があります。多くのパラメータがある場合、分析的に行うのは非常に多くの作業のように思われます。また、ジョイント分布があまり「素敵」でない場合は扱いにくいかもしれません。モデル全体で共役性を使用する場合、完全な条件は簡単かもしれませんが、より一般的な状況ではより良い方法が必要だと思います。

P(x1|x2, , xn)=P(x1, , xn)P(x2, , xn)
x1

私がオンラインで見たギブスのサンプリングのすべての例は、おもちゃの例を使用しています(多変量法線からのサンプリングのように、条件はそれ自体が単なる法線です)、この問題を避けているようです。

*または、分析形式の完全な条件が必要ですか?winBUGSのようなプログラムはどのようにそれを行いますか?


1
ギブスサンプリングは通常より少なく、それは一度に一つの次元を行くので...メトロポリス-ヘイスティングスより効率的
西安

ギブスサンプリングは、個々の段階で、より効率的であるが、必要があるかもしれないひどい収束させるために、より多くのステップを-と、全体的に良好な結果にはあまり効率的な終わります。
ルッツプレシェルト

回答:


7

はい、そうです、条件付き分布は分析的に見つける必要がありますが、完全な条件付き分布を見つけるのは簡単で、共同分布よりもはるかに単純な形式の例がたくさんあると思います。

これは、以下の直感は、最も「現実的な」関節分布では、ほとんどX I「sは、一般的に他の確率変数のほとんどの条件付き独立です。つまり、一部の変数はローカル相互作用を持ちます。たとえば、X iX i 1およびX i + 1に依存しますが、すべてと相互作用するわけではないため、条件付き分布はP r P(X1,,Xn)XiXiXi1Xi+1Pr(Xi|X1,,Xi)=Pr(Xi|Xi1,Xi+1)


この答えに追加するには、質問で最初に述べたように他の変数を無視する必要はありません。必要なのは、を「再編成」することだけですPr(Xi|Xi1,Xi+1)、結果を既知のpdfとして認識し、完了することです。PDFは1に統合するために限り、あなたは何よりも、すべてを再編成することができますとして(すなわち、他のすべての定数、分母などでの積分は)適切な定数に等しくなります

3
分析的に見つける必要はありません。たとえば、すべての完全な条件は、共同分布に比例します。そして、Metropolis-Hastingsに必要なのはそれだけです。
トリスタン

1
もちろん、@ Tristan。しかし、私はギブスサンプリングについて話しています。
ギャブゴー

1
Gibbs Samplingの場合、分析的に見つける必要はありません。どういうわけか、条件からサンプリングできる必要があります。かなり分析的なステートメントでこれを行う方法を書き留められるかどうかは関係ありません。
ゲスト

1
実際には、分析的な完全な条件は必要ありません。Gibbsサンプリングを実装するために必要なのは 、完全な条件からシミュレートする能力だけです。
西安

11

Metropolis-Hastingsのようなアルゴリズムの主な利点を見逃したと思います。Gibbsサンプリングの場合、完全な条件からサンプリングする必要があります。あなたは正しい、それはめったに簡単ではありません。Metropolis-Hastingsアルゴリズムの主な利点は、一度に1つのパラメーターをサンプリングできることです。ただし、比例条件までの完全な条件のみを知る必要があります。これは、受け入れ基準機能で分母がキャンセルされるためです。

P(x1|x2,...,xn)P(x1,...,xn), which you have. You don't need to do any integrals analytically. In most applications, a lot more will likely cancel too.

Programs like WinBugs/Jags typically take Metropolis-Hastings or slice sampling steps that only require the conditionals up to proportionality. These are easily available from the DAG. Given conjugacy, they also sometimes take straight Gibbs steps or fancy block stops.


1
Hey, thanks! I think that point about not needing the norming constant for metropolis-hastings is exactly the information I needed to make sense of all of this. I think, because the GS in WinBUGS stands for gibbs sampling, I was under the impression that gibbs superseded M-H and that the software was using gibbs exclusively.
cespinoza

3
The term Gibbs sampling is often used to imply that you sample one parameter at a time, even if you don't use the original idea of sampling directly from the full conditionals. All the software samples individual parameters or blocks of parameters in sequence, but the actual step type varies a lot depending on what works best.
Tristan

2
Almost whenever you can implement Gibbs, you can also implement Metropolis-Hastings alternatives. Higher efficiency comes from mixing both approaches.
Xi'an

This should imho be the accepted answer.
NoBackingDown
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.