Bắt đầu ngayBắt đầu miễn phí

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ê

Xem khóa học

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