MulaiMulai sekarang secara gratis

Menggambar replika K-S

Sekarang, Anda memerlukan sebuah fungsi untuk menggambar replika Kolmogorov–Smirnov dari suatu distribusi target, f. Bangun fungsi dengan tanda tangan draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) untuk melakukannya. Di sini, n adalah jumlah titik data, dan f adalah fungsi yang akan Anda gunakan untuk menghasilkan sampel dari CDF target. Sebagai contoh, untuk menguji terhadap distribusi Eksponensial, Anda akan meneruskan np.random.exponential sebagai f. Fungsi ini biasanya menerima argumen, yang harus diteruskan sebagai tuple. Jadi, jika Anda ingin mengambil sampel dari distribusi Eksponensial dengan mean x_mean, Anda akan menggunakan kata kunci args=(x_mean,). Argumen kata kunci size dan n_reps masing-masing merepresentasikan jumlah sampel yang diambil dari distribusi target dan jumlah replika yang digambar.

Latihan ini adalah bagian dari kursus

Studi Kasus dalam Pemikiran Statistik

Lihat Kursus

Petunjuk latihan

  • Tulis fungsi dengan tanda tangan draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) yang melakukan hal-hal berikut.
    • Hasilkan size sampel dari distribusi target f. Ingat, untuk meneruskan args ke fungsi pengambilan sampel, Anda harus menggunakan konstruksi f(*args, size=size). Simpan hasilnya sebagai x_f.
    • Inisialisasi array replika, reps, sebagai array kosong dengan n_reps entri.
    • Tulis for loop untuk melakukan hal berikut sebanyak n_reps kali.
      • Ambil n sampel dari f. Sekali lagi, gunakan *args dalam pemanggilan fungsi Anda. Simpan hasilnya dalam variabel x_samp.
      • Hitung statistik K-S menggunakan dcst.ks_stat(), yaitu fungsi yang Anda tulis pada latihan sebelumnya, yang disimpan dengan nyaman dalam modul dcst. Simpan hasilnya dalam array reps.
    • Kembalikan array reps.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

____ ____:
    # Generate samples from target distribution
    x_f = ____
    
    # Initialize K-S replicates
    reps = ____
    
    # Draw replicates
    for i in range(n_reps):
        # Draw samples for comparison
        x_samp = ____
        
        # Compute K-S statistic
        ____[i] = ____

    return reps
Edit dan Jalankan Kode