ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Inicializa effect_size al 5%, control_mean a 1 y control_sd a 0.5.
  • Usando np.random.normal(), simula una extracción de control_time_spent y treatment_time_spent usando los valores que inicializaste.
  • Ejecuta una t de Student entre treatment_time_spent y control_time_spent usando st.ttest_ind(), donde st es scipy.stats, que ya está importado.
  • La significación estadística stat_sig debe ser True si p_value es menor que 0.05; en caso contrario, debe ser False.

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))
Editar y ejecutar código