パラメータ設定
データ分布
乱数はLCG(seed=42)で決定論的。Bが大きいと計算に少し時間がかかります。
原データとブートストラップ平均の分布
上:原データのヒストグラム(青)/下:B回ブートストラップ平均の分布(緑)+ 2.5/97.5パーセンタイル線(赤破線)
理論・主要公式
原データ $x_1,\ldots,x_N$ から復元抽出で $B$ 回の再標本を作り、各再標本で統計量 $T^*_b$ を計算します。
ブートストラップ標準誤差:
$$\widehat{\mathrm{SE}}_{\text{boot}} = \sqrt{\frac{1}{B-1}\sum_{b=1}^{B}\left(T^*_b - \bar{T^*}\right)^2}$$
95%信頼区間(パーセンタイル法):
$$\left[T^*_{(0.025)},\; T^*_{(0.975)}\right]$$
平均の理論SE(参考、ガウス分布の場合):
$$\mathrm{SE}(\bar{x}) = \frac{\sigma}{\sqrt{N}}$$
既定値 $N=100,\,\sigma=2$ では $\mathrm{SE}\approx 0.20$、CI幅 $\approx 0.78$ となります。
ブートストラップ信頼区間シミュレーターとは
🙋
アンケート結果の平均値に「±いくつ」みたいに幅をつけたいんですけど、データが正規分布じゃないと信頼区間って計算できないんですか?
🎓
そこで便利なのがブートストラップ法だよ。ざっくり言うと、手元のN点のデータから「同じ点を引いてもいい復元抽出」をB回繰り返して、B個の擬似データセットを作る。それぞれで平均を計算すると、平均のサンプリング分布が経験的に手に入るんだ。上のシミュレーターで $N=100,\,B=1000$ にしておいて、緑のヒストグラムを見てごらん。これが「もし同じ実験を1000回繰り返したら平均はどれくらいばらつくか」の近似だよ。
🙋
え、ただ同じデータから取り直してるだけなのに、ばらつきが見えるんですか?
🎓
不思議に思うよね。でも復元抽出だから、ある点が3回引かれて別の点が1回も引かれない、みたいなことが起きる。これがちょうど「もう一度この母集団からN点取り直したらどうなるか」のシミュレーションになっているんだ。Efronという統計学者が1979年に提案した時、教科書的に計算できなかった統計量のSE(標準誤差)が一気に求められるようになって、現代統計のスタンダードになった。
🙋
なるほど!「平均の95%CI」のカードが [9.6, 10.4] みたいになってますね。これが「真の平均はこの範囲に95%入る」ってことですか?
🎓
厳密には少し違って、「同じ手順を100回やったら、95回はこの区間が真値を含む」という意味だ。1回ごとの区間が当たるかどうかは確率的なんだ。それから注意してほしいのは、Bを増やしても区間幅は縮まないこと。試しに $B=5000$ にしてみて。形は滑らかになるけど幅はほぼ同じだろう?幅を縮めるのは反復回数Bではなくデータ数Nなんだ。$N=400$ にすると幅が半分になるはずだよ($\mathrm{SE}\propto 1/\sqrt{N}$ だから)。
🙋
あと、データ分布を「対数正規」に変えたら、平均と中央値の95%CIが全然違う場所に出ました!
🎓
いいところに気づいた。対数正規みたいに片裾が長い分布だと、平均は外れ値に引っ張られるけど、中央値はびくともしない。実務でも、所得・住宅価格・故障時間みたいに偏った分布のときは「中央値の信頼区間」をブートストラップで出すのが定石なんだ。理論SEの公式がない統計量でも、ブートストラップなら手順は全く同じというのが最大の強みだよ。
よくある質問
復元抽出は同じデータ点を何度引いてもよく、引いた点を戻してから次を引きます。N点から復元抽出でN点取ると、原データの約63%だけが少なくとも1回選ばれ、残り37%は1度も選ばれません。これにより各擬似標本に「ばらつき」が生じ、統計量の変動を推定できます。非復元抽出(重複なし)でN点取ると常に原データそのものになるため、ブートストラップでは必ず復元抽出を使います。
N=10〜20程度では、原データそのものが母集団を代表していない可能性が高く、ブートストラップ分布も実際のサンプリング分布から大きくずれます。特に裾の重い分布や中央値の推定では、Nが小さいと信頼区間が狭く見えても実際には信頼性が低い「過信」状態に陥ります。教科書的には最低でもN≥30、できれば100以上を推奨します。本ツールでNを20まで下げると、再標本分布が階段状になりCIが不安定になる様子を観察できます。
本ツールはパーセンタイル法(ブートストラップ分布の2.5/97.5%点をそのまま使う)を採用しており、最も実装が単純です。これに対しBCa法(バイアス補正+加速)はバイアスと歪度を補正しより正確、ブートストラップt法は標準誤差を毎回再計算してt統計量の分布を構築します。実務ではBCaが標準ですが、対称な分布ではパーセンタイル法でも十分実用的な結果が得られます。
使われます。材料試験の限られた検体数から疲労強度の信頼下限を推定したり、CFD/FEMで複数解析結果のばらつきから設計値のCIを出すなどに利用されます。特にモンテカルロ解析の結果から「平均応答」だけでなく「分位点(90%値・99%値)の信頼区間」を求めたい場合、分布形を仮定しないブートストラップが重宝されます。信頼性工学のワイブル分布パラメータの推定でもブートストラップが標準的に使われます。
実世界での応用
医学・臨床統計:新薬の効果を示す臨床試験では、サンプルサイズが限られ分布形も不明なことが多いため、生存時間中央値の信頼区間や治療群間の差をブートストラップで評価します。特にカプラン・マイヤー曲線の信頼帯や、ハザード比の非対称CIの算出で標準的に使われています。
機械学習モデルの評価:テストセットの精度・AUC・F1などをブートストラップ再標本で計算し、モデル性能の信頼区間や2モデル間の有意差を評価します。クロスバリデーションと組み合わせる「.632ブートストラップ」は、小データセットでの汎化誤差推定の定番手法です。
金融工学のリスク評価:過去のリターン系列から復元抽出で擬似的な将来シナリオを生成し、VaR(Value at Risk)やExpected Shortfallの信頼区間を求めます。正規分布を仮定しないため、現実の市場で頻発する「裾の厚い」リスクを過小評価せずに済む利点があります。
地震・気象などの希少現象解析:限られた観測記録から「100年に1度」の極値の信頼区間を求めるとき、極値分布のパラメータ推定にブートストラップを使います。理論的なSE公式が存在しない複雑な統計量でも、手順を変えずに区間推定できる点が決め手になります。
よくある誤解と注意点
最も多い誤解は、「Bを大きくすればCIが狭くなる」と思ってしまうことです。ブートストラップ反復回数Bを増やすと再標本分布が滑らかになり、CIの推定値そのものは安定しますが、CIの幅は本質的に原データ数Nで決まります。本ツールで $N=100$ のまま $B$ を100から5000まで動かしてみてください。緑のヒストグラムは滑らかになりますが、赤の破線(CI境界)はほぼ同じ位置から動きません。一方 $N$ を100から400に増やすと、CI幅は約半分($\mathrm{SE}\propto 1/\sqrt{N}$)になります。
次に多い誤解が、「95%CIが真の値を含む確率は95%」という解釈です。正確には「同じ手順で実験を100回繰り返すと、95個のCIが真値を含む」という頻度論的な解釈になります。1回の特定のCIに対して「真値が含まれる確率」を語るのはベイズ統計の信用区間(credible interval)の話で、両者は概念的に別物です。実務上どちらも「だいたい95%の信頼度で真値はこの範囲」と読みますが、論文や報告書では用語を厳密に区別すべきです。
最後に、「ブートストラップは魔法のように常に有効」という思い込みも危険です。原データが極端に少ない(N<20)、極値統計(最大値・最小値)、重い裾を持つ分布の分散などでは、ブートストラップ分布が実際のサンプリング分布から大きく外れることが知られています。本ツールでデータ分布を「対数正規」に切り替え、$N=20$ まで下げると、平均のCIが明らかに非対称になり、しかも標本ごとに大きく揺れる様子が観察できます。こうした困難なケースでは、BCa補正やパラメトリックブートストラップなど、より高度な手法を検討する必要があります。