Um teste de hipótese bootstrap de duas amostras para diferença de médias
Agora queremos testar a hipótese de que os Sapos A e B têm a mesma força média de impacto, mas não necessariamente a mesma distribuição, o que também é impossível com um teste de permutação.
Para fazer o teste bootstrap de duas amostras, deslocamos ambos os arrays para que tenham a mesma média, já que estamos simulando a hipótese de que suas médias são, de fato, iguais. Em seguida, extraímos amostras bootstrap dos arrays deslocados e calculamos a diferença entre as médias. Isso constitui uma réplica bootstrap, e geramos muitas delas. O valor de p é a fração de réplicas com uma diferença de médias maior ou igual ao que foi observado.
Os objetos forces_concat e empirical_diff_means já estão no seu ambiente.
Este exercício faz parte do curso
Pensamento Estatístico em Python (Parte 2)
Instruções do exercício
- Calcule a média de todas as forças (de
forces_concat) usandonp.mean(). - Gere conjuntos de dados deslocados para tanto
force_aquantoforce_bde modo que a média de cada um seja a média do array concatenado de forças de impacto. - Gere 10.000 réplicas bootstrap da média para cada um dos dois arrays deslocados.
- Calcule as réplicas bootstrap da diferença de médias subtraindo as réplicas da força de impacto deslocada do Sapo B das do Sapo A.
- Calcule e imprima o valor de p a partir das suas réplicas bootstrap.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)