2010-12-27 13 views
2

私はさまざまなランダムウォーク(分布が異なる)をシミュレートするプログラムを書いています。各タイムステップでは、ランダムウォークの分布からランダムに生成された2次元のステップ距離と角度が必要です。私は誰かがこれらの乱数を生成する方法の私の理解を確認できることを望んでいます。特定の不均一分布を持つ擬似乱数生成

私はそれを理解したよう次のように私はサンプリングを逆変換を使用することができます。

をF(x)が不均一な分布を持っている私たちのランダムウォークのPDFファイルであり、yは一様から乱数である場合分布。 次に、f(x)= yとし、xを見つけるために解くと、非一様分布からの乱数を得る。

これは実現可能なソリューションですか?

答えて

2

反転させる必要のある関数は、pdfではなく、cdfであるが、F(x)= P(X < = x)= int _ { - }} {{x} f(t)dtである。良いことは、Fは単調であるため、実際には(fとは異なり)固有の逆関数を持つということです。

与えられた分布に従って乱数を生成する他の方法は複数あります。たとえば、cdf Fの計算が難しい場合や反転する場合は、fを計算しやすい場合はrejection samplingを選択するとよいでしょう。

0

あなたは近くですが、それほどではありません。すべての確率密度関数(pdf)には、対応する累積密度関数(cdf)があります。 CDF(x)に関する重要な特性は、それらが常に0と1の間にあることです。0と1の間の乱数を描くのは比較的簡単であるため、これを使って分布に逆戻りして作業することができます。あなたの質問でpdfという単語をCDFに変更すると、その文が正しいものになります。

これを計算的に理解するために、CDFの逆数を簡単に計算する必要があります。これを行う1つの方法は、多項式近似をCDFに適合させ、その関数の逆関数を見つけることです。乱雑な分布で確率分布をシミュレートするためのより高度な手法があります。詳細はbook chapterを参照してください。

関連する問題