Korelacja danych potomstwa i rodziców
Aby ilościowo opisać korelację między głębokością dzioba potomstwa a rodziców, chcemy obliczyć odpowiednie statystyki – na przykład współczynnik korelacji Pearsona – między pokoleniami. Żeby uzyskać przedziały ufności, musimy zastosować bootstrap par.
Napisałeś(-aś) już wcześniej funkcję wykonującą bootstrap par w celu estymacji parametrów regresji liniowej. Twoim zadaniem w tym ćwiczeniu jest napisanie nowej funkcji o sygnaturze draw_bs_pairs(x, y, func, size=1), która przeprowadza bootstrap par i oblicza pojedynczą statystykę na próbkach par. Interesująca nas statystyka jest obliczana przez wywołanie func(bs_x, bs_y). W następnym ćwiczeniu użyjesz pearson_r jako func.
To ćwiczenie jest częścią kursu
Myślenie statystyczne w Pythonie (część 2)
Instrukcje do ćwiczenia
- Utwórz tablicę indeksów do próbkowania. (Pamiętaj, że w bootstrapie par losowo wybieramy indeksy i na ich podstawie tworzymy pary.)
- Zainicjuj tablicę replik bootstrapowych. Powinna to być jednowymiarowa tablica o długości
size. - Napisz pętlę
for, która pobiera próbki: - Losowo wybierz indeksy z tablicy indeksów, którą wcześniej utworzyłeś(-aś).
- Wyodrębnij wartości
xiyz tablicy wejściowej, używając wybranych indeksów, aby wygenerować próbkę bootstrapową. - Użyj
func, aby obliczyć interesującą nas statystykę na bootstrapowych próbkachxiy, i zapisz wynik w tablicy replik bootstrapowych. - Zwróć tablicę replik bootstrapowych.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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