Бутстрап-реплики среднего и стандартная ошибка среднего
В этом упражнении вы построите бутстрап-оценку функции плотности вероятности среднего годового количества осадков на метеостанции Шеффилда. Напомним: мы оцениваем среднее годовое количество осадков, которое наблюдалось бы, если бы метеостанция Шеффилда могла бесконечное число раз повторить все измерения с 1883 по 2015 год. Это вероятностная оценка среднего. Вы изобразите функцию плотности в виде гистограммы и убедитесь, что она соответствует нормальному распределению.
Теоретически можно показать, что при достаточно общих условиях значение среднего всегда распределено нормально. (Это справедливо не для любой статистики — только для среднего и нескольких других.) Стандартное отклонение такого распределения называется стандартной ошибкой среднего (SEM) и вычисляется как стандартное отклонение данных, делённое на квадратный корень из числа точек: sem = np.std(data) / np.sqrt(len(data)). С помощью хакерской статистики вы получите тот же результат без необходимости его выводить, а затем проверите его на своих бутстрап-репликах.
Набор данных уже загружен в массив rainfall.
Это упражнение является частью курса
Статистическое мышление на Python (часть 2)
Инструкции к упражнению
- С помощью функции
draw_bs_reps()и массиваrainfallсгенерируйте10000бутстрап-реплик среднего годового количества осадков. Подсказка: передайтеnp.meanв качестве аргументаfuncдля вычисления среднего.- Напомним, что
draw_bs_reps()принимает 3 аргумента:data,funcиsize.
- Напомним, что
- Вычислите и выведите стандартную ошибку среднего для
rainfall.- Формула для вычисления:
np.std(data) / np.sqrt(len(data)).
- Формула для вычисления:
- Вычислите и выведите стандартное отклонение бутстрап-реплик
bs_replicates. - Постройте гистограмму реплик, используя именованный аргумент
density=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()