多数のブートストラップレプリケートを生成する
ビデオで紹介した関数 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