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

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

В этом упражнении вы построите бутстрэп-оценку функции плотности вероятности среднего годового количества осадков на метеостанции Шеффилда. Напомним: мы оцениваем среднее годовое количество осадков, которое наблюдалось бы, если бы метеостанция Шеффилда могла снова и снова повторять все измерения с 1883 по 2015 год. Это вероятностная оценка среднего. Вы построите функцию плотности вероятности в виде гистограммы и убедитесь, что она соответствует нормальному распределению.

Теоретически можно показать, что при не слишком ограничительных условиях значение среднего всегда распределено нормально. (Это верно не в общем случае, а только для среднего и нескольких других статистик.) Стандартное отклонение этого распределения называется стандартной ошибкой среднего (SEM) и равно стандартному отклонению данных, делённому на квадратный корень из числа точек, то есть sem = np.std(data) / np.sqrt(len(data)). Используя хакерскую статистику, вы получаете тот же результат без необходимости его выводить — и сможете проверить его на своих бутстрэп-репликах.

Набор данных уже загружен для вас в массив rainfall.

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

Статистическое мышление на Python (часть 2)

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

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

  • Сгенерируйте 10000 бутстрэп-реплик среднего годового количества осадков с помощью функции draw_bs_reps() и массива rainfall. Подсказка: передайте np.mean в качестве аргумента func, чтобы вычислить среднее.
    • Напомним: draw_bs_reps() принимает 3 аргумента: data, func и size.
  • Вычислите и выведите стандартную ошибку среднего для массива rainfall.
    • Формула для вычисления: np.std(data) / np.sqrt(len(data)).
  • Вычислите и выведите стандартное отклонение ваших бутстрэп-реплик bs_replicates.
  • Постройте гистограмму реплик, используя аргумент normed=True и 50 корзин.
  • Нажмите «Отправить ответ», чтобы увидеть график!

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

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

# Take 10,000 bootstrap replicates of the mean: bs_replicates
bs_replicates = ____

# Compute and print SEM
sem = ____ / np.sqrt(____)
print(sem)

# Compute and print standard deviation of bootstrap replicates
bs_std = ____
print(bs_std)

# Make a histogram of the results
_ = plt.hist(____, ____=50, ____=True)
_ = plt.xlabel('mean annual rainfall (mm)')
_ = plt.ylabel('PDF')

# Show the plot
plt.show()
Редактировать и запускать код