Korrelation mellan avkomma och föräldradjur
För att kvantifiera korrelationen mellan näbbdjupet hos avkomma och föräldradjur vill vi beräkna statistiska mått – till exempel Pearsons korrelationskoefficient – mellan föräldrar och avkomma. För att få konfidensintervall för detta behöver vi utföra ett parvis bootstrap-förfarande.
Du har redan skrivit en funktion för parvisa bootstrap-beräkningar för att skatta parametrar från linjär regression. Din uppgift i den här övningen är att skriva en ny funktion med signaturen draw_bs_pairs(x, y, func, size=1) som utför parvisa bootstrap-beräkningar och beräknar ett enskilt statistiskt mått på de samplade paren. Det statistiska måttet beräknas genom att anropa func(bs_x, bs_y). I nästa övning använder du pearson_r som func.
Den här övningen är en del av kursen
Statistiskt tänkande i Python (del 2)
Övningsinstruktioner
- Skapa en indexmatris att sampla från. (Vid parvisa bootstrap-beräkningar väljer vi index slumpmässigt och använder dem för att hämta paren.)
- Initialisera matrisen för bootstrap-replikat. Den ska vara en endimensionell matris med längden
size. - Skriv en
for-loop för att dra samplen. - Välj index slumpmässigt från den indexmatris du skapade tidigare.
- Extrahera
x- ochy-värden från indatamatrisen med hjälp av de valda indexen för att generera ett bootstrap-sampel. - Använd
funcför att beräkna det statistiska måttet från bootstrap-samplen avxochy, och lagra resultatet i din matris med bootstrap-replikat. - Returnera matrisen med bootstrap-replikat.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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