乱数生成は統計やシミュレーションにおいて非常に重要な役割を果たします。特に、特定の確率分布に従う確率変数を生成することは、統計モデリングや金融工学など多くの分野で必要です。その一つの方法として「逆関数法」がよく使われます。今回は、この逆関数法をわかりやすく解説していきます。
逆関数法は、標準一様分布に従う確率変数と、生成したい確率変数の分布関数の逆関数を利用して、生成したい確率変数をシミュレーションする方法です。
補足ですが、標準一様分布に従う確率変数というのは、確率密度関数が
\begin{align*} f = \begin{cases} 1 &(x \in [0, 1]) \\ 0 & (x \notin [0,1]) \end{cases}\end{align*}
である確率変数です。別の言い方をすると、値域が0から1の、一様分布に従う確率変数です。
ここで扱う確率変数は、連続型の確率変数を想定しています。
分布関数\(F\)が既知の確率変数\(X\)をシミュレーションにより再現したいとします。
まず、標準一様分布に従う確率変数\(U\)を用意します。
すると、
\begin{align*} F^{-1}U\end{align*}
という確率変数は、\(X\)と分布関数の一致する確率変数となります。
このことを実際に確かめてみましょう。
標準一様分布に従う確率変数\(U\)についてですが、\(0\leq u \leq 1\)に対して、
\begin{align*} P(U \leq u) = \int_0^u 1 ds = u \end{align*}
であったことを思い出しておきます。
すると、実際に、
\begin{align*} P(F^{-1}U \leq x) = P(U \leq F(x)) = F(x)\end{align*}
となるので、確かに\(F^{-1}U\)の分布関数が\(X\)と一致することを確認できました。
念の為、逆関数に慣れていない人のために、\(F^{-1}U\)がどういう確率変数かを確認しておきます。
えいや、と乱数を発生させると、まず0から1の実数\(U(\omega)\)が弾き出されます。
そして、\(F^{-1}U(\omega)\)というのは、\(F(x) = U(\omega)\)となる\(x\)です。
コメント