Análisis de potencia - Parte I
Ahora pasamos al análisis de potencia. Normalmente quieres asegurarte de que cualquier experimento o prueba A/B que ejecutes tenga al menos un 80% de potencia. Una manera de garantizarlo es calcular el tamaño de muestra necesario para alcanzar ese 80%.
Imagina que estás a cargo de un sitio web de noticias y te interesa aumentar el tiempo que los usuarios pasan en tu sitio. Actualmente, el tiempo de permanencia sigue una distribución normal con una media de 1 minuto y una desviación estándar de 0.5 minutos. Supón que vas a introducir una función que carga las páginas más rápido y quieres saber el tamaño de muestra necesario para medir un aumento del 5% en el tiempo de permanencia en el sitio.
En este ejercicio, configuraremos el marco para ejecutar una simulación, realizar una t-test, y calcular el p-valor.
Este ejercicio forma parte del curso
Simulación estadística en Python
Instrucciones del ejercicio
- Inicializa
effect_sizeal 5%,control_meana 1 ycontrol_sda 0.5. - Usando
np.random.normal(), simula una extracción decontrol_time_spentytreatment_time_spentusando los valores que inicializaste. - Ejecuta una t de Student entre
treatment_time_spentycontrol_time_spentusandost.ttest_ind(), dondestesscipy.stats, que ya está importado. - La significación estadística
stat_sigdebe serTruesip_valuees menor que 0.05; en caso contrario, debe serFalse.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Initialize effect_size, control_mean, control_sd
effect_size, sample_size, control_mean, control_sd = ____, 50, ____, ____
# Simulate control_time_spent and treatment_time_spent, assuming equal variance
control_time_spent = np.random.normal(loc=control_mean, scale=____, size=sample_size)
treatment_time_spent = np.random.normal(loc=____*(1+effect_size), scale=control_sd, size=____)
# Run the t-test and get the p_value
t_stat, p_value = st.ttest_ind(____, ____)
stat_sig = p_value < ____
print("P-value: {}, Statistically Significant? {}".format(p_value, stat_sig))