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

Побудова реплік K–S

Тепер вам потрібна функція, щоб генерувати репліки Колмогорова—Смирнова з цільового розподілу f. Створіть функцію з сигнатурою draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) для цього. Тут n — це кількість точок даних, а f — функція, яку ви використаєте, щоб генерувати вибірки з цільової функції розподілу (CDF). Наприклад, щоб тестувати щодо експоненційного розподілу, передайте np.random.exponential як f. Ця функція зазвичай має аргументи, які потрібно передати кортежем. Тож, якщо ви хочете брати вибірки з експоненційного розподілу із середнім x_mean, використайте ключове слово args=(x_mean,). Ключові аргументи size і n_reps відповідно означають кількість вибірок, які беруться з цільового розподілу, та кількість реплік, які потрібно згенерувати.

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

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

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

Інструкції до вправи

  • Напишіть функцію з сигнатурою draw_ks_reps(n, f, args=(), size=10000, n_reps=10000), яка виконує таке.
    • Згенеруйте size вибірок із цільового розподілу f. Пам'ятайте: щоб передати args у функцію вибірки, слід використати конструкцію f(*args, size=size). Збережіть результат у x_f.
    • Ініціалізуйте масив реплік reps як порожній масив із n_reps елементами.
    • Напишіть цикл for, який виконає таке n_reps разів.
      • Відіберіть n вибірок із f. Знову використайте *args у виклику функції. Збережіть результат у змінній x_samp.
      • Обчисліть статистику K–S за допомогою dcst.ks_stat(), тобто функції, яку ви написали в попередній вправі та яка зручно збережена в модулі dcst. Збережіть результат у масиві reps.
    • Поверніть масив reps.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

____ ____:
    # Generate samples from target distribution
    x_f = ____
    
    # Initialize K-S replicates
    reps = ____
    
    # Draw replicates
    for i in range(n_reps):
        # Draw samples for comparison
        x_samp = ____
        
        # Compute K-S statistic
        ____[i] = ____

    return reps
Редагувати та запускати код