НачатьНачать бесплатно

Бутстрэп и стандартная ошибка

Представьте национальный парк, егеря которого ежедневно обходят маршруты для обслуживания троп. Каждый раз маршрут может быть разным, однако егеря фиксируют итоговое расстояние и время в пути. Нам нужно построить статистическую модель, описывающую вариации дневного пройденного расстояния, используя ограниченную выборку данных одного егеря.

Ваша задача — применить бутстрэп-ресэмплинг: вычислить среднее значение для каждой повторной выборки, сформировать распределение средних, а затем рассчитать стандартную ошибку как меру «неопределённости» выборочной статистики при оценке генеральной статистики.

Используйте предварительно загруженный массив sample_data, содержащий 500 независимых измерений пройденного расстояния. Пока мы работаем с симулированными данными, чтобы упростить этот урок. В дальнейшем мы перейдём к более реалистичным данным.

Это упражнение является частью курса

Введение в линейное моделирование на Python

Посмотреть курс

Инструкции к упражнению

  • Назначьте sample_data в качестве модели генеральной совокупности.

  • Выполните итерацию num_resamples раз:

    • На каждом шаге используйте np.random.choice(), чтобы сгенерировать bootstrap_sample размером size=resample_size из population_model, указав replace=True.
    • Вычислите и сохраните среднее значение выборки на каждом шаге.
  • Вычислите и выведите np.mean() и np.std() для bootstrap_means.

  • Используйте предопределённую функцию plot_data_hist(), чтобы визуализировать распределение bootstrap_means.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Use the sample_data as a model for the population
population_model = ____

# Resample the population_model 100 times, computing the mean each sample
for nr in range(num_resamples):
    bootstrap_sample = np.random.____(population_model, size=____, replace=____)
    bootstrap_means[nr] = np.____(bootstrap_sample)

# Compute and print the mean, stdev of the resample distribution of means
distribution_mean = np.mean(____)
standard_error = np.std(____)
print('Bootstrap Distribution: center={:0.1f}, spread={:0.1f}'.format(____, ____))

# Plot the bootstrap resample distribution of means
fig = plot_data_hist(____)
Редактировать и запускать код