Bootstrapowy test hipotezy dotyczący liczby plemników pszczół
Przetestujesz teraz następującą hipotezę: średnia liczba aktywnych plemników na mililitr nasienia u samców pszczół traktowanych insektycydem neonikotynoidowym jest taka sama jak u nieleczonych samców. Jako statystykę testową przyjmij różnicę średnich.
Dla przypomnienia: sygnatura wywołania funkcji draw_bs_reps(), którą napisano w rozdziale 2, to draw_bs_reps(data, func, size=1).
To ćwiczenie jest częścią kursu
Myślenie statystyczne w Pythonie (część 2)
Instrukcje do ćwiczenia
- Oblicz różnicę średnich liczb żywych plemników: wartość dla
controlminus wartość dlatreated. - Oblicz średnią wszystkich liczb żywych plemników. W tym celu najpierw sklej
controlitreated, a następnie wyznacz średnią połączonej tablicy. - Wygeneruj przesunięte zbiory danych dla
controlitreatedtak, aby miały tę samą średnią. Ten krok jest już dla ciebie wykonany. - Wygeneruj po 10 000 replikatów bootstrapowych średniej dla każdej z przesuniętych tablic. Skorzystaj z funkcji
draw_bs_reps(). - Oblicz replikaty bootstrapowe różnicy średnich.
- Kod obliczający i wyświetlający p-wartość jest już napisany. Kliknij Prześlij odpowiedź, aby zobaczyć wynik!
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Compute the difference in mean sperm count: diff_means
diff_means = ____
# Compute mean of pooled data: mean_count
mean_count = ____
# Generate shifted data sets
control_shifted = control - np.mean(control) + mean_count
treated_shifted = treated - np.mean(treated) + mean_count
# Generate bootstrap replicates
bs_reps_control = ____(____,
np.mean, size=10000)
bs_reps_treated = ____(____,
np.mean, size=10000)
# Get replicates of difference of means: bs_replicates
bs_replicates = ____
# Compute and print p-value: p
p = np.sum(bs_replicates >= np.mean(control) - np.mean(treated)) \
/ len(bs_replicates)
print('p-value =', p)