始める無料で始める

多数のブートストラップレプリケートを生成する

ビデオで紹介した関数 bootstrap_replicate_1d() はすでに名前空間に用意されています。ここでは、データセットから多数のブートストラップレプリケートを生成する関数 draw_bs_reps(data, func, size=1) を作成します。この関数は信頼区間の計算や、後ほど仮説検定を行う際に何度も役立ちます。

参考として、bootstrap_replicate_1d() 関数を以下に示します。

def bootstrap_replicate_1d(data, func):
    """Generate bootstrap replicate of 1D data."""
    bs_sample = np.random.choice(data, len(data))
    return func(bs_sample)

この演習はコースの一部です

Pythonで学ぶ統計思考(パート2)

コースを見る

演習の手順

  • 呼び出しシグネチャが draw_bs_reps(data, func, size=1) の関数を定義します。
    • np.empty() を使って、すべてのブートストラップレプリケートを保持する、長さが size の配列 bs_replicates を初期化します。
    • size を範囲とする for ループを書き、bootstrap_replicate_1d() を使って各レプリケートを計算します。bootstrap_replicate_1d() の関数シグネチャは上の演習説明を参照してください。計算したレプリケートは bs_replicates の対応するインデックスに格納します。
    • レプリケートの配列 bs_replicates を返します。これはすでに用意されています。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

def draw_bs_reps(data, func, size=1):
    """Draw bootstrap replicates."""

    # Initialize array of replicates: bs_replicates
    bs_replicates = ____

    # Generate replicates
    for i in ____:
        bs_replicates[i] = ____

    return bs_replicates
コードを編集して実行