Permutationstest på groddata
Den genomsnittliga slagkraften för Groda A var 0,71 Newton (N) och för Groda B 0,42 N – en skillnad på 0,29 N. Det är möjligt att grodorna slår med samma kraft och att den observerade skillnaden beror på slumpen. Du ska beräkna sannolikheten att få minst 0,29 N i skillnad i genomsnittlig slagkraft under hypotesen att fördelningarna av slagkrafter för de två grodorna är identiska. Vi använder ett permutationstest med skillnaden i medelvärden som teststatistika.
Datan finns lagrad i arrayerna force_a och force_b.
Den här övningen är en del av kursen
Statistiskt tänkande i Python (del 2)
Övningsinstruktioner
- Definiera en funktion med signaturen
diff_of_means(data_1, data_2)som returnerar skillnaden i medelvärden mellan två datamängder: medelvärdet avdata_1minus medelvärdet avdata_2. - Använd den här funktionen för att beräkna den empiriska skillnaden i medelvärden som observerades för grodorna.
- Dra 10 000 permutationsreplikat av skillnaden i medelvärden.
- Beräkna p-värdet.
- Skriv ut p-värdet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)