Test permutacyjny na danych dotyczących żab
Średnia siła uderzenia żaby A wyniosła 0,71 niutona (N), a żaby B – 0,42 N, co daje różnicę 0,29 N. Możliwe, że obie żaby uderzają z tą samą siłą, a zaobserwowana różnica jest jedynie dziełem przypadku. Obliczysz prawdopodobieństwo uzyskania różnicy średnich sił uderzenia wynoszącej co najmniej 0,29 N, przy założeniu, że rozkłady sił uderzenia obu żab są identyczne. Do przetestowania tej hipotezy stosujemy test permutacyjny z różnicą średnich jako statystyką testową.
Dla wygody dane zostały zapisane w tablicach force_a i force_b.
To ćwiczenie jest częścią kursu
Myślenie statystyczne w Pythonie (część 2)
Instrukcje do ćwiczenia
- Zdefiniuj funkcję o sygnaturze
diff_of_means(data_1, data_2), która zwraca różnicę średnich dwóch zbiorów danych – średniądata_1minus średniądata_2. - Użyj tej funkcji, aby obliczyć empiryczną różnicę średnich zaobserwowaną u żab.
- Wygeneruj 10 000 replikacji permutacyjnych różnicy średnich.
- Oblicz p-wartość.
- Wyświetl p-wartość.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
def diff_of_means(data_1, data_2):
"""Difference in means of two arrays."""
# The difference of means of data_1, data_2: diff
diff = ____
return diff
# Compute difference of mean impact force from experiment: empirical_diff_means
empirical_diff_means = ____
# Draw 10,000 permutation replicates: perm_replicates
perm_replicates = draw_perm_reps(____, ____,
____, size=10000)
# Compute p-value: p
p = np.sum(____ >= ____) / len(____)
# Print the result
print('p-value =', p)