🎓 レベル:基礎 | 重要度:A(必須)
📎 前提:大数の法則と中心極限定理の役割 | 関連:収束率と誤差(√n則)
要点(BLUF)
- モンテカルロ積分:積分 を期待値 と見なし、一様乱数での標本平均で近似します。
- 推定量は不偏(期待値が真の積分に一致)。 を100万標本で 1.71968 と推定、真値 と一致。
- 一般の密度 からサンプリングする形 に拡張でき、これが期待値推定・重点サンプリングの土台です。
1. 積分を期待値として書く
定積分 を考えます。区間 上の一様分布 の密度は なので、
つまり積分は、一様乱数で評価した の期待値を 倍したもの。期待値は大数の法則で標本平均に置き換えられるので、独立な を引いて
が推定量になります。これがモンテカルロ積分です。
flowchart LR
A["積分 I = ∫g dx"] -->|"期待値に翻訳"| B["I = (b-a)・E(g(U))"]
B -->|"大数の法則"| C["標本平均で近似"]
2. 不偏性
の期待値を取ると
サンプル数 によらず、推定の期待値は真の積分 にぴったり一致します。これが不偏性。バイアスがゼロなので、誤差は分散(ばらつき)だけの問題になり、 を増やせば[[03-02_収束率と誤差| で縮む]]、という綺麗な構図になります。
3. 具体例:∫₀¹ eˣ dx を推定する
真値は 。一様乱数で の平均を取ります()。
import numpy as np
# 乱数シードを固定
rng = np.random.default_rng(20)
n = 1_000_000
x = rng.random(n) # Uniform(0,1)
estimate = np.exp(x).mean() # (b-a)=1 なので平均そのもの
print(f"モンテカルロ推定 = {estimate:.5f}")
print(f"真値 (e-1) = {np.e - 1:.5f}")
print(f"絶対誤差 = {abs(estimate - (np.e-1)):.5f}")
出力:
モンテカルロ推定 = 1.71968
真値 (e-1) = 1.71828
絶対誤差 = 0.00139
出力の意味:100万標本で を 1.71968 と推定、誤差 0.0014。一般区間でも同じで、(真値2)は 倍して推定できます。「積分を平均に翻訳する」——たったこれだけで、解析解のない積分も数値化できるのがモンテカルロの威力です。
4. 一般の密度への拡張
一様分布に限らず、任意の密度 からサンプリングする期待値
も同じ枠組みです。ベイズの事後期待値、金融のオプション価格、信頼性の故障確率——応用上の「期待値を計算したい」はすべてこの形。 をわざと変えて分散を下げるのが重点サンプリング、 から直接引けないときに連鎖で引くのがMCMCです。
積分を期待値に書き換えるとき、被積分関数を「」のどこで切るか(何を密度と見るか)には自由度があり、その選択が推定の効率(分散)を左右します。
数式の直観的意味
モンテカルロ積分は「関数の平均の高さ × 区間の幅 = 面積」という小学校の長方形近似を、乱数で実行しているだけです。決定的な数値積分(台形則)が「等間隔の格子で高さを測る」のに対し、モンテカルロは「ランダムな点で高さを測り、その平均を取る」。等間隔だと次元 で格子点が に爆発しますが、ランダムサンプリングなら点の数は次元と独立に選べる——だから高次元で逆転します。不偏性は「ランダムに測っても、平均の高さは正しく当たる」ことの保証です。
⚠️ よくある誤解・落とし穴
- 「 倍を忘れる」:一様区間が 以外なら を掛けないと積分になりません。 だから不要なだけ。
- 「不偏なら誤差ゼロ」ではない:不偏は「平均的に当たる」だけ。1回の推定は分散ぶんブレます。誤差を消すには を増やす(収束率と誤差(√n則))。
- 「低次元でもモンテカルロが最善」ではない:1〜3次元なら台形則・シンプソン則が圧倒的に速く正確。モンテカルロが効くのは高次元です。
- 「無限区間でも一様で引ける」ではない: が無限だと一様分布が定義できません。変数変換するか、適切な密度 からサンプリングします。
- 「被積分関数が発散しても平気」ではない: の分散が無限だと 則が崩れ、推定が不安定になります。
対応シミュレーション参照
本文の 推定(default_rng(20))。収束の速さは収束率と誤差(√n則)へ。
関連ノート
- 大数の法則と中心極限定理の役割(前提・標本平均が期待値に収束)
- 収束率と誤差(√n則)(次のトピック・誤差はどれだけ縮むか)
- ヒット・アンド・ミス法(当たり判定版の積分)
- 重点サンプリング(密度 を選んで分散を下げる)
- 第3章 モンテカルロ積分 目次
- シミュレーション・モンテカルロ法 全体目次