➕
逆関数法の証明について解説
はじめに
乱数を自分で作るときに便利な「逆関数法」。
この方法の根本にあるのが、
「
この証明は直感的には少し分かりづらいこともあるのでまとめてみました。
用語の整理
まず用語を整理しましょう。
- 確率分布は
と表します。Q_* - 累積分布関数は
という形で表現します。F_*(x) = P(X_* \leq x)
(ここでの は「確率」を意味し、分布の記号P とは区別しています。)Q - 実際に分布からサンプルされた値は
やX_* と呼びます。U
累積分布関数は、ある値 以下になる確率を表し、通常は0から1まで単調増加します。x
「分布に従う」とはどう示す?
「分布が同じだ」ということを証明するにはどうすればよいでしょうか?
分布そのものは直接比較できないため、累積分布関数がすべての
具体的には、
となります。
これは、「どんな値
一様分布の性質
一様分布とは、区間[0,1]の範囲で「どの値も同じ確率で出る」分布のことです。
たとえば、
この一様分布
で定義されます。
区間[0,1]の中で、
区間の長さで考えると単純に「0から
となります。
つまり、たとえば
このように、一様分布の累積分布関数は単純に
逆関数法の証明
いよいよ本題です。
逆関数法では、
「
ということを示します。
そのために、
まずは累積分布関数の定義から。
ここで、
となりますので、
さらに
ちなみに範囲条件については累積分布関数は元々
これを使うと、
となり、晴れて
おわりに
一様分布の生成は多くの言語でパッケージとして共有されているので、これを使えば自前で表現でできる分布の幅が広がりそうですね。
ここまで見ていただきありがとうございました。
Discussion