今回から、金融工学におけるシミュレーションについて学んでいく。テキストとして以下を使う。今回はP.52-P.58まで。
4. 一般の分布に従う乱数
- 問題に沿った(同時)分布に従う(多変量)乱数列の生成
- その乱数列を使った計算
の2つの部分に分けて考えられる。乱数列の生成は更に
- 一様分布に従う乱数列の生成
- それを元にした必要な同時分布に従う乱数列の生成
に分けられる。
4.4 正規分布
ここでは特に正規分布に従う乱数の生成方法を説明する。
4.4.1 逆関数法
標準正規分布の分布関数の逆関数を用いると、一様分布に従う乱数列から、標準正規分布に従う乱数列が得られる。ただし、は解析的に求めることはできないため、Moroの方法などで近似的に算出する*1。
4.4.2 極座標法
2変量の確率変数の同時分布関数が
と書けるとき、は2次元標準正規分布に従うという。2次元標準正規分布では、周辺分布はいずれも標準正規分布になる。または独立である。極座標、一様分布の逆関数法、指数関数の逆関数法を組み合わせると、正方形に一様に分布する点列から、2次元標準正規分布に従う点列が得られる。
2変量標準正規分布の密度関数の確率密度関数は
で書ける。確率変数に従うとき、の期待値は
と書ける。またであるとき、の期待値は、
である。
以上から、確率変数が2次元標準正規分布に従うとき、の期待値は
で計算できる。
これを活用して2次元標準正規分布に従う乱数を得るにはたとえばBox-Muller法がある*2。
またBox-Muller-Marsaglia法もある。
まず単位円の中に一様に分布する点列をつくり、指数分布の逆関数法を用いて2次元標準正規分布に変換する方法である。
(1) | 正方形に一様に分布する点列を生成する。 |
(2) | 点列から逆関数法によって正方形の中に一様に分布する点列を生成する。 |
(3) | 点列から不要な点を取り除いて単位円の内側に一様に分布する点列を生成する。点を極座標 で表示すると、は動径方向で一様に分布しは角方向でで一様に分布する。 |
(4) | 動径方向に指数分布の逆関数法を用いると、2次元標準正規分布に従う点列 が得られる。 を再びデカルト座標系で表示すると 点列は2次元正規分布に従う。 |
4.4.3 一般の多次元正規分布
次元確率ベクトルが
にしたがうとき、である。であるとき、を次元標準正規分布という。
で、とする。さらに正則行列を用いてと表されたとする。このとき、である。このはをCholesky分解することで得られる。
次元分散共分散行列を、下三角行列の各要素を
とすれば、
となる。
逆関数法およびCholesky分解を順に用いると次元超立方体に一様に分布する点列から、多次元標準正規分布に従う確率変数を介して、一般の多次元正規分布に従う確率変数が得られる:
(1) | 次元超立方体に一様に分布する点列を生成する。 |
(2) | から逆関数法又は極座標法により次元標準正規分布に従う点列を生成する。 |
(3) | 欲しい次元正規分布の分散共分散行列をCholesky分解してを求める。 |
(4) | 点列をで得る。 |