始める無料で始める

シンプルなブートストラップを実行する

ブートストラップのセクション最初の演習へようこそ。ここでは、シンプルなブートストラップの実行方法を例を通して学びます。動画で見たように、ブートストラップの基本的な考え方は復元抽出(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))
コードを編集して実行