MulaiMulai sekarang secara gratis

Menghitung statistik K-S

Tulislah sebuah fungsi untuk menghitung statistik Kolmogorov–Smirnov dari dua himpunan data, data1 dan data2, di mana data2 berisi sampel dari sebaran teoretis yang Anda gunakan untuk membandingkan data Anda. Perlu dicatat bahwa ini berarti kita menggunakan hacker stats untuk menghitung statistik K-S antara sebuah himpunan data dan sebaran teoretis, bukan statistik K-S untuk dua himpunan data empiris. Kebetulan, fungsi yang baru saja Anda pilih untuk menghitung nilai ECDF formal tersedia sebagai dcst.ecdf_formal().

Latihan ini adalah bagian dari kursus

Studi Kasus dalam Pemikiran Statistik

Lihat Kursus

Petunjuk latihan

  • Hitung nilai titik sudut cembung dari ECDF formal untuk data1 menggunakan dcst.ecdf(). Simpan hasilnya pada variabel x dan y.
  • Gunakan dcst.ecdf_formal() untuk menghitung nilai CDF teoretis, yang ditentukan dari data2, pada titik sudut cembung x. Simpan hasilnya pada variabel cdf.
  • Hitung jarak antara titik sudut cekung dari ECDF formal dan CDF teoretis. Simpan hasilnya sebagai D_top.
  • Hitung jarak antara titik sudut cembung dari ECDF formal dan CDF teoretis. Perhatikan bahwa Anda perlu mengurangkan 1/len(data1) dari y untuk mendapatkan nilai y pada sudut cembung. Simpan hasilnya dalam D_bottom.
  • Kembalikan statistik K-S sebagai nilai maksimum dari seluruh entri dalam D_top dan D_bottom. Anda dapat memberikan D_top dan D_bottom bersama sebagai tuple ke np.max() untuk melakukannya.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

def ks_stat(data1, data2):
    # Compute ECDF from data: x, y
    
    
    # Compute corresponding values of the target CDF
    cdf = ____

    # Compute distances between concave corners and CDF
    D_top = ____ - ____

    # Compute distance between convex corners and CDF
    D_bottom = ____ - ____ + ____/____

    return np.max((D_top, D_bottom))
Edit dan Jalankan Kode