K-S istatistiğini hesaplama
İki veri kümesinden, data1 ve data2, Kolmogorov–Smirnov istatistiğini hesaplayan bir fonksiyon yaz. Burada data2, verilerini karşılaştırdığın teorik dağılımdan örnekler içeriyor. Bu da, iki ampirik veri kümesi için değil, bir veri kümesi ile teorik bir dağılım için K-S istatistiğini hacker istatistikleriyle hesapladığımız anlamına gelir. Neyse ki, az önce seçtiğin ve biçimsel ECDF değerlerini hesaplayan fonksiyon dcst.ecdf_formal() olarak verilmiştir.
Bu egzersiz
İstatistiksel Düşünmede Vaka Çalışmaları
kursunun bir parçasıdırEgzersiz talimatları
dcst.ecdf()kullanarakdata1için biçimsel ECDF'nin dışbükey köşelerinin değerlerini hesapla. Sonuçlarıxveydeğişkenlerinde sakla.dcst.ecdf_formal()kullanarak,data2ile belirlenen teorik KDA'nın, dışbükey köşelerx'teki değerlerini hesapla. Sonucucdfdeğişkeninde sakla.- Biçimsel ECDF'nin içbükey köşeleri ile teorik KDA arasındaki mesafeleri hesapla. Sonucu
D_topolarak sakla. - Biçimsel ECDF'nin dışbükey köşeleri ile teorik KDA arasındaki mesafeyi hesapla. Dışbükey köşedeki
ydeğerini elde etmek içiny'den1/len(data1)çıkarman gerektiğini unutma. SonucuD_bottom'da sakla. - K-S istatistiğini,
D_topveD_bottomiçindeki tüm değerlerin maksimumu olarak döndür. Bunu yapmak içinD_topveD_bottom'ı bir demet (tuple) olarak birliktenp.max()'e geçebilirsin.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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))