Teste Bayesiano AB

9

Estou executando um Teste AB em uma página que recebe apenas 5 mil visitas por mês. Levaria muito tempo para atingir os níveis de tráfego necessários para medir uma diferença de + -1% entre o teste e o controle. Ouvi dizer que posso usar as estatísticas bayesianas para me dar uma boa chance de determinar se o teste superou. Como posso usar as estatísticas bayesianas para analisar meus dados atuais?

        Visitors    Conversions
Control 1345         1165
Test A  961          298
Test B  1274         438
Bi-Gnomial
fonte
1
Você não pode contornar as limitações de tamanho da amostra pela magia bayesiana. Colete seus dados.
Aksakal

Respostas:

9

Estou trabalhando nas mesmas perguntas. Agora, existem alguns artigos úteis que não estavam disponíveis quando você fez essa pergunta.


"Bayesian A / B testes com a teoria e código" por Antti Rasinen - a conclusão lógica de uma série de série inacabada artigos "exacta Bayesiana Inference para A / B testes" por Evan Haas (parcialmente resgatados aqui parte 1 e parte2 ).

O conjugado anterior para a distribuição binomial é a distribuição beta. Portanto, a distribuição da taxa de conversão para uma variante é a distribuição beta. Você pode resolver numericamente ou exatamente. O autor se refere a um ensaio escrito pelo próprio Bayes, "Um ensaio para resolver um problema na Doutrina das Oportunidades" .Pr(A>B)


"Teste A / B proporcional", de Ian Clarke - Autor explica que a distribuição beta é a chave para entender como aplicar uma solução bayesiana aos testes A / B. Ele também discute o uso da Thompson Sampling para determinar valores anteriores para e .αβ


"Capítulo 2: Um pouco mais sobre o PyMC" do livro "Métodos bayesianos para hackers", de Cam Davidson Pilon - Este é um livro do iPython que explica os métodos bayesianos em várias aplicações. Na metade do capítulo 2 (o título da seção é Exemplo: teste Bayesiano A / B ), o autor fornece uma explicação detalhada de como calcular a probabilidade de que A seja melhor que B (ou vice-versa) usando a biblioteca pymc . Código python completo é fornecido, incluindo a plotagem dos resultados.


Agora também existem várias calculadoras bayesianas de significado online:

Lenwood
fonte
(+1) muito obrigado, muito útil mesmo
steffen
2
Você pode adicionar uma visão geral das informações nos artigos, para que as pessoas possam dizer se desejam persegui-las e caso os links fiquem inoperantes? Além disso, você pode fornecer citações completas caso os links fiquem inoperantes?
gung - Restabelece Monica
8

Você pode executar uma integração Monte-Carlo dos intervalos credíveis de cada grupo representado por distribuições beta para calcular a probabilidade de que o parâmetro verdadeiro desconhecido de um grupo seja melhor que o parâmetro verdadeiro desconhecido de outro grupo. Fiz algo semelhante nesta pergunta. Como um freqüentador calcula a chance de o grupo A superar o grupo B em relação à resposta binária em que tentativas = visitantes e tentativas bem-sucedidas = conversões

MAS: Lembre-se de que Bayes fornecerá apenas probabilidades subjetivas, dependendo dos dados coletados até agora, e não a "verdade" objetiva. Isso está enraizado na diferença de filosofia entre frequentistas (que usam testes estatísticos, valores de p etc.) e bayesianos. Portanto, você não pode esperar detectar uma diferença significativa usando Bayes quando os procedimentos estatísticos falharem.

Para entender por que isso importa, pode ajudar a aprender a diferença entre o intervalo de confiança e o intervalo credível primeiro, uma vez que a integração de MC acima mencionada "apenas" compara dois intervalos credíveis independentes entre si.

Para mais detalhes sobre este tópico, consulte, por exemplo, estas perguntas:

Steffen
fonte
0

Existem várias abordagens para fazer testes Bayesian A / B.

Antes de tudo, você deve decidir se deseja usar uma abordagem analítica (usando distribuições conjugadas como menciona Lenwood) ou uma abordagem MCMC. Para experimentos simples de A / B, particularmente na taxa de conversão, é o seu caso, não há realmente necessidade de usar uma abordagem MCMC: basta usar uma distribuição Beta como prévia e sua distribuição posterior também será uma distribuição Beta.

Em seguida, você precisa decidir qual regra de decisão aplicar. Aqui, parece haver duas abordagens principais para a tomada de decisão. O primeiro é baseado em um artigo de John Kruschke, da Universidade de Indiana (K. Kruschke, Bayesian Estimation Substitui o Teste t , Journal of Experimental Psychology: General, 142, 573 (2013)). A regra de decisão usada neste artigo é baseada no conceito de Região de Equivalência Prática (ROPE).

Outra possibilidade é usar o conceito de perda esperada. Foi proposto por Chris Stucchio (C. Stucchio, Bayesian A / B Testing at VWO ).

Em princípio, você poderia usar uma regra de decisão diferente.

Você pode encontrar isso e muito mais neste post do blog: Teste Bayesian A / B: um guia passo a passo . Ele também inclui alguns trechos de código Python e usa um projeto Python hospedado no Github .

cbellei
fonte