逆関数法を用いた乱数生成の証明と例
累積分布関数が であるような確率分布に従う乱数を生成したいときには, 上の一様分布に従う乱数を生成してそれに をかませばよい。
逆関数法のモチベーション・方法・具体例を解説します。
逆関数法の目的
逆関数法の目的
- 累積分布関数が で表されるような確率分布に従う乱数を生成したい。
- ただし, 上の一様乱数は生成できるものとする。
一様乱数という生成しやすい単純な乱数を使って,複雑な乱数を生成したいというモチベーションです。 →一様分布の平均,分散,特性関数など
逆関数法とその証明
逆関数法とその証明
累積分布関数 の逆関数が簡単に計算できるとき,逆関数法という技が使えます。
上の一様分布に従う確率変数を とする。このとき は目的の確率分布に従う。
累積分布関数,逆関数の定義を用いるだけで簡単に証明できます!
が一様分布に従うことを式で表す:
(ただし
)
ここで,
に注意すると上式は となる。
さらに, と置くと,
これは確率変数 が,累積分布関数が であるような確率分布に従うことを表している。
図による理解
図による理解
かなり大雑把ですが図を用いて感覚的に理解することもできます。
-
上の一様乱数→青い区間内でランダムに打つ(例えば青い点線)
-
→青い点線と累積分布関数のぶつかった点の 座標を採用
-
確率を高くしたいところ(累積分布関数の傾きが急なところ)には当たりやすい(緑の範囲)
-
確率を低くしたいところ(累積分布関数の傾きが緩いところ)には当たりにくい(紫の範囲)
指数分布の場合の例
指数分布の場合の例
逆関数法を用いて,平均 の指数分布に従う乱数を生成する具体的な手続きを述べよ。
平均 の指数分布の確率密度関数は である。→指数分布の意味と具体例
よって,累積分布関数は
この逆関数を求めたいので,上式を について解く:
つまり,
よって, 上の一様分布に従う乱数 を生成して, を計算すればよい。
試しに平均を として, と の値を並べてみました:
は を下回る確率が高い一方でかなり大きな値になる確率もあり,指数分布に従うっぽいことが分かります!
自分はあまり詳しい分野ではありませんが,乱数の話題もけっこう奥が深そうです。
Tag:数学的モデリングまとめ