Бутстрэп-реплики среднего и стандартная ошибка среднего
В этом упражнении вы построите бутстрэп-оценку функции плотности вероятности среднего годового количества осадков на метеостанции Шеффилда. Напомним: мы оцениваем среднее годовое количество осадков, которое наблюдалось бы, если бы метеостанция Шеффилда могла снова и снова повторять все измерения с 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()