逆変換方法はどのように機能しますか?


21

反転法はどのように機能しますか?密度 over
ランダムサンプルとし、したがって cdfで。次に、反転法により、の分布をとして取得します。 f x ; θ = 1X1,X2,バツn 0<X<1FXX=X1/θ01XF - 1 XU=Uθfバツ;θ=1θバツ1θθ
0<バツ<1Fバツバツ=バツ1/θ01バツFバツ1あなたは=あなたはθ

それで、はの分布がありますか?これは反転方法の仕組みですか? Xあなたはθバツ

u<-runif(n)
x<-u^(theta)

3
確率積分変換のスレッドをご覧ください。
whuber

1
はい、通常「確率積分変換」と呼ばれますが。の分布関数を導き出して、F1うんなぜ機能するのかを確認してください。
dsaxton

回答:


20

この方法は非常に単純なので、簡単な言葉で説明します。最初に、サンプリングしたい分布の累積分布関数 Fバツを取得します。この関数は、入力として、いくつかの値をとりバツとなる確率が何であるかがわかりますバツバツ。そう

Fバツバツ=Prバツバツ=p

このような関数のの場合、は入力としてpを取り、xを返します。ことを通知Pのが一様に分布しているFを- 1 X U 0 1 F X U U 0 1 U F - 1 X XFバツ1pバツp -これは任意のものからサンプリングするために使用することができるあなたが知っていれば。この方法は、逆変換サンプリングと呼ばれます。アイデアは非常に単純です:それは一様からのサンプル値に簡単である、あなたには、いくつかのサンプルにしたい場合はそう、値だけ取るとパス経由を取得するFバツFX1U(0,1)FXuU(0,1)uFX1x

FX1(u)=x

またはR(正規分布の場合)

U <- runif(1e6)
X <- qnorm(U)

以下のCDFを見て視覚化するには、一般に、軸からの値の確率について軸を見ることで分布を考えます。このサンプリング方法では、反対のことを行い、「確率」から始めて、それらに関連する値を選択するために使用します。離散分布を使用すると、治療からラインとしてへの1かの時点ない場所に基づいており、割り当て値uは、このライン上にある(例えば0があれば0 U < 0.5または1であれば0.5 U 1からサンプリングするためのx U 0yバツうん01あなたは00あなたは<0.510.5あなたは1)。Bernoあなたはll0.5

ここに画像の説明を入力してください

残念ながら、すべての関数がその逆を持っているわけではないため、これは常に可能とは限りません。たとえば、この方法を二変量分布で使用することはできません。また、最も効率的な方法である必要はありません、すべての状況でである。多くの場合、より良いアルゴリズムが存在します。

また、F - 1の分布を尋ねます。以来、F - 1 Xの逆数であるFXは、FXF - 1 XU=UF - 1 XFXX=X、そうです、値は、このような方法HAVEを用いて得られましたXと同じ分布。これは簡単なシミュレーションで確認できますFバツ1あなたはFバツ1FバツFバツFバツ1あなたは=あなたはFバツ1Fバツバツ=バツバツ

U <- runif(1e6)
all.equal(pnorm(qnorm(U)), U)

いい答えだ。この方法は、指数、コーシー、幾何、パレート、ロジスティック、極値ワイブルなどの分布がある場合に機能します。たとえば、正規分布の閉形式を見つけることができません。したがって、この方法を使用することはできません。Rejection Methodなどの他の方法を試すこともできます。
アッバスサリミ

2
正規分布で逆変換法を使用できます。通常の逆CDFには多くの実装があります。たとえば、相補誤差関数を使用して通常の逆CDFを記述できますerfcの実装例はこちらです。erfcを自分でコーディングしないでください。ライブラリを使用します。閉じた形式の式が存在しないことは、高品質の数値近似を使用できないことを意味するものではありませ
マシューガン

2

はい、の分布があるXをUθX

逆変換法の背後にある直感に関する2つの追加ポイントが役立つ場合があります

(1)実際に何を意味するのかを理解するには、ティムの回答のグラフを参照して、分位(逆CDF)関数の理解助けてくださいF1

(2)[わかりやすくするのではなく、混乱を招く場合は、以下を無視してください]

ましょ連続と厳密にCDFの増加と一緒に任意の確率変数(RV)Fを。次いで、F X UNIF 0 1 表記上の注意:XはしたがってRV、RVのの関数であるXF Xは RV自体です。 バツF

Fバツユニフ01

バツバツFバツ

たとえば、あなたがアクセスしていますので、こと、疑問を反転するかどう標準均一を発生したかった、そしてX 1 / θUNIF 0 1 。このランダム変数Uを呼び出しましょう。だから、 U = X 1 / θ あなたの質問に背中を来て、あなたは反対のタスクがあります生成するためにXを外にUを。だから、実際に X = U θバツX1/θUnif(0,1うん

うん=バツ1/θ
バツうん
バツ=うんθ

PS。この方法の別名は、確率積分変換、逆変換サンプリング、分位数変換、および一部の情報源では「シミュレーションの基本定理」です。

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