0

指数密度関数を持つ確率変数を生成したいと思います。

f(x) = e^x / (e - 1)、0 <= x <= 1

(e^-x) のような単純な関数の反転法を使用して、一様乱数ジェネレーターを使用できることを知っています。しかし、上記の関数でそれらを使用する方法がわかりません。

助言がありますか?

4

2 に答える 2

1

Wolfram Alphaによると、 から0までの密度関数の積分は でaあり(e^a-1)/(e-1)、これは に反転しy=log((e-1)*x+1)ます。したがって、逆変換メソッドは正常に機能するはずです。

積分がうまくいかない、または反転がうまくいかない、より一般的なケースでは、確率的サンプリング法は、確率密度が与えられた確率変数をサンプリングするための最も広く適用可能な方法です。理解して実装するのが最も簡単なのは、拒否サンプリングです。その後、Metropolis-Hastings を見ています。これは非常に強力ですが、頭を理解するのが必ずしも最も簡単というわけではありません。

于 2013-11-26T16:10:45.467 に答える
0

f(x)最初のステップは、から0までを積分して累積分布関数xを決定することです。この関数を呼び出します。(疑似) ランダムに数字を選んだら、それをこの関数に入れて、これを満たすものを見つけます。UUx

あなたの関数は、直接反転が機能するほど単純に見えます。より複雑な関数がある場合は、与えられたを解くためにニュートン ラフソン法を使用する必要があります。xU

于 2013-11-26T16:12:21.027 に答える