Aan de slagGa gratis aan de slag

Een tweesteeks bootstrap-hypothesetoets voor het verschil in gemiddelden

We willen nu de hypothese testen dat Kikker A en Kikker B dezelfde gemiddelde inslagkracht hebben, maar niet per se dezelfde verdeling, wat met een permutatietoets ook niet mogelijk is.

Voor de tweesteeks bootstraptoets verschuiven we beide arrays zodat ze hetzelfde gemiddelde hebben, omdat we de hypothese simuleren dat hun gemiddelden inderdaad gelijk zijn. Daarna trekken we bootstrap-steekproeven uit de verschoven arrays en berekenen we het verschil in gemiddelden. Dit vormt één bootstrap-replicatie, en we genereren er veel. De p-waarde is het aandeel replicaties met een verschil in gemiddelden dat groter is dan of gelijk aan wat is waargenomen.

De objecten forces_concat en empirical_diff_means staan al in je namespace.

Deze oefening maakt deel uit van de cursus

Statistical Thinking in Python (deel 2)

Cursus bekijken

Oefeninstructies

  • Bereken het gemiddelde van alle krachten (uit forces_concat) met np.mean().
  • Genereer verschoven gegevenssets voor zowel force_a als force_b zodat het gemiddelde van elk gelijk is aan het gemiddelde van de samengevoegde array met inslagkrachten.
  • Genereer elk 10.000 bootstrap-replicaties van het gemiddelde voor de twee verschoven arrays.
  • Bereken de bootstrap-replicaties van het verschil in gemiddelden door de replicaties van de verschoven inslagkracht van Kikker B af te trekken van die van Kikker A.
  • Bereken en print de p-waarde op basis van je bootstrap-replicaties.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren