ComeçarComece de graça

Análise de Poder - Parte I

Agora vamos para a análise de poder. Normalmente, você quer garantir que qualquer experimento ou teste A/B que você rode tenha pelo menos 80% de poder estatístico. Uma forma de garantir isso é calcular o tamanho de amostra necessário para atingir 80% de poder.

Suponha que você é responsável por um site de notícias e quer aumentar o tempo que os usuários passam no seu site. Atualmente, o tempo gasto pelos usuários no site segue uma distribuição normal com média de 1 minuto e desvio padrão de 0,5 minuto. Suponha que você vá introduzir um recurso que carrega páginas mais rápido e quer saber o tamanho de amostra necessário para medir um aumento de 5% no tempo gasto no site.

Neste exercício, vamos configurar a estrutura para rodar uma simulação, executar um t-test, e calcular o p-valor.

Este exercício faz parte do curso

Simulação Estatística em Python

Ver curso

Instruções do exercício

  • Inicialize effect_size em 5%, control_mean em 1 e control_sd em 0,5.
  • Usando np.random.normal(), simule um sorteio de control_time_spent e treatment_time_spent usando os valores que você inicializou.
  • Rode um t-test em treatment_time_spent e control_time_spent usando st.ttest_ind(), onde st é scipy.stats, que já foi importado.
  • A significância estatística stat_sig deve ser True se p_value for menor que 0,05; caso contrário, deve ser False.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código