開始使用免費開始

產生大量 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
編輯並執行程式碼