Tính giá trị của ECDF chính tắc
Để thực hiện kiểm định Kolmogorov–Smirnov, chúng ta cần tính giá trị của ECDF chính tắc tại các điểm bất kỳ. Nói cách khác, bạn cần một hàm ecdf_formal(x, data) trả về giá trị ECDF chính tắc được suy ra từ bộ dữ liệu data cho từng giá trị trong mảng x. Hai trong số các hàm dưới đây làm được điều này. Một hàm thì không. Trong hai hàm tính đúng, một hàm nhanh hơn. Hãy gắn nhãn cho từng hàm.
Nhắc lại, ECDF được định nghĩa chính tắc là ECDF(x) = (số mẫu ≤ x) / (tổng số mẫu). Bạn cũng có thể xem docstring của 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)
Bài tập này là một phần của khóa học
Các nghiên cứu tình huống về tư duy thống kê
Bài tập tương tác thực hành
Biến lý thuyết thành hành động với một trong các bài tập tương tác của chúng tôi
Bắt đầu bài tập