Генерация реплик К-С
Теперь вам нужна функция для получения реплик статистики Колмогорова–Смирнова из целевого распределения 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. - Вычисляет статистику К-С с помощью
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