LoslegenKostenlos loslegen

Korrelation von Nachkommen- und Elterndaten

Um die Korrelation zwischen der Schnabellänge von Nachkommen und Eltern zu quantifizieren, möchten wir Statistiken wie den Pearson-Korrelationskoeffizienten zwischen Eltern und Nachkommen berechnen. Um dafür Konfidenzintervalle zu erhalten, brauchen wir ein Pairs-Bootstrap.

Du hast bereits eine Funktion geschrieben, die ein Pairs-Bootstrap durchführt, um Schätzungen für Parameter aus einer linearen Regression zu erhalten. Deine Aufgabe in dieser Übung ist es, eine neue Funktion mit der Signatur draw_bs_pairs(x, y, func, size=1) zu schreiben, die ein Pairs-Bootstrap ausführt und eine einzelne Kennzahl auf den definierten Paarstichproben berechnet. Die interessante Kennzahl wird berechnet, indem func(bs_x, bs_y) aufgerufen wird. In der nächsten Übung wirst du pearson_r als func verwenden.

Diese Übung ist Teil des Kurses

Statistical Thinking in Python (Teil 2)

Kurs anzeigen

Anleitung zur Übung

  • Richte ein Array von Indizes ein, aus dem gezogen wird. (Denk daran: Beim Pairs-Bootstrap wählen wir zufällig Indizes und verwenden diese, um die Paare zu erhalten.)
  • Initialisiere das Array der Bootstrap-Replikate. Das sollte ein eindimensionales Array der Länge size sein.
  • Schreibe eine for-Schleife, um die Stichproben zu ziehen.
  • Wähle zufällig Indizes aus dem zuvor eingerichteten Index-Array.
  • Extrahiere x-Werte und y-Werte aus den Eingabearrays mithilfe der gerade gewählten Indizes, um eine Bootstrap-Stichprobe zu erzeugen.
  • Verwende func, um die interessante Kennzahl aus den Bootstrap-Stichproben von x und y zu berechnen, und speichere sie in deinem Array der Bootstrap-Replikate.
  • Gib das Array der Bootstrap-Replikate zurück.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen