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
Instruções do exercício
- Inicialize
effect_sizeem 5%,control_meanem 1 econtrol_sdem 0,5. - Usando
np.random.normal(), simule um sorteio decontrol_time_spentetreatment_time_spentusando os valores que você inicializou. - Rode um t-test em
treatment_time_spentecontrol_time_spentusandost.ttest_ind(), ondestéscipy.stats, que já foi importado. - A significância estatística
stat_sigdeve serTruesep_valuefor menor que 0,05; caso contrário, deve serFalse.
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))