產生大量 bootstrap 複本
影片中的函式 bootstrap_replicate_1d() 已可在你的命名空間使用。現在你要再撰寫一個函式 draw_bs_reps(data, func, size=1),用來從資料集中產生許多 bootstrap 複本。這個函式在你計算信賴區間,以及之後做假設檢定時,都會一再派上用場。
供你參考,以下提供 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)
本練習屬於課程
Statistical Thinking in Python(第 2 部分)
練習說明
- 定義一個呼叫簽章為
draw_bs_reps(data, func, size=1)的函式。- 使用
np.empty(),初始化一個名為bs_replicates、大小為size的陣列,用來存放所有 bootstrap 複本。 - 撰寫一個
for迴圈,範圍為size,並用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