Excelで確率変数を実現する方法(2)

Excelで確率変数を実現する方法(1)」の続きです。

ある確率密度関数f(x)を持つような確率変数をExcel上で発生させるには

  • 1.累積確率関数F(x)を求める。
  • 2.その逆関数F^{-1}(x)を求める。
  • 3.上で求めたF^{-1}(x)xのところに「RAND()」を入れた形のExcelの数式をExcelのセルに入力する。

が何故いえるのか、考えてみました。
確率変数X確率密度関数f(x)に従って変動するとします。任意の2つの値[tex:x_1

  • P=\Bigint_{x_1}^{x_2}f(x)dx=F(x_2)-F(x_1)

になります。ここで累積確率関数のグラフを用いると、

上の図の赤の線分の長さが確率Pになります。この長さに等しい確率でこのy軸上の範囲(F(x_1),F(x_2))に入るような確率関数は、まさに0から1までの一様分布を持つ確率変数です。これをYで表しましょう。そうすると

  • Y=F(X)

となるので

  • X=F^{-1}(Y)

となります。このYExcelでは「RAND()」で表現出来ました。よって、F^{-1}(Y)Yのところに「RAND()」を代入すれば、f(x)に従う確率変数Xを模擬することが出来ます。


少し、例を挙げておきます。
確率密度関数

  • f(x)=\frac{1}{2}\exp(-\frac{x}{2})

を持つ確率変数をExcel上で発生させる場合は、まず累積確率関数F(x)を計算すると

  • F(x)=\exp(-\frac{x}{2})

となるので、逆関数

  • F^{-1}(y)=-2\log(y)

よって、入力するのは「=-2*LN(RAND())」になります。