Correlatie tussen nakomelingen en ouders
Om de correlatie tussen snaveldieptes van nakomelingen en ouders te kwantificeren, willen we statistieken berekenen, zoals de Pearson-correlatiecoëfficiënt, tussen ouders en nakomelingen. Om hiervoor betrouwbaarheidsintervallen te krijgen, moeten we een pairs-bootstrap uitvoeren.
Je hebt eerder al een functie geschreven om een pairs-bootstrap te doen voor schattingen van parameters afgeleid uit lineaire regressie. In deze oefening maak je een nieuwe functie met de call signature draw_bs_pairs(x, y, func, size=1) die een pairs-bootstrap uitvoert en één statistiek berekent op de gedefinieerde paarsamples. De relevante statistiek wordt berekend door func(bs_x, bs_y) aan te roepen. In de volgende oefening gebruik je pearson_r voor func.
Deze oefening maakt deel uit van de cursus
Statistical Thinking in Python (deel 2)
Oefeninstructies
- Zet een array met indices op waaruit je gaat samplen. (Onthoud: bij een pairs-bootstrap kiezen we willekeurig indices en gebruiken die om de paren te vormen.)
- Initialiseer de array met bootstrap-replicaten. Dit moet een eendimensionale array zijn met lengte
size. - Schrijf een
for-lus om de samples te trekken. - Kies willekeurig indices uit de array met indices die je zojuist hebt opgezet.
- Haal
x-waarden eny-waarden uit de invoerarray met de zojuist gekozen indices om een bootstrap-sample te genereren. - Gebruik
funcom de relevante statistiek te berekenen uit de bootstrap-samples vanxenyen sla deze op in je array met bootstrap-replicaten. - Retourneer de array met bootstrap-replicaten.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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