確率変数と分布関数

確率について、欲しい情報を集めているサイトが見つからないので、軽くまとめてみる。


分布関数とは、ある集合に含まれる値(標本)の分布を表す関数である。集合が無限で、標本が連続した値を取る場合、分布ではなく分布密度で表すことになるが、これは有限集合の極限と考えれば、同様に扱える。標本の集合から1つの標本を選ぶ変数を確率変数と呼ぶ*1


分布関数f(x)は、確率変数Xからxが得られる確率を表す。


一様乱数とは、ある区間(無限も含む)での分布関数f(x)がf(x)=定数となる確率変数である。例えば、数直線から任意の1点を選ぶ確率変数は区間(∞,∞)の一様乱数である。


ある全単射である一変数関数F(x)を考える。Fの引数を一様乱数(X)とし、十分な量のXについて分布を調べると、対応する分布関数f(x)が得られる。次にいくつかの初等関数に対してF(X)とf(x)の関係を示す。Xの範囲は(0,1)とした。端が半分の値になっているのは四捨五入しているためである。







これらのグラフから以下の関係が得られる。


f(x)=\frac{\text{d}}{\text{d} x} F^{-1}


F(x)=g^{-1}(x)\qquad\left(g(x)=\int f(x) \text{d} x \right)


分布関数を積分して逆関数を求めれば、その分布関数に従う確率変数を与える乱数が得られる。



乱数の和の分布関数は分布関数同士の畳み込みとなり、次式で表される。


(F * G)(t) = \int F(\tau) G(t - \tau)\, \text{d}\tau


例えば、同じ範囲の一様乱数2つの和を取ると三角形状になり、より多く重ねると角が取れて正規分布に近づく。


検証

速度分布に応じた乱数生成 - 象徴ヶ淵で求めた乱数関数の分布を求めることが出来る。


(-\log x)^{2/5}\; \to\; -x^{3/2}e^{-x^{5/2}}


となり、元の式とやや異なることが分かる。一般には積分逆関数も求めることは難しい。


*1:プログラムでは関数で表すため、乱数関数と呼ぶ。