シンプルなブートストラップを実行する
ブートストラップのセクション最初の演習へようこそ。ここでは、シンプルなブートストラップの実行方法を例を通して学びます。動画で見たように、ブートストラップの基本的な考え方は復元抽出(sampling with replacement)です。
あなたはレンチを製造する工場のオーナーだとします。レンチの平均の長さを把握し、規格を満たしているか確認したいと考えています。工場は毎日何千本ものレンチを生産しますが、すべての長さを測定するのは現実的ではありません。一方で、代表性のある100本のサンプルは手元にあります。ブートストラップを使って、平均の95%信頼区間(CI)を求めてみましょう。
シェルで、レンチ100本の観測長さが入ったリスト wrench_lengths を確認してください。
この演習はコースの一部です
Pythonで学ぶ統計シミュレーション
演習の手順
wrench_lengthsから復元抽出でランダムサンプルを取り、temp_sampleに保存します。size = len(wrench_lengths)を設定します。- 各サンプルの平均長を計算して
sample_meanに代入し、mean_lengthsに追加します。 np.percentile()を使ってブートストラップ平均(boot_mean)とブートストラップ95%信頼区間(boot_95_ci)を計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Draw some random sample with replacement and append mean to mean_lengths.
mean_lengths, sims = [], 1000
for i in range(sims):
temp_sample = ____(____, replace=____, size=____)
sample_mean = ____
mean_lengths.append(sample_mean)
# Calculate bootstrapped mean and 95% confidence interval.
boot_mean = np.mean(____)
boot_95_ci = ____(mean_lengths, [2.5, 97.5])
print("Bootstrapped Mean Length = {}, 95% CI = {}".format(boot_mean, boot_95_ci))