ПочатиПочніть безкоштовно

Обчислення значень формальної 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)

Ця вправа є частиною курсу

Кейс-стаді зі статистичного мислення

Переглянути курс

Практична інтерактивна вправа

Перетворіть теорію на практику за допомогою однієї з наших інтерактивних вправ

Почати вправу