Aan de slagGa gratis aan de slag

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)

Cursus bekijken

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 en y-waarden uit de invoerarray met de zojuist gekozen indices om een bootstrap-sample te genereren.
  • Gebruik func om de relevante statistiek te berekenen uit de bootstrap-samples van x en y en 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
Code bewerken en uitvoeren