Menghitung nilai ECDF formal
Untuk dapat melakukan uji Kolmogorov–Smirnov, kita perlu menghitung nilai ECDF formal pada titik-titik sebarang. Dengan kata lain, kita memerlukan fungsi ecdf_formal(x, data) yang mengembalikan nilai ECDF formal yang diturunkan dari himpunan data data untuk setiap nilai dalam array x. Dua dari fungsi berikut melakukan hal ini. Satu tidak. Dari dua yang benar, salah satunya lebih cepat. Beri label masing-masing.
Sebagai pengingat, ECDF didefinisikan secara formal sebagai ECDF(x) = (jumlah sampel ≤ x) / (total jumlah sampel). Anda juga mungkin ingin melihat docstring np.searchsorted().
a)
def ecdf_formal(x, data):
return np.searchsorted(np.sort(data), x) / len(data)
b)
def ecdf_formal(x, data):
return np.searchsorted(np.sort(data), x, side='right') / len(data)
c)
def ecdf_formal(x, data):
output = np.empty(len(x))
data = np.sort(data)
for i, x_val in x:
j = 0
while j < len(data) and x_val >= data[j]:
j += 1
output[i] = j
return output / len(data)
Latihan ini adalah bagian dari kursus
Studi Kasus dalam Pemikiran Statistik
Latihan interaktif praktis
Ubah teori menjadi tindakan dengan salah satu latihan interaktif kami.
Mulai berolahraga