Zacznij terazZacznij za darmo

Funkcja do bootstrapu par

Jak omówiono w filmie, bootstrap par polega na ponownym próbkowaniu par danych. Do każdego zestawu par dopasowywana jest prosta – w tym przypadku za pomocą np.polyfit(). Powtarzamy ten proces wielokrotnie, uzyskując repliki bootstrapowe wartości parametrów. Aby mieć przydatne narzędzie do bootstrapu par, napiszesz funkcję wykonującą bootstrap par na zestawie danych x,y.

To ćwiczenie jest częścią kursu

Myślenie statystyczne w Pythonie (część 2)

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj funkcję o sygnaturze draw_bs_pairs_linreg(x, y, size=1), która oblicza estymaty bootstrapowe parametrów regresji liniowej metodą par.
    • Użyj np.arange(), aby utworzyć tablicę indeksów od 0 do len(x). To właśnie te indeksy będziesz ponownie próbkować i używać do wybierania wartości z tablic x i y.
    • Użyj np.empty(), aby zainicjalizować tablice replik nachylenia i punktu przecięcia o rozmiarze size.
    • Napisz pętlę for, która:
      • Ponownie próbkuje indeksy inds. Użyj do tego np.random.choice().
      • Tworzy nowe tablice \(x\) i \(y\) – bs_x i bs_y – na podstawie ponownie spróbkowanych indeksów bs_inds. Wytnij odpowiednie fragmenty z x i y, używając bs_inds.
      • Używa np.polyfit() na nowych tablicach \(x\) i \(y\) oraz zapisuje obliczone nachylenie i punkt przecięcia.
    • Zwróć repliki bootstrapowe nachylenia i punktu przecięcia metodą par.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

def draw_bs_pairs_linreg(x, y, size=1):
    """Perform pairs bootstrap for linear regression."""

    # Set up array of indices to sample from: inds
    inds = ____

    # Initialize replicates: bs_slope_reps, bs_intercept_reps
    bs_slope_reps = ____
    bs_intercept_reps = ____

    # Generate replicates
    for i in range(size):
        bs_inds = np.random.choice(____, size=____)
        bs_x, bs_y = x[____], y[____]
        bs_slope_reps[i], bs_intercept_reps[i] = ____

    return bs_slope_reps, bs_intercept_reps
Edytuj i uruchom kod