Dvouvýběrový bootstrapový test hypotézy o rozdílu průměrů
Teď chceme otestovat hypotézu, že žába A a žába B mají stejnou střední hodnotu síly dopadu, ale nemusí mít stejné rozdělení – to pomocí permutačního testu zkoumat nelze.
Pro dvouvýběrový bootstrapový test posuneme obě pole tak, aby měla stejný průměr, protože simulujeme hypotézu, že jejich průměry jsou ve skutečnosti stejné. Z posunutých polí pak vytáhneme bootstrapové vzorky a vypočítáme rozdíl průměrů. To je jeden bootstrapový replikát – a takových vygenerujeme mnoho. P-hodnota je podíl replikátů, kde je rozdíl průměrů větší nebo roven pozorované hodnotě.
Objekty forces_concat a empirical_diff_means jsou už dostupné ve tvém pracovním prostředí.
Toto cvičení je součástí kurzu
Statistical Thinking in Python (Part 2)
Pokyny k cvičení
- Pomocí
np.mean()vypočítej průměr všech sil (z poleforces_concat). - Vytvoř posunuté datové sady pro obě pole –
force_aiforce_b– tak, aby průměr každého z nich odpovídal průměru zřetězeného pole sil dopadu. - Pro každé z posunutých polí vygeneruj 10 000 bootstrapových replikátů průměru.
- Vypočítej bootstrapové replikáty rozdílu průměrů odečtením replikátů posunuté síly dopadu žáby B od replikátů žáby A.
- Vypočítej a vypiš p-hodnotu z bootstrapových replikátů.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)