不適切な混合物からの正確なサンプリング


10

連続分布からサンプリングしたいとします。次の形式で式がある場合pp(x)p

p(x)=i=1aifi(x)

ここで、、およびf_iは、簡単にサンプリングできる分布であり、pから簡単にサンプルを生成できます。ai0,iai=1fip

  1. 確率a_iでラベルiをサンプリングするai
  2. XのサンプリングXfi

aiが時々負になる場合、この手順を一般化することは可能ですか?私はこれがどこかで行われたのを見たことがあると思います-おそらく本の中で、おそらくコルモゴロフの分布について-だから、私はリファレンスを回答として受け入れて完全に幸せです。

具体的なおもちゃの例が役に立つ場合は、p(x、y)\ propto \ exp(-xy- \ alpha \ sqrt {xy})\ qquad x、y> 0からサンプリングしたい

p(x,y)exp(xyαxy)x,y>0
とします。物事の壮大な計画において、あまり重要ではない技術的理由のためにα(0,2)を取ります。

原則として、これを次の合計として展開できます。

p(x,y)n=0(1)nαn(n2)!(n2)!n!(xn/2ex(n2)!)(yn/2ey(n2)!).

合計内の(x,y)項は、ガンマランダム変量として独立してサンプリングできます。私の問題は、明らかに係数が「時々」負であるということです。

編集1:私は生成に求めていることを明らかに正確なサンプルをからp、むしろ下の予想計算するよりも、p。興味のある人のために、そうするためのいくつかの手順がコメントでほのめかされています。

編集2:この問題への特定のアプローチを含む参照を、Devroyeの「Non-Uniform Random Variate Generation」で見つけました。アルゴリズムは、Bignamiとde Matteisの「分布の組み合わせからのサンプリングに関するノート」からのものです。この方法は、上からの合計の正の項によって密度を効果的に制限し、このエンベロープに基づいて拒否サンプリングを使用する方法です。これは、@ Xi'anの回答で説明されている方法に対応しています。


1
単にの絶対値を使用してから、サンプルを無効にしてサンプリングできないのはなぜですか?つまり、定義します (それが有限であると仮定して)、そして合計を正規化します。aiXfiZ:=i=1|ai|Z
Alex R.

2
@AlexR。私があなたを理解しているなら、このバージョンはでの期待値を計算するのに実用的ですが、それでもから正確なサンプルを引き出すことはできません。確かにこれは関連する問題への答えですが、私が探しているものではありません。pp
πr8

4
それは、そのサンプルで何をするつもりかによって異なります。たとえば、モーメントを計算するために、負の係数を持つコンポーネントから選択された任意のポイントに「負の」ポイントとしてフラグを付け、モーメント推定でその寄与に負の重みを付けることにより、密度の混合からのサンプリングを一般化することは簡単に見えます。同様に、その値の一部が負になる可能性を受け入れることができれば、そのような負の重みでKDEを構築できます。(cc @ Xi'an)
whuber

1
分布の「正確な」サンプルは何でしょうか?繰り返しになりますが、負の重みを持つ混合物を利用できるかどうか、またどのように利用できるかは、サンプルの使用方法にかかっています。
whuber

1
これはあなたの質問には答えませんが、ログ確率stats.stackexchange.com/a/260248/35989
Tim

回答:


5

私はこの質問に戸惑いましたが、満足のいく解決策はありませんでした。

使用可能性のある1つの特性は密度書き込んだ場合、すなわち ですこのようなこと密度、シミュレーションからと確率でこれらのシミュレーションを拒絶からシミュレーションを提供し。現在のケースでは、は正の重みコンポーネントの正規化バージョンです andは剰余

f(x)=g(x)ωh(x)1ωω>0
gg(x)ωh(x)gωh(x)/g(x)fg
g(x)=αi>0αifi(x)/αi>0αi
ωh
h(x)=αi<0αifi(x)/αi<0αi
これは確かに、Devroyeのシミュレーション聖書、不均一ランダム変量生成、セクションII.7.4にありますが、単純な受け入れ/拒否の推論に基づいています。

このアプローチの最初の計算上の欠点は、選択されたコンポーネントから最初にシミュレーションを行っているにもかかわらず、と両方の合計を除去ステップで計算する必要があることです。合計が無限であり、閉じた形式のバージョンがない場合、これにより、accept-rejectメソッドを実装できなくなりますfigh

2番目の難点は、両方の重みの合計が同じ順序であるためです 拒否率上限はありません。実際関連付けられた系列が完全に収束していない場合、受け入れ確率はゼロです!また、この状況ではメソッドを実装できません。

αi>0αi=1αi<0αi
1ϱaccept=αi<0|αi|/i|αi|
αi

混合表現の場合、をと書くことができる 場合最初にコンポーネントを選択し、次にメソッドをコンポーネントに適用できます。しかし、これは実装が微妙な場合があり、おそらく無限の合計から適合するペアを特定することは必ずしも実行可能ではありません。f

f(x)=i=1αigi(x)ωih(xi)1ωiωi>0
(gi,hi)gi(x)ωih(xi)>0

シリーズ表現自体から、より効率的な解決策が得られると思います。Devroye、Non-uniform random variate generation、セクションIV.5には、一連のメソッドの広い範囲が含まれています。例えば、のような標的の代替の級数表現のための以下のアルゴリズム ' sはでゼロに収束し、は密度です。

f(x)=κh(x){1a1(x)+a2(x)}
ai(x)nhDevroyeの代替系列法

この問題は、MCMCの偏りのある推定量の偏りのコンテキストで、たとえばGlynn-Rheeアプローチのように、最近検討されました。そして、ロシアのルーレット推定器(ベルヌーイ工場の問題と関連しています)。そして、公平なMCMC方法論。しかし、符号問題からの脱出はありません...疑似マージナル法のように密度を推定するとき、その使用は困難になります。

さらに思考の際、私の結論は、このから実際のシミュレーションを生成する一般的な方法がないことであるシリーズ [なく、 混合物をさらにかけることなく、誤った名称であることが判明]>構造シリーズの要素に、1つのようなDevroyeの聖書からの上記のアルゴリズム。実際、ほとんどの(?)密度は上記の種類の級数展開を可能にするので、これは、さもなければ、ある種の普遍的なシミュレーションマシンの存在を意味します...


ありがとうございました!追加の参考資料にも感謝します。
πr8

1
非常に徹底した回答と参考資料に感謝します。有限時間としてから正確なサンプルを生成することに成功したので、私はこの答えを受け入れて満足しています。私はおそらくこの問題についてある程度考え続けるでしょう。有望であると思われる唯一の追加のアイデアは、からのサンプリングを、条件として、サンプリングとして表示することであり、この特性評価に役立つ洞察(私はスライスサンプラーのように考えています)。乾杯!、P = λ G - μ 時間X グラムpp=λgμhXgλgμh{(x,y):μh(x)<y<λg(x)}
πr8

1
条件付きサンプラーの説明はかなり不十分です。セットベースの特徴付けは少し明確です(私の意見では)。私の重要な点は、最終行の2次元セットから均一にサンプリングできれば、が正しい分布になるということです。この特性化が、より長い合計ベースの不適切な混合物に役立つかどうかは、まだ不明です。(x,y)x
πr8

1
私もスライスサンプラーを考えていましたが、これはシミュレーションの意味では「正確」ではありません。
西安

1

機能するアイデアのドラフトがあります。それは正確ではありませんが、できれば漸近的に正確です。それを非常に厳密な方法に変えるには、近似を制御するか、それについて何かを証明することができるため、おそらく多くの作業が必要になります。

まず、西安で述べたように、一方では正の重みを、もう一方では負の重みをグループ化できます。その結果、問題には2つの分布としかありません。gh

p=λgμh

。があることに注意してください。λμ=1λ1

私の考えは次のとおりです。から観測値をサンプリングします。行う:Np

  • から値をサンプリングし、リストに格納するλNg
  • からサンプリングされた各値について、それらの最も近い(残りの)近傍をリストから削除します。μNh

最後にポイントを取得します。それは、正確に最も近い隣人である必要はなく、「十分に近い」点である必要があります。最初のステップは、物質を生成するようなものです。2番目のステップは、反物質を生成し、それを物質と衝突させてキャンセルさせるようなものです。この方法は正確ではありませんが、いくつかの条件下では、大きなに対して漸近的に正確であると信じています(小さなほぼ正確にするためには、最初に大きなを使用してから、最終的なリストの小さなランダムな部分を取る必要があります)。 。私は証明よりも説明である非常に非公式な議論をしている。N n N(λμ)N=NNnN

考えてみましょ観測空間と少量での周りルベーグボリュームで。からサンプリングした後、リスト内のも含まれる要素の数は、およそます。2番目のステップの後、約が削除され、おおよその希望する数ます。このためには、ボリューム内のポイント数が十分に大きいと想定する必要があります。V X ε G V λ N G X ε μ NのH X ε NのP X εxvxϵgvλNg(x)ϵμNh(x)ϵNp(x)ϵ

この方法は、大きな次元またはといくつかの病理に抵抗する可能性は非常に低いですが、小さな次元で十分に滑らかで「十分に均一な」分布で機能する可能性があります。hgh

正確な方法に関する注意:

私は最初にこれを離散分布について考えましたが、その場合、確率0のサンプルを生成できるため、この方法は正確ではありません。正確な方法は有限の処理時間では不可能であり、これは不可能性は、少なくとも離散分布では証明できます。ゲームのルールは、とに対して正確な「oracle」サンプラーのみを使用することを許可されており、関数としてとを知らないということです。簡単にするために、ベルヌーイ分布に制限します。正確な方法の非存在はに関連しているベルヌーイ工場理論:あなたが作成することができればから-coinH G H X λ P - μ Q P 、Q λ P P λ > 1ghghx(λpμq)p-coinと -coin、あなたが作成することができますから-coinのために不可能であることが知られている-coin。qλppλ>1


1
私はこれを検討しましたが、それが機能する可能性を実証するための私の最初の努力が、せいぜい概算であり、潜在的に貧弱なものであるという認識につながったため、拒否しました。はい、漸近的には機能する可能性がありますが、ディストリビューションからの「正確な」サンプリングに対するOPの要求を満たしません。
whuber

このメソッドの効率は、正確な受け入れ/拒否メソッドとまったく同じ順序です。
西安

1
同意した。しかし、それらはまったく異なります。accept-rejectメソッドは、とを関数として計算する必要があります。真の混合物のように、とからのサンプリングのみを「オラクル」サンプラーとして使用することに焦点を当てました。考えれば考えるほど、オラクルのサンプリングに基づく正確な方法は存在できないと確信するようになります。h x g hghxgh
Benoit Sanchez

1
私はそれは一般的に正しいと思いますが、そのような正確な方法存在する特別な場合の有用なクラスがあるかもしれません。これは、(1)場合によってはの計算が簡単であり、(2)と両方を計算する必要がないためです。この比率を計算するだけで済みます。g hg/(g+h)gh
whuber

@BenoitSanchez詳細な回答ありがとうございます。正確さの(可能性のある)不可能性に関する最後のコメントに特に感謝します。私は過去にベルヌーイ工場に出くわしましたが、それらはかなりやりがいのあるものでした。トピックを再検討して、洞察が得られるかどうかを確認します。
πr8
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.