MulaiMulai sekarang secara gratis

Fungsi untuk melakukan pairs bootstrap

Seperti dibahas dalam video, pairs bootstrap melibatkan pengambilan ulang sampel berpasangan dari data. Setiap kumpulan pasangan dicocokkan dengan sebuah garis, dalam hal ini menggunakan np.polyfit(). Proses ini diulang berkali-kali untuk memperoleh replikasi bootstrap dari nilai parameter. Agar memiliki alat yang berguna untuk melakukan pairs bootstrap, Anda akan menulis sebuah fungsi untuk menjalankan pairs bootstrap pada sekumpulan data x,y.

Latihan ini adalah bagian dari kursus

Pemikiran Statistik dengan Python (Bagian 2)

Lihat Kursus

Petunjuk latihan

  • Definisikan fungsi dengan tanda tangan pemanggilan draw_bs_pairs_linreg(x, y, size=1) untuk melakukan estimasi pairs bootstrap pada parameter regresi linear.
    • Gunakan np.arange() untuk membuat array indeks dari 0 hingga len(x). Indeks inilah yang akan Anda ambil ulang sampelnya dan gunakan untuk memilih nilai dari array x dan y.
    • Gunakan np.empty() untuk menginisialisasi array replikasi kemiringan (slope) dan intersep dengan ukuran size.
    • Tulis sebuah for loop untuk:
      • Mengambil ulang sampel indeks inds. Gunakan np.random.choice() untuk melakukannya.
      • Membuat array \(x\) dan \(y\) baru bs_x dan bs_y menggunakan indeks hasil pengambilan ulang bs_inds. Untuk melakukannya, lakukan slicing pada x dan y dengan bs_inds.
      • Gunakan np.polyfit() pada array \(x\) dan \(y\) yang baru dan simpan nilai kemiringan (slope) dan intersep yang dihitung.
    • Kembalikan replikasi pairs bootstrap dari kemiringan (slope) dan intersep.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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
Edit dan Jalankan Kode