Permutatietest op kikkersdata
De gemiddelde slaapkracht van kikker A was 0,71 Newton (N) en die van kikker B 0,42 N, een verschil van 0,29 N. Het is mogelijk dat de kikkers met dezelfde kracht slaan en dat dit waargenomen verschil toeval is. Je gaat de kans berekenen op minimaal 0,29 N verschil in gemiddelde slaapkracht onder de hypothese dat de verdelingen van slaapkrachten voor beide kikkers identiek zijn. We gebruiken een permutatietest met als toetsingsgrootheid het verschil van gemiddelden om deze hypothese te toetsen.
Voor je gemak zijn de gegevens opgeslagen in de arrays force_a en force_b.
Deze oefening maakt deel uit van de cursus
Statistical Thinking in Python (deel 2)
Oefeninstructies
- Definieer een functie met de aanroep
diff_of_means(data_1, data_2)die het verschil in gemiddelden tussen twee gegevenssets retourneert: gemiddelde vandata_1minus gemiddelde vandata_2. - Gebruik deze functie om het empirische verschil van gemiddelden te berekenen dat bij de kikkers is waargenomen.
- Trek 10.000 permutatiereplicaties van het verschil van gemiddelden.
- Bereken de p-waarde.
- Print de p-waarde.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)