Teste de hipótese com bootstrap em contagens de esperma de abelhas
Agora, você vai testar a seguinte hipótese: em média, zangões tratados com inseticida neonicotinoide têm o mesmo número de espermatozoides ativos por mililitro de sêmen que os zangões não tratados. Você usará a diferença de médias como estatística de teste.
Para sua referência, a assinatura da função draw_bs_reps() que você escreveu no capítulo 2 é draw_bs_reps(data, func, size=1).
Este exercício faz parte do curso
Pensamento Estatístico em Python (Parte 2)
Instruções do exercício
- Calcule a média de espermatozoides vivos de
controlmenos a detreated. - Calcule a média de todas as contagens de espermatozoides vivos. Para isso, primeiro concatene
controletreatede calcule a média do array concatenado. - Gere conjuntos de dados deslocados para
controletreatedde forma que os conjuntos deslocados tenham a mesma média. Isso já foi feito para você. - Gere 10.000 réplicas bootstrap da média para cada um dos dois arrays deslocados. Use sua função
draw_bs_reps(). - Calcule as réplicas bootstrap da diferença de médias.
- O código para calcular e imprimir o p-valor já foi escrito para você. Clique em Enviar para ver o resultado!
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)