IniziaInizia gratis

Una funzione per fare pairs bootstrap

Come discusso nel video, il pairs bootstrap prevede il ricampionamento di coppie di dati. Ogni insieme di coppie viene adattato con una retta, in questo caso usando np.polyfit(). Ripetiamo l’operazione molte volte, ottenendo replicati bootstrap dei valori dei parametri. Per avere uno strumento utile per fare pairs bootstrap, scriverai una funzione che esegue il pairs bootstrap su un insieme di dati x,y.

Questo esercizio fa parte del corso

Pensiero statistico in Python (Parte 2)

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci una funzione con firma draw_bs_pairs_linreg(x, y, size=1) per calcolare stime pairs bootstrap dei parametri di una regressione lineare.
    • Usa np.arange() per creare un array di indici da 0 a len(x). Questi sono quelli che ricampionerai e userai per estrarre valori dagli array x e y.
    • Usa np.empty() per inizializzare gli array dei replicati di pendenza e intercetta con dimensione size.
    • Scrivi un ciclo for per:
      • Ricampionare gli indici inds. Usa np.random.choice() per farlo.
      • Creare i nuovi array \(x\) e \(y\), bs_x e bs_y, usando gli indici ricampionati bs_inds. Per farlo, fai slicing di x e y con bs_inds.
      • Usare np.polyfit() sui nuovi array \(x\) e \(y\) e salvare la pendenza e l’intercetta calcolate.
    • Restituisci i replicati pairs bootstrap della pendenza e dell’intercetta.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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
Modifica ed esegui il codice