ÎncepețiÎncepe gratuit

O funcție pentru bootstrap pe perechi

Așa cum s-a discutat în videoclip, bootstrap-ul pe perechi presupune reeșantionarea perechilor de date. Fiecare colecție de perechi este ajustată cu o dreaptă, în acest caz folosind np.polyfit(). Repetăm acest proces de mai multe ori, obținând replici bootstrap ale valorilor parametrilor. Pentru a dispune de un instrument util pentru bootstrap pe perechi, vei scrie o funcție care să realizeze această tehnică pe un set de date x,y.

Acest exercițiu face parte din cursul

Gândire statistică în Python (Partea 2)

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește o funcție cu semnătura draw_bs_pairs_linreg(x, y, size=1) pentru a calcula estimări bootstrap pe perechi pentru parametrii regresiei liniare.
    • Folosește np.arange() pentru a crea un array de indici de la 0 la len(x). Aceștia sunt indicii pe care îi vei reeșantiona și îi vei folosi pentru a selecta valori din array-urile x și y.
    • Folosește np.empty() pentru a inițializa array-urile de replici ale pantei și interceptării, cu dimensiunea size.
    • Scrie o buclă for care să:
      • Reeșantioneze indicii inds. Folosește np.random.choice() pentru aceasta.
      • Creeze noi array-uri \(x\) și \(y\), numite bs_x și bs_y, folosind indicii reeșantionați bs_inds. Aplică slice pe x și y cu bs_inds.
      • Aplice np.polyfit() pe noile array-uri \(x\) și \(y\) și să stocheze panta și interceptarea calculate.
    • Returnează replicile bootstrap pe perechi ale pantei și interceptării.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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
Editează și rulează codul