Бутстреп-реплікати середнього та SEM
У цій вправі ви обчислите бутстреп-оцінку функції щільності ймовірності для середнього річного рівня опадів на метеостанції Шеффілда. Згадайте: ми оцінюємо середній річний рівень опадів, який ми б отримали, якби метеостанція Шеффілда могла знову й знову повторити всі вимірювання з 1883 по 2015 рік. Це ймовірнісна оцінка середнього. Ви побудуєте PDF як гістограму й побачите, що вона має Нормальний розподіл.
Насправді теоретично можна показати, що за не надто обмежувальних умов значення середнього завжди матиме Нормальний розподіл. (Це не виконується загалом для всіх статистик, лише для середнього та ще кількох.) Стандартне відхилення цього розподілу, яке називають стандартною похибкою середнього або SEM, дорівнює стандартному відхиленню даних, поділеному на квадратний корінь з кількості спостережень. Тобто для набору даних: sem = np.std(data) / np.sqrt(len(data)). Застосовуючи «hacker statistics», ви отримаєте той самий результат без виведення формули, а потім перевірите його за допомогою своїх бутстреп-реплікатів.
Набір даних уже завантажено для вас у масив 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()