Побудова реплік 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