🎓 レベル:標準 | 重要度:A(必須)
📎 前提:モンテカルロ積分の原理 | 関連:推定量の信頼区間 | 第4章 分散減少法 目次
要点(BLUF)
- モンテカルロ推定の誤差(標準偏差)は 。サンプル を100倍にして、誤差はやっと10分の1。
- この 則は積分の次元に依らない——ここが格子型数値積分(台形則・シンプソン則)に対する決定的優位(次元の呪いを回避)。
- RMSE を実測すると がほぼ一定(約0.49〜0.54)で、理論の に収束することを確かめます。
1. 誤差の大きさ:標準誤差
モンテカルロ推定量 (モンテカルロ積分の原理)の分散は、独立標本なので
標準偏差(=標準誤差)はその平方根 。中心極限定理より は近似的に正規分布なので、誤差の典型的な大きさはこの標準誤差で測れます。
重要な含意:精度を1桁(10倍)上げるには、サンプルを100倍にする必要がある。モンテカルロが「遅い」と言われる理由です。改善の方向は2つ—— を増やす(力技)か、 を下げる(分散減少法、賢い)。
2. 実測:RMSE×√n は一定になる
の推定を各 で200回繰り返し、二乗平均平方根誤差(RMSE)を測ります。理論が正しければ なので、(一定)になるはずです。
import numpy as np
# 乱数シードを固定
rng = np.random.default_rng(21)
true = np.e - 1
for n in [100, 1000, 10000, 100000, 1000000]:
errs = []
for rep in range(200): # 各 n で200回繰り返し
x = rng.random(n)
errs.append(np.exp(x).mean() - true)
rmse = np.sqrt(np.mean(np.array(errs)**2))
print(f"n={n:>7}: RMSE={rmse:.5f} RMSE x sqrt(n)={rmse*np.sqrt(n):.4f}")
# 理論的な sigma = sd of e^U on U(0,1)
xx = rng.random(2_000_000)
print(f"理論 sigma (e^U の標準偏差) = {np.exp(xx).std():.4f}")
出力:
n= 100: RMSE=0.05373 RMSE x sqrt(n)=0.5373
n= 1000: RMSE=0.01664 RMSE x sqrt(n)=0.5262
n= 10000: RMSE=0.00494 RMSE x sqrt(n)=0.4943
n= 100000: RMSE=0.00159 RMSE x sqrt(n)=0.5018
n=1000000: RMSE=0.00051 RMSE x sqrt(n)=0.5106
理論 sigma (e^U の標準偏差) = 0.4921
出力の意味: が100倍になるたび RMSE はおよそ10分の1(0.0537 → 0.00494 → 0.00051)。一方 は 0.49〜0.54 でほぼ一定、理論の の周りに収まります。これが 則の実証です。 で割ると一定になる=誤差は だと数値が裏付けています。
3. 次元に依らない——最大の長所
格子型の数値積分は、 次元で各軸を 分割すると点数 、誤差は (台形則は )と、次元 が上がるほど収束が劇的に悪化します(次元の呪い)。
モンテカルロの誤差 には次元 がどこにも出てきません。サンプル点はランダムなので「軸ごとに分割」という発想自体が無く、 点で測れば次元が10でも100でも誤差は 。
| 手法 | 誤差オーダー | 次元の影響 |
|---|---|---|
| 台形則 | 次元で激減 | |
| シンプソン則 | 次元で激減 | |
| モンテカルロ | なし |
だから低次元では決定的手法に負けますが、おおむね あたりからモンテカルロが逆転します。高次元積分(ベイズの周辺尤度、金融の多資産オプション)でモンテカルロが標準になるのはこのためです。
数式の直観的意味
の は「独立な誤差は打ち消し合うが、完全には消えない」ことの表現です。 個の独立な揺らぎを足すと、和の標準偏差は 倍(分散が 倍)。平均はそれを で割るので だけ残る。ランダムウォークが で広がるのと同じ算術です。次元に依らないのは、誤差が「 という1次元の確率変数のばらつき 」だけで決まり、 が何次元空間の点かは の値に影響しても収束の指数 には影響しないから。改善するなら指数は動かせない( のまま)ので、係数 を削る——それが分散減少法の戦略です。
⚠️ よくある誤解・落とし穴
- 「 を2倍で誤差半分」ではない: なので半分にするには4倍。10分の1にするには100倍。
- 「モンテカルロはいつでも優れている」ではない:低次元(1〜3)では台形則・シンプソン則が桁違いに速い。優位は高次元限定。
- 「 は固定で変えられない」ではない:被積分関数の表し方(重点サンプリング・制御変量)で は下げられます。それが第4章の主題。
- 「収束が見えないのはバグ」ではない: が無限(重い裾)だと 則が成り立たず収束が異常に遅い/見えない。分散の有限性を確認します。
- 「準モンテカルロも 」ではない:低食い違い列を使う準モンテカルロ法は条件下で とより速くなります(乱数ではなく決定的な敷き詰め)。
対応シミュレーション参照
本文の RMSE×√n 一定性の実測(default_rng(21))。
関連ノート
- モンテカルロ積分の原理(前提・推定量の定義)
- 推定量の信頼区間(次のトピック・標準誤差を区間に)
- 第4章 分散減少法 目次( を下げて効率化)
- 準モンテカルロ法(収束を より速く)
- 第3章 モンテカルロ積分 目次
- シミュレーション・モンテカルロ法 全体目次