モンテカルロ法
モンテカルロ法は、乱数サンプリングで期待値・確率・最適化を近似する計算手法である。大数の法則と中心極限定理により、標本数nを増やすほど誤差はO(n^{-1/2})で減る。高次元積分、幾何、信頼性、金融リスク、放射線輸送、製造のばらつき、解析が難しい課題に強い。一方、分散が大きいと収束が遅くなるため、分散削減と良質な擬似乱数が鍵となる。
起源と考え方
名称はMonte Carloに由来し、Ulam・von Neumannが原子核計算で確立した。評価対象を確率変数の関数として表し、その標本平均で近似する。偏りのない推定量を選び、分散を抑え、再現性を確保するのが基本である。
乱数と擬似乱数
実装にはPRNGを用いる。Mersenne TwisterやPCGなどが代表で、周期・均一性・独立ストリームが評価軸である。シード固定で再現性を担保し、逆関数法や棄却法で目標分布からサンプリングする。
数値積分と高次元
d次元積分は通常法だと計算量が爆発するが、モンテカルロ法誤差率はdに依存しにくい。一様乱数で領域をサンプリングし、被積分関数の平均に体積を掛ける。テールが重い関数では分散が増えるため、密度の調整が必要である。
分散削減
- 重要度サンプリング:目的関数に合う密度で重み付け推定。
- 層化サンプリング:層ごとに均等割付で代表性向上。
- アンチテティック:負相関のペアを同時評価して相殺。
- 低偏差列:Sobol・Haltonで空間充填を改善。
MCMC
複雑な事後分布のサンプリングにはMCMCを用いる。Metropolis–HastingsやGibbs samplingで目標分布を定常分布にもつ連鎖を作り、標本平均で推定する。バーンイン、自己相関、Gelman–Rubin統計量などの診断が要点である。
誤差評価と停止
標本平均の標準誤差はサンプル分散の平方根をn^{1/2}で割って推定する。信頼区間幅から必要標本数を逆算し、分散の安定や複数試行の一致を指標に停止させるのが実務的である。
実装上の勘所
- 再現性:シード・PRNG・バージョンを明記。
- 並列化:独立試行はGPUや分散環境で高速化できるが相関に注意。
- 検証:玩具問題でバイアスと分散を確認。
例:円周率π
- 単位正方形に一様乱数で点を打ち、1/4円に入る割合rを測る。
- 面積関係よりπ≒4r。標本数を増やせば精度が上がる。
- 層化や低偏差列の併用で少ない試行でも精度が上がる。
準モンテカルロ
低離散列で空間充填を高める手法で、状況によりO(n^{-1+ε})相当の収束が得られる。ランダマイズで不偏性と分散評価を両立でき、感度解析や信頼性評価で有効である。
適用分野
金融工学のVaRやオプション、原子炉・放射線輸送、誤差伝搬、待ち行列・在庫、製造ラインのスループット、公差設計と工程ばらつきの最適化など、で力を発揮する。
関連する数学
大数の法則、中心極限定理、マルコフ過程、分散分解などが基盤である。適切なPRNGと分散削減を組み合わせれば、モンテカルロ法は高次元・複雑系でも堅牢に機能する。