乱数は LCG(seed=42 固定)と Box-Muller 法で生成しているため、同じ設定なら結果は再現します。
上半:青=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倍に達します。