Dwupróbkowy bootstrapowy test hipotezy dla różnicy średnich
Chcemy teraz przetestować hipotezę, że Żaba A i Żaba B mają tę samą średnią siłę uderzenia, niekoniecznie jednak ten sam rozkład – czego nie da się sprawdzić testem permutacyjnym.
Aby przeprowadzić dwupróbkowy test bootstrapowy, przesuwamy obie tablice tak, by miały tę samą średnią – symulujemy bowiem hipotezę, że ich średnie są w rzeczywistości równe. Następnie losujemy próbki bootstrapowe z przesuniętych tablic i obliczamy różnicę średnich. To właśnie jest jeden replikat bootstrapowy – generujemy ich wiele. Wartość p-value to ułamek replikatów, w których różnica średnich jest większa lub równa zaobserwowanej wartości.
Obiekty forces_concat i empirical_diff_means są już dostępne w twoim środowisku.
To ćwiczenie jest częścią kursu
Myślenie statystyczne w Pythonie (część 2)
Instrukcje do ćwiczenia
- Oblicz średnią wszystkich sił (z
forces_concat) za pomocąnp.mean(). - Wygeneruj przesunięte zbiory danych dla obu tablic –
force_aiforce_b– tak, aby średnia każdej z nich była równa średniej ze skonkatenowanej tablicy sił uderzenia. - Wygeneruj po 10 000 replikatów bootstrapowych średniej dla każdej z dwóch przesuniętych tablic.
- Oblicz replikaty bootstrapowe różnicy średnich, odejmując replikaty przesuniętej siły uderzenia Żaby B od replikatów Żaby A.
- Oblicz i wyświetl wartość p-value na podstawie uzyskanych replikatów bootstrapowych.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Compute mean of all forces: mean_force
mean_force = ____
# Generate shifted arrays
force_a_shifted = force_a - np.mean(force_a) + mean_force
force_b_shifted = ____
# Compute 10,000 bootstrap replicates from shifted arrays
bs_replicates_a = draw_bs_reps(____, ____, ____)
bs_replicates_b = draw_bs_reps(____, ____, ____)
# Get replicates of difference of means: bs_replicates
bs_replicates = ____
# Compute and print p-value: p
p = ____ / ____
print('p-value =', p)