Začněte nyníZačněte zdarma

Funkce pro párový bootstrap

Jak bylo vysvětleno ve videu, párový bootstrap spočívá v opakovaném vzorkování dvojic dat. Každá sada dvojic se proloží přímkou – v tomto případě pomocí np.polyfit(). Tento postup opakujeme znovu a znovu a získáváme bootstrapové replikáty hodnot parametrů. Abys měl/a k dispozici praktický nástroj pro párový bootstrap, napíšeš funkci, která ho provede na sadě dat x,y.

Toto cvičení je součástí kurzu

Statistical Thinking in Python (Part 2)

Zobrazit kurz

Pokyny k cvičení

  • Definuj funkci se signaturou draw_bs_pairs_linreg(x, y, size=1), která provede bootstrapové odhady parametrů lineární regrese metodou párového bootstrapu.
    • Pomocí np.arange() vytvoř pole indexů od 0 do len(x). Právě tyto indexy budeš převzorkovat a použít k výběru hodnot z polí x a y.
    • Pomocí np.empty() inicializuj pole replikátů sklonu a úseku o velikosti size.
    • Napiš smyčku for, která:
      • Převzorkuje indexy inds. Použij k tomu np.random.choice().
      • Vytvoří nová pole \(x\) a \(y\) pojmenovaná bs_x a bs_y pomocí převzorkovaných indexů bs_inds. Stačí indexovat x a y pomocí bs_inds.
      • Aplikuje np.polyfit() na nová pole \(x\) a \(y\) a uloží vypočtený sklon a úsek.
    • Vrať párové bootstrapové replikáty sklonu a úseku.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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
Upravit a spustit kód