Обчислення значень формальної ECDF
Щоб виконати критерій Колмогорова — Смірнова, нам потрібно обчислювати значення формальної ECDF у довільних точках. Іншими словами, нам потрібна функція ecdf_formal(x, data), яка для кожного значення в масиві x повертає значення формальної ECDF, побудованої за набором даних data. Дві з наведених функцій це роблять. Одна — ні. З двох коректних одна працює швидше. Позначте кожну відповідно.
Нагадаємо: формально ECDF визначається як ECDF(x) = (кількість вибірок ≤ x) / (загальна кількість вибірок). Також варто переглянути опис функції 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)
Ця вправа є частиною курсу
Кейс-стаді зі статистичного мислення
Практична інтерактивна вправа
Перетворіть теорію на практику за допомогою однієї з наших інтерактивних вправ
Почати вправу