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)
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
sizesein. - Schreibe eine
for-Schleife, um die Stichproben zu ziehen. - Wähle zufällig Indizes aus dem zuvor eingerichteten Index-Array.
- Extrahiere
x-Werte undy-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 vonxundyzu 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