Prueba de hipótesis con bootstrap
La prueba de permutación tiene una hipótesis bastante restrictiva: que las duraciones de los intervalos de los heterocigotos y del tipo salvaje están distribuidas de forma idéntica. Ahora, usa una prueba de hipótesis con bootstrap para comprobar la hipótesis de que las medias son iguales, sin hacer suposiciones sobre las distribuciones.
Este ejercicio forma parte del curso
Casos prácticos de pensamiento estadístico
Instrucciones del ejercicio
- Crea un array,
bout_lengths_concat, que contenga todas las duraciones de intervalos tanto del tipo salvaje (bout_lengths_wt) como de los heterocigotos (bout_lengths_het) usandonp.concatenate(). - Calcula la media de todas las duraciones de intervalos de este array concatenado (
bout_lengths_concat) y guarda el resultado en la variablemean_bout_length. - Desplaza ambos conjuntos de datos para que tengan la misma media, concretamente
mean_bout_length. Guarda los arrays desplazados en las variableswt_shiftedyhet_shifted. - Usa
dcst.draw_bs_reps()para extraer 10.000 réplicas bootstrap de la media para cada uno de los conjuntos de datos desplazados. Guarda las réplicas respectivas enbs_reps_wtybs_reps_het. - Resta
bs_reps_wtdebs_reps_hetpara obtener las réplicas bootstrap de la diferencia de medias. Guarda los resultados en la variablebs_reps. - Calcula el valor p, definiendo «al menos tan extremo como» que la diferencia de medias bajo la hipótesis nula sea mayor o igual que la observada experimentalmente. La variable
diff_means_expdel ejercicio anterior ya está en tu espacio de nombres.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Concatenate arrays: bout_lengths_concat
bout_lengths_concat = ____((____, ____))
# Compute mean of all bout_lengths: mean_bout_length
mean_bout_length = ____
# Generate shifted arrays
wt_shifted = ____ - np.mean(____) + ____
het_shifted = ____ - ____ + ____
# Compute 10,000 bootstrap replicates from shifted arrays
bs_reps_wt = ____
bs_reps_het = ____
# Get replicates of difference of means: bs_replicates
bs_reps = ____ - ____
# Compute and print p-value: p
p = ____(____ >= ____) / len(____)
print('p-value =', p)