Prueba de hipótesis bootstrap sobre recuentos de esperma de abejas
Ahora vas a poner a prueba la siguiente hipótesis: de media, los zánganos tratados con insecticidas neonicotinoides tienen el mismo número de espermatozoides activos por mililitro de semen que los zánganos no tratados. Usarás la diferencia de medias como estadístico de prueba.
Como referencia, la firma de llamada de la función draw_bs_reps() que escribiste en el capítulo 2 es draw_bs_reps(data, func, size=1).
Este ejercicio forma parte del curso
Pensamiento estadístico en Python (Parte 2)
Instrucciones del ejercicio
- Calcula la media del recuento de espermatozoides vivos de
controlmenos la detreated. - Calcula la media de todos los recuentos de espermatozoides vivos. Para ello, primero concatena
controlytreatedy calcula la media del array concatenado. - Genera conjuntos de datos desplazados para
controlytreatedde modo que ambos conjuntos desplazados tengan la misma media. Esto ya está hecho por ti. - Genera 10.000 réplicas bootstrap de la media para cada uno de los dos arrays desplazados. Usa tu función
draw_bs_reps(). - Calcula las réplicas bootstrap de la diferencia de medias.
- El código para calcular e imprimir el valor p ya está escrito. ¡Pulsa Enviar para ver el resultado!
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Compute the difference in mean sperm count: diff_means
diff_means = ____
# Compute mean of pooled data: mean_count
mean_count = ____
# Generate shifted data sets
control_shifted = control - np.mean(control) + mean_count
treated_shifted = treated - np.mean(treated) + mean_count
# Generate bootstrap replicates
bs_reps_control = ____(____,
np.mean, size=10000)
bs_reps_treated = ____(____,
np.mean, size=10000)
# Get replicates of difference of means: bs_replicates
bs_replicates = ____
# Compute and print p-value: p
p = np.sum(bs_replicates >= np.mean(control) - np.mean(treated)) \
/ len(bs_replicates)
print('p-value =', p)