Zacznij terazZacznij za darmo

Bootstrapowe replikaty średniej i SEM

W tym ćwiczeniu obliczysz bootstrapowe oszacowanie funkcji gęstości prawdopodobieństwa średniego rocznego opadu na Stacji Meteorologicznej w Sheffield. Pamiętaj — szacujemy średni roczny opad, jaki uzyskalibyśmy, gdyby stacja mogła w nieskończoność powtarzać wszystkie pomiary z lat 1883–2015. To probabilistyczne oszacowanie średniej. Wynik przedstawisz jako histogram PDF i przekonasz się, że ma on 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 dotyczy to wszystkich statystyk — jedynie średniej i kilku innych.) Odchylenie standardowe tego rozkładu, nazywane błędem standardowym średniej (ang. standard error of the mean, SEM), wyraża się jako odchylenie standardowe danych podzielone przez pierwiastek kwadratowy z liczby punktów danych: sem = np.std(data) / np.sqrt(len(data)). Metoda statystyki hakerskiej prowadzi do tego samego wyniku bez potrzeby jego wyprowadzania — przekonasz się o tym, weryfikując wynik na podstawie własnych replikatów bootstrapowych.

Zbiór danych został wczytany do tablicy rainfall.

To ćwiczenie jest częścią kursu

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Wygeneruj 10000 bootstrapowych replikatów średniego rocznego opadu, 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.
    • Wzór: np.std(data) / np.sqrt(len(data)).
  • Oblicz i wyświetl odchylenie standardowe swoich replikatów bootstrapowych bs_replicates.
  • Narysuj histogram replikatów, używając argumentu density=True i 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