子代與親代資料的相關性
為了量化子代與親代喙部深度之間的相關性,我們想要計算一些統計量,例如父母與子代之間的 Pearson 相關係數。要為此取得信賴區間,我們需要進行成對(pairs)拔靴法。
你先前已經寫過一個函式,能以成對拔靴法取得由線性迴歸推導出的參數估計。此練習中,你的任務是撰寫一個新的函式,呼叫介面為 draw_bs_pairs(x, y, func, size=1),它會執行成對拔靴法,並在成對樣本上計算單一統計量。所需的統計量透過呼叫 func(bs_x, bs_y) 來計算。下一個練習中,你會將 pearson_r 作為 func。
本練習屬於課程
Statistical Thinking in Python(第 2 部分)
練習說明
- 建立一個要抽樣的索引陣列。(記住,成對拔靴法是隨機選索引,並用那些索引取得成對資料。)
- 初始化拔靴複本陣列。它應該是一個長度為
size的一維陣列。 - 寫一個
for迴圈來抽樣。 - 從你先前建立的索引陣列中隨機選擇索引。
- 使用剛選的索引,從輸入陣列中擷取
x與y的值,產生成對的拔靴樣本。 - 使用
func從x與y的拔靴樣本計算目標統計量,並將結果存入你的拔靴複本陣列。 - 回傳拔靴複本陣列。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
def draw_bs_pairs(x, y, func, size=1):
"""Perform pairs bootstrap for a single statistic."""
# Set up array of indices to sample from: inds
inds = ____
# Initialize replicates: bs_replicates
bs_replicates = ____
# Generate replicates
for i in range(size):
bs_inds = ____
bs_x, bs_y = ____
bs_replicates[i] = ____
return bs_replicates