【ブートストラップ法】シミュレーションで推定しよう

こんにちは、タクロウです!

前回は、標本統計量の分布から母数を推定する方法を学びました。

【点推定・区間推定】標本から母集団の特徴を推定しよう

今回はシミュレーションで母数を推定する方法として、ブートストラップ法について学習します。

ブートストラップ法

手元のデータから復元抽出を繰り返してたくさんの再標本を生成し、その統計量から母数を推定する方法です。

小標本の場合など、母集団に確率分布を仮定できなくても、母数の推定ができます。統計学におけるモンテカルロ法の1つですが、乱数ではなく、実際にあるデータを使って分布を推定します。

#元データ作成:正規乱数20サンプル
n <- 20
samples <- rnorm(n)
samples_mean <- mean(samples)
samples_sd <- sd(samples)

#リサンプリング1000回
iteration <- 1000
resamples <- NULL
for(i in 1:iteration){
  sample_number <- floor(runif(10,min = 1, max = n+1 ))
  each_samples <- s_data[sample_number]
  resamples <- c(resamples, each_samples)
}

#比較
par(mfrow=c(1,2))
hist(samples)
hist(resamples)

mean(samples)
sd(samples)
mean(resamples)
sd(resamples)

t.test(samples)
t.test(resamples)
> mean(samples)
[1] -0.1014364
> sd(samples)
[1] 0.9382362
> mean(resamples)
[1] 0.1184313
> sd(resamples)
[1] 0.9271275
> t.test(samples)
95 percent confidence interval:
 -0.5405444  0.3376717
> t.test(resamples)
95 percent confidence interval:
 0.1002577 0.1366048

※t.testの結果は、95%信頼区間のみ抜粋

繰り返しは1000〜2000回ぐらい作ると統計量が安定するようです。新しく得られた平均と標準偏差を使うことで、より狭い区間で母平均を推定できていることが確認できました。

さいごに

今回は、シミュレーションで母数を推定する方法としてブートストラップ法を学びました。小標本で分布が未知で、母数をより狭い区間で推定するときに有用です。

次回は、標本平均に関する重要な2つの定理として、大数の法則と中心極限定理について学びます。

【大数の法則・中心極限定理】標本平均に関する重要な定理