Zacznij terazZacznij za darmo

Replikaty bootstrapowe średniej i błąd standardowy SEM

W tym ćwiczeniu obliczysz bootstrapowe oszacowanie funkcji gęstości prawdopodobieństwa średniej rocznej sumy opadów na stacji meteorologicznej w Sheffield. Estymujemy tutaj średnią roczną sumę opadów, jaką uzyskalibyśmy, gdyby stacja mogła nieskończenie powtarzać wszystkie pomiary z lat 1883–2015. Jest to probabilistyczne oszacowanie średniej. Wynik przedstawisz na histogramie jako wykres PDF – zobaczysz, że ma kształt rozkładu normalnego.

Można bowiem wykazać teoretycznie, że przy niezbyt restrykcyjnych założeniach wartość średniej zawsze ma rozkład normalny. (Nie jest to twierdzenie ogólne – dotyczy średniej i kilku innych statystyk.) Odchylenie standardowe tego rozkładu nosi nazwę błędu standardowego średniej (SEM) i jest równe odchyleniu standardowemu danych podzielonemu przez pierwiastek kwadratowy z liczby punktów, tj. sem = np.std(data) / np.sqrt(len(data)). Stosując podejście haker-statystyczne, uzyskasz ten sam wynik bez konieczności wyprowadzania wzoru – a następnie zweryfikujesz go na podstawie swoich replikatów bootstrapowych.

Zbiór danych został wstępnie wczytany do tablicy o nazwie rainfall.

To ćwiczenie jest częścią kursu

Myślenie statystyczne w Pythonie (część 2)

Zobacz kurs

Instrukcje do ćwiczenia

  • Wygeneruj 10000 bootstrapowych replikatów średniej rocznej sumy opadów, korzystając z funkcji draw_bs_reps() i tablicy rainfall. Wskazówka: Przekaż np.mean jako argument func, aby obliczyć średnią.
    • Przypomnienie: draw_bs_reps() przyjmuje 3 argumenty: data, func i size.
  • Oblicz i wyświetl błąd standardowy średniej dla rainfall.
    • Skorzystaj ze wzoru: np.std(data) / np.sqrt(len(data)).
  • Oblicz i wyświetl odchylenie standardowe replikatów bs_replicates.
  • Narysuj histogram replikatów, używając argumentu normed=True oraz 50 przedziałów.
  • Kliknij Prześlij odpowiedź, aby zobaczyć wykres!

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod