Type I e Type II Erros
Deslize para mostrar o menu
Compreender os tipos de erro é fundamental para interpretar os resultados de testes A/B. Em testes de hipótese, um erro do Tipo I ocorre quando se rejeita incorretamente uma hipótese nula verdadeira, também chamado de falso positivo. Isso significa concluir que existe uma diferença quando, na realidade, não há. Por exemplo, se você realiza um teste A/B para verificar se uma nova cor de botão aumenta os cliques e encontra um resultado estatisticamente significativo apenas por acaso (mesmo que a nova cor não tenha efeito real), você cometeu um erro do Tipo I.
Um erro do Tipo II acontece quando não se rejeita uma hipótese nula falsa, conhecido como falso negativo. Isso significa perder um efeito real. Imagine que seu novo recurso realmente aumenta o engajamento dos usuários, mas seu teste não detecta essa melhoria — talvez porque o tamanho da amostra seja pequeno ou o teste não seja sensível o suficiente. Nesse caso, você cometeu um erro do Tipo II.
Cenários do mundo real ajudam a ilustrar esses erros:
- Erro do Tipo I (falso positivo): Lançamento de um novo fluxo de checkout com base em um teste que indicou incorretamente maior conversão, levando ao desperdício de recursos de desenvolvimento;
- Erro do Tipo II (falso negativo): Perda de uma oportunidade valiosa ao não implementar um recurso que realmente melhora a retenção, porque o teste não detectou seu efeito.
123456789101112131415161718192021222324import numpy as np # Simulating 10,000 A/B tests where there is actually no effect (null hypothesis true) np.random.seed(42) n_tests = 10000 alpha = 0.05 # significance level # Simulating p-values uniformly distributed between 0 and 1 (no true effect) p_values = np.random.uniform(0, 1, n_tests) # Type I error: proportion of tests where p-value < alpha (false positives) type1_errors = np.sum(p_values < alpha) type1_error_rate = type1_errors / n_tests print(f"Type I error rate (alpha={alpha}): {type1_error_rate:.3f}") # Simulating 10,000 A/B tests where there IS a real effect (null hypothesis false) # Assume power = 0.8 (80% chance to detect the effect) power = 0.8 # 80% of tests yield p < alpha (true positives), 20% yield p >= alpha (false negatives) false_negatives = int((1 - power) * n_tests) type2_error_rate = false_negatives / n_tests print(f"Type II error rate (beta={1 - power}): {type2_error_rate:.3f}")
Existe um equilíbrio entre o nível de significância (alpha), poder (1 - beta) e taxas de erro. Reduzir alpha diminui a chance de erros do Tipo I, mas aumenta o risco de erros do Tipo II. Aumentar o tamanho da amostra ou o tamanho do efeito pode elevar o poder, reduzindo erros do Tipo II. Estratégias para minimizar erros incluem:
- Escolher um nível de significância apropriado com base no risco do negócio;
- Garantir tamanho de amostra adequado para detectar efeitos relevantes;
- Pré-registrar hipóteses para evitar "p-hacking";
- Realizar análises de sensibilidade para entender o impacto de diferentes limiares.
Equilibrar esses fatores ajuda a tomar decisões mais confiáveis a partir dos testes A/B.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo