こんにちは、たくろー(@takuro_data )です!
前回は、標本統計量の分布から母数を推定する方法を学びました。
今回はシミュレーションで母数を推定する方法として、ブートストラップ法について学習します。
ブートストラップ法
手元のデータから復元抽出を繰り返してたくさんの再標本を生成し、その統計量から母数を推定する方法です。
小標本の場合など、母集団に確率分布を仮定できなくても、母数の推定ができます。統計学におけるモンテカルロ法の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つの定理として、大数の法則と中心極限定理について学びます。