Permutationstest mit Froschdaten
Die durchschnittliche Schlagkraft von Frosch A betrug 0,71 Newton (N), die von Frosch B 0,42 N, also eine Differenz von 0,29 N. Es ist möglich, dass beide Frösche mit derselben Kraft schlagen und die beobachtete Differenz nur zufällig zustande kam. Du berechnest die Wahrscheinlichkeit, unter der Annahme, dass die Verteilungen der Schlagkräfte für beide Frösche identisch sind, mindestens eine Differenz von 0,29 N im mittleren Schlagkraftwert zu erhalten. Wir verwenden einen Permutationstest mit der Differenz der Mittelwerte als Teststatistik, um diese Hypothese zu prüfen.
Der Einfachheit halber wurden die Daten in den Arrays force_a und force_b gespeichert.
Diese Übung ist Teil des Kurses
Statistical Thinking in Python (Teil 2)
Anleitung zur Übung
- Definiere eine Funktion mit der Signatur
diff_of_means(data_1, data_2), die die Differenz der Mittelwerte zwischen zwei Datensätzen zurückgibt, also Mittelwert vondata_1minus Mittelwert vondata_2. - Verwende diese Funktion, um die empirische Differenz der Mittelwerte zu berechnen, die bei den Fröschen beobachtet wurde.
- Ziehe 10.000 Permutationsreplikate der Differenz der Mittelwerte.
- Berechne den p-Wert.
- Gib den p-Wert aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)