突然終わるかもしれないブログ

確率や統計の内容について記事を書く予定です.

ブートストラップ法

ブートストラップ法についてまとめたいと思います.

ブートストラップ法とは

モチベーション

シンプルな例を通して,ブートストラップ法のモチベーションを説明します.

今,平均 $\theta$ 分散1の正規分布 $\mathcal{N}(\theta,1)$ から以下のような5つの標本を得たとします:
$x_1= -1.34$
$x_2= -0.81$,
$x_3= 0.73$,
$x_4= -0.66$,
$x_5= -0.36$.

このとき$\theta$の最尤推定量は標本平均ですので,

$\hat{\theta}_{\rm MLE} = \frac{x_1+\cdots +x_5}{5}=-0.488$.

再生性から標本平均は分散$1/\sqrt{5}$の正規分布に従いますので,
95%信頼区間は
\begin{align*}
-0.488-1.96\times \frac{1}{\sqrt{5}} \leq \hat{\theta}_{\rm MLE} \leq -0.488+1.96\times \frac{1}{\sqrt{5}}
\end{align*}

このように,モデルを特定していれば推定量$\hat{\theta}$の統計的性質(信頼区間等)が計算できます.

ここからが本題ですが,以下のような問題を考察します.

1. 正規性を仮定できない場合にはどうするか?

``標本が $f(x-\theta)$ ($f$:ある確率密度関数)というモデルから得られた"
という情報しかない(というモデルを仮定した)場合に,
上述のように$\theta$の推定量(算術平均)の信頼区間を作れるでしょうか?

2. 複雑な推定量の場合にはどうするか?

例えば,positive part James--Stein 推定量のような場合に信頼区間を構成できるでしょうか?*1
(参考: James–Stein estimator - Wikipedia, the free encyclopedia)


ブートストラップ法はこのような問題に計算機ベースで答えを出します.

大事なことですが,ブートストラップの応用は広く,
上述の信頼区間の問題は応用例の一つです.
そのほかにもバイアス補正や検定,予測といった問題に応用できます.

ブートストラップ法

ブートストラップ法とは,一言で述べれば
``復元抽出に基づく計算機ベースの統計的推測"
と言えるのではないでしょうか.

具体的に上述の1の問題に答える形で,
ブートストラップ法について説明したいと思います.

まず次の1と2の手順を$B$回繰り返します.

  1. $\{x_1,\ldots,x_5\}$から復元抽出で$\{x_1^{*},\ldots,x_5^{*}\}$を作る.(ブートストラップ標本と呼ばれる)
  2. $\{x_1^{*},\ldots,x_5^{*}\}$を基に最尤推定量(算術平均)$\hat{\theta}_{\rm MLE}^*$を作る.

こうして$\hat{\theta}_{\rm MLE}^*$を$B$個作ります.

信頼区間を求めたければ,$B$個の$\hat{\theta}_{\rm MLE}^*$の95%区間を計算します.
つまり$B$個をソートして,上下2.5%のとこにある値を見れば良いです

以上です.非常にシンプルです.
実際に最初の具体例でブートストラップ法によって構成された
$B$個の$\hat{\theta}_{\rm MLE}^*$のヒストグラムを見てみます.

f:id:mkprob:20150524155725p:plain

ブートストラップ法の良さ

良いところは以下の二点ではないかと思います.

  1. シンプル
  2. 計算機ベースでノンパラメトリックな方法

2つ目について.
ノンパラ・セミパラメトリックモデルの場合,得てして理論的解析が複雑です.
そうしたモデルでも,計算機ベースでシンプルに統計的推測ができるので
ブートストラップは重宝されるのではないでしょうか.

ブートストラップは何故``うまく"いくのか?

ブートストラップが何をしているのかを最後に説明したいと思います.

Efron & Tibshirani の本の絵による説明が一番わかりやすいと思います.

f:id:mkprob:20150524165404p:plain

真のモデル $P$ が分かっていれば,そこから標本を抽出し推定量を構成することで,
推定量の従う分布がわかります.

実際は真のモデル $P$ がわからないので,経験分布 $\hat{P}$ を $P$ だと思って,
同じことをしているのがブートストラップ法ということになります.

経験分布とは観測値$x_1,\ldots,x_n$のそれぞれの値を確率$1/n$でとる確率分布の事です.
従って経験分布からの標本を得たければ,復元抽出ということになります.

また $P$ を $\hat{P}$ に置き換えてることからもわかるように,
観測数$n$が大きい方がブートストラップ法の精度も上がります.

参考文献

以下の本がわかりやすいです.
今回はブートストラップの基本的なところをまとめたので,
もう少し突っ込んだ話題も,そのうちまとめたいです.


計算統計学の方法―ブートストラップ・EMアルゴリズム・MCMC (シリーズ予測と発見の科学 5)

計算統計学の方法―ブートストラップ・EMアルゴリズム・MCMC (シリーズ予測と発見の科学 5)

An Introduction to the Bootstrap (Chapman & Hall/CRC Monographs on Statistics & Applied Probability)

An Introduction to the Bootstrap (Chapman & Hall/CRC Monographs on Statistics & Applied Probability)

*1:できたらごめんなさい.