Obliczanie wartości formalnej ECDF
Aby przeprowadzić test Kołmogorowa-Smirnowa, musimy umieć obliczyć wartość formalnej ECDF w dowolnych punktach. Innymi słowy, potrzebujemy funkcji ecdf_formal(x, data), która zwraca wartość formalnej ECDF wyznaczonej na podstawie zbioru danych data dla każdej wartości w tablicy x. Dwie spośród poniższych funkcji realizują to poprawnie, jedna – nie. Z tych dwóch poprawnych jedna jest szybsza. Przypisz każdej funkcji odpowiednią etykietę.
Dla przypomnienia: ECDF jest formalnie zdefiniowana jako ECDF(x) = (liczba próbek ≤ x) / (całkowita liczba próbek). Warto też zajrzeć do dokumentacji funkcji 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)
To ćwiczenie jest częścią kursu
Studia przypadków w myśleniu statystycznym
Interaktywne ćwiczenie praktyczne
Przekształć teorię w praktykę dzięki jednemu z naszych interaktywnych ćwiczeń
Rozpocznij ćwiczenie