Een bootstrap-hypothesetoets met één steekproef
Er is nog een jonge kikker onderzocht, Kikker C, en je wilt weten of Kikker B en Kikker C vergelijkbare inslagkrachten hebben. Helaas heb je de inslagkrachten van Kikker C niet beschikbaar, maar je weet wel dat het gemiddelde 0,55 N is. Omdat je de oorspronkelijke data niet hebt, kun je geen permutatietoets doen en kun je de hypothese dat de krachten van Kikker B en Kikker C uit dezelfde verdeling komen niet toetsen. Daarom test je een andere, minder beperkende hypothese: de gemiddelde slagkracht van Kikker B is gelijk aan die van Kikker C.
Om de bootstrap-hypothesetoets op te zetten, neem je het gemiddelde als toetsingsgrootheid. Denk eraan: je doel is om de kans te berekenen op een gemiddelde inslagkracht die kleiner is dan of gelijk aan wat je voor Kikker B hebt waargenomen, als de hypothese waar is dat het werkelijke gemiddelde van de inslagkrachten van Kikker B gelijk is aan dat van Kikker C. Je vertaalt eerst alle data van Kikker B zodat het gemiddelde 0,55 N is. Dit doe je door het gemiddelde van Kikker C op te tellen en het gemiddelde van Kikker B af te trekken van elke meting van Kikker B. Andere eigenschappen van de verdeling van Kikker B, zoals de variantie, blijven hierdoor onveranderd.
Deze oefening maakt deel uit van de cursus
Statistical Thinking in Python (deel 2)
Oefeninstructies
- Vertaal de inslagkrachten van Kikker B zodat het gemiddelde 0,55 N is.
- Gebruik je functie
draw_bs_reps()om 10.000 bootstrap-replicaties te nemen van het gemiddelde van je vertaalde krachten. - Bereken de p-waarde door het aandeel van je bootstrap-replicaties te bepalen dat kleiner is dan de geobserveerde gemiddelde inslagkracht van Kikker B. Let op: de relevante variabele hier is
force_b. - Print je p-waarde.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Make an array of translated impact forces: translated_force_b
translated_force_b = ____
# Take bootstrap replicates of Frog B's translated impact forces: bs_replicates
bs_replicates = draw_bs_reps(____, ____, 10000)
# Compute fraction of replicates that are less than the observed Frog B force: p
p = np.sum(____ <= np.mean(____)) / 10000
# Print the p-value
print('p = ', ____)