重要サンプリング シミュレーター 戻る
数理統計シミュレーター

重要サンプリング — 裾確率の効率的推定

標準正規分布の裾確率 P(X>t) を、直接モンテカルロと重要サンプリングで並列推定。提案分布の平均・標準偏差を変えて、分散低減の効果をリアルタイムで体感できます。

パラメータ設定
裾閾値 t
σ
サンプル数 N
提案分布の平均 μ
提案分布の標準偏差 σ

乱数は LCG(seed=42 固定)と Box-Muller 法で生成しているため、同じ設定なら結果は再現します。

計算結果
真値 P(X>t)
直接MC推定値
IS推定値
分散低減比 Var_MC/Var_IS
目標分布 p と提案分布 q・推定値の収束

上半:青=N(0,1) 目標分布/緑=提案分布 q(x)/赤点線=裾閾値 t/赤塗り=裾領域 x>t 下半:青=直接MC推定値/赤=IS推定値/緑破線=真値

理論・主要公式

目標分布 $p$ における期待値を、別の提案分布 $q$ からのサンプルで評価する重み付き推定式:

$$I = \mathbb{E}_p[h(X)] = \int h(x)\,p(x)\,dx = \mathbb{E}_q\!\left[h(X)\,\frac{p(X)}{q(X)}\right]$$

$q$ から $N$ サンプル $X_i$ を引き、重み $w(X_i)=p(X_i)/q(X_i)$ で補正した重要サンプリング推定量:

$$\hat I_{\text{IS}} = \frac{1}{N}\sum_{i=1}^{N} h(X_i)\,w(X_i),\quad X_i \sim q$$

裾確率 $P(X>t)$ では $h(x)=\mathbf 1(x>t)$、$p=\mathcal N(0,1)$、$q=\mathcal N(\mu,\sigma^2)$ ととる。重みは

$$w(x)=\frac{\sigma\exp(-x^2/2)}{\exp(-(x-\mu)^2/(2\sigma^2))}$$

$\mu\approx t$ と取ると、ほぼ全サンプルが裾に落ち、分散低減比 $\operatorname{Var}(\hat I_{\text{MC}})/\operatorname{Var}(\hat I_{\text{IS}})$ は数倍〜1000倍に達します。

重要サンプリング シミュレーターとは

🙋
「裾確率」って何ですか?普通のモンテカルロ法で適当に乱数を10000個生成すれば、確率なんてすぐ求まりそうな気がするんですけど。
🎓
大まかに言うと、稀にしか起きない事象の確率のことだよ。例えば標準正規分布で「3σより大きい値が出る確率」は約0.00135——10000回サンプリングしてもヒットするのはだいたい13個しかない。シミュレーターで t=3 のときの「直接MC推定値」を見てごらん。揺らぎが大きくて、毎回ちょっと違う値が出る。相対的な誤差はざっくり 1/√13 ≈ 28% にもなるんだ。
🙋
え、28%もずれるんですか?じゃあ、もっとサンプル数を増やせばいいだけでは…?
🎓
それが、t=5(5σ)になると真値は約3×10⁻⁷で、10000サンプル中ヒットは平均0.003個。100万サンプル取ってもまだ3個程度しか当たらない。t を大きくするほど、必要なサンプル数は指数的に増える。そこで登場するのが「重要サンプリング(IS)」だ。シミュレーターで提案分布の μ を 3 のままにして、IS推定値カードを見て。直接MCより安定した値になっているはずだよ。
🙋
なるほど!緑のカーブが裾の方に寄ってますね。これはどういう仕組みなんですか?
🎓
提案分布 q(x) を「興味のある領域(裾)」に集中させてサンプリングし、重み w(x) = p(x)/q(x) で補正するんだ。期待値の式 ∫h(x)p(x)dx は ∫h(x)w(x)q(x)dx と書き換えられるから、どんな提案分布を使っても期待値そのものは保たれる。シミュレーターで「分散低減比」カードを見て。デフォルト設定で10倍以上、μ=t に揃えるとそれ以上になるはずだ。
🙋
じゃあ μ を大きくすればするほど良いんですか?例えば μ=5 にしてみたら…あれ、分散低減比が下がった気がします。
🎓
そう、それが重要サンプリングの落とし穴。μ を t より大きくしすぎると、サンプルは確かに裾に落ちるけど、重み w(x) が大きくばらつくようになる。理論的には μ ≈ t が最適で、シミュレーターで μ をいろいろ動かしてみると「分散低減比」が μ=t 付近で最大になることがわかる。実務では提案分布の選び方そのものが研究テーマなんだ。

よくある質問

期待値の式 E_p[h(X)] = ∫h(x)p(x)dx に q(x)/q(x) = 1 を掛けて変形すると、∫h(x)·{p(x)/q(x)}·q(x)dx = E_q[h(X)·p(X)/q(X)] となり、形式的にはどんな q でも成り立ちます。ただし q(x)=0 となる領域で p(x)·h(x)≠0 だと推定が破綻するため、サポートが目標分布をカバーする提案分布を選ぶ必要があります。
分散低減比 Var_MC/Var_IS が10なら、同じ精度を得るのに必要なサンプル数が10分の1で済むという意味です。直接MCで10万サンプル必要な計算が、重要サンプリングなら1万サンプルで済みます。比が100ならさらに10倍効率的。稀少事象では1000倍以上になることもあり、計算時間を桁違いに削減できます。
「重みの分散爆発」と呼ばれる典型的な失敗モードです。少数のサンプルが極端に大きな重みを持つと、それらが推定値を支配し、見かけ上は値が出ても分散が破滅的に大きくなります。対策として、提案分布を目標分布に近づける(μ や σ を再選択)、自己正規化重要サンプリング(SIS)を使う、有効サンプルサイズ ESS=(Σw)²/Σw² を監視する、などがあります。
使えます。むしろ構造信頼性解析の主力手法です。材料強度や荷重などの不確かさを持つパラメータを入力として FEM を実行し、破壊確率を推定する際、破壊確率が 10⁻⁴ 以下になると直接MCでは事実上計算不可能になります。設計点(最も壊れやすいパラメータ組合せ)の近傍に提案分布を取る「設計点重要サンプリング」が広く使われています。

実世界での応用

構造信頼性解析:橋梁・航空機・原子力プラントなどの破壊確率が 10⁻⁴〜10⁻⁹ レベルになる構造物では、直接モンテカルロ法は事実上不可能です。FORM/SORM や設計点重要サンプリング(DP-IS)と組み合わせ、有限要素解析を数千〜数万回回して破壊確率を高精度に推定します。日本の道路橋示方書や ASME 規格の信頼性指標 β の算定にも使われています。

金融工学のリスク管理:VaR(Value at Risk)や CVaR(Conditional VaR)の推定で、ポートフォリオの大損失イベントは確率分布の裾にあります。市場急落シナリオに提案分布を寄せることで、必要なシナリオ数を1000分の1以下に削減でき、リアルタイムリスク計算が現実的になります。クォンツファイナンスの基本ツールです。

通信工学のビット誤り率推定:ディジタル通信では BER(Bit Error Rate)が 10⁻⁹ オーダーになることが珍しくなく、直接シミュレーションでは何百億ビットも必要です。雑音分布の裾に提案分布を集中させる重要サンプリングで、現実的な計算時間(数時間)で BER カーブを描けるようになり、変調方式や誤り訂正符号の設計に活用されています。

ベイズ統計と粒子フィルタ:逐次重要リサンプリング(SIR)や粒子フィルタ(Sequential Monte Carlo)の核心は重要サンプリングです。事後分布から直接サンプリングできない一般のベイズ推定で、提案分布として尤度に比例する近似を用い、重みで補正します。自動運転の状態推定やロボティクスの位置推定でも使われています。

よくある誤解と注意点

最も多い誤解は、「提案分布は目標分布から遠いほど良い」という思い込みです。シミュレーターで μ をデフォルトの 3.0 から 5.0 に増やしてみてください。サンプルは確かに裾にぴったり集まりますが、分散低減比は逆に下がるはずです。これは、サンプルが密集しすぎると重み w(x)=p(x)/q(x) が一部のサンプルで極端に大きくなり、いわゆる「重みの分散爆発」を引き起こすためです。理論的な最適点は μ≈t(裾閾値)の近傍であり、行きすぎても不足しても効率が落ちます。

次に、サンプル数 N を増やせば必ず重要サンプリングが直接MCに勝つと信じてしまうこと。提案分布の選び方を誤ると、N をいくら増やしても分散は減らず、むしろ少数の外れ値サンプルに引きずられて推定値が不安定になります。シミュレーターで σ を 0.5 と小さく、μ を 5 に設定すると、重みの分散が大きくなり推定値が安定しないことが観察できます。実務では有効サンプルサイズ ESS = (Σw_i)² / Σw_i² を監視し、ESS が N の数%を下回ったら提案分布を見直すのが定石です。

最後に、重要サンプリングは「魔法」ではないという点。確かに直接MCに比べて分散を桁違いに減らせますが、それは「サンプルあたりの情報量を最大化する」だけで、本質的な計算量がゼロになるわけではありません。提案分布の設計には目標分布や被積分関数の知識が必要で、これを誤ると逆に直接MCより悪化します。本シミュレーターのように単純な裾確率なら最適 μ は理論的に分かりますが、実問題では適応的重要サンプリング(AIS)や交差エントロピー法(CE)で提案分布自体を学習する手法が研究されています。