R - power.prop.test, prop.test e tamanhos de amostra desiguais nos testes A / B

8

Digamos que eu queira saber qual o tamanho da amostra necessário para um experimento em que estou procurando determinar se a diferença nas duas proporções de sucesso é estatisticamente significativa. Aqui está o meu processo atual:

  1. Veja os dados históricos para estabelecer previsões de linha de base. Diga que, no passado, executar uma ação resulta em uma taxa de sucesso de 10%, enquanto não executar uma ação resulta em uma taxa de sucesso de 9%. Suponha que essas conclusões não tenham sido validadas estatisticamente, mas que sejam baseadas em quantidades relativamente grandes de dados (mais de 10.000 observações).
  2. Conecte essas suposições ao arquivo power.prop.test para obter o seguinte:

     power.prop.test(p1=.1,p2=.11,power=.9)
    
     Two-sample comparison of proportions power calculation 
    
              n = 19746.62
             p1 = 0.1
             p2 = 0.11
      sig.level = 0.05
          power = 0.9
    alternative = two.sided
    
  3. Portanto, isso me diz que eu precisaria de um tamanho de amostra de ~ 20000 em cada grupo de um teste A / B para detectar uma diferença significativa entre proporções.

  4. O próximo passo é realizar o experimento com 20.000 observações em cada grupo. O Grupo B (nenhuma ação tomada) possui 2300 sucessos em 20.000 observações, enquanto o Grupo A (ação tomada) possui 2200 sucessos em 20.000 observações.

  5. Faça um teste

    prop.test(c(2300,2100),c(20000,20000))
    
    2-sample test for equality of proportions with continuity correction
    
    data:  c(2300, 2100) out of c(20000, 20000)
    X-squared = 10.1126, df = 1, p-value = 0.001473
    alternative hypothesis: two.sided
    95 percent confidence interval:
    0.003818257 0.016181743
    sample estimates:
    prop 1 prop 2 
    0.115  0.105
    
  6. Então dizemos que podemos rejeitar a hipótese nula de que as proporções são iguais.

Questões

  • Esse método está correto ou pelo menos está no caminho certo?
  • Eu poderia especificar alt="greater"no prop.test e confiar no valor de p, mesmo que o power.prop.test fosse para um teste de dois lados?
  • E se o valor de p fosse maior que 0,05 no teste de teste? Devo assumir que tenho uma amostra estatisticamente significativa, mas não há diferença estatisticamente significativa entre as duas proporções? Além disso, a significância estatística é inerente ao valor de p em prop.test - ou seja, power.prop.test é necessário?
  • E se eu não puder fazer uma divisão 50/50 e precisar fazer, por exemplo, uma divisão 95/5? Existe um método para calcular o tamanho da amostra para este caso?
  • E se eu não tiver idéia de qual deve ser minha previsão de linha de base para proporções? Se eu acho e as proporções reais estão muito distantes, isso invalidará minha análise?

Quaisquer outras lacunas que você pudesse preencher seriam muito apreciadas - minhas desculpas pela natureza complicada deste post. Obrigado!

userNaN
fonte

Respostas:

3

Esse método está correto ou pelo menos está no caminho certo?

Sim, acho que é uma abordagem muito boa.

Posso especificar alt = "maior" no prop.test e confiar no valor de p, mesmo que o power.prop.test seja para um teste de dois lados?

Não tenho certeza, mas acho que você precisará usá alternative="two.sided"-lo prop.test.

E se o valor de p fosse maior que 0,05 no teste de teste? Devo assumir que tenho uma amostra estatisticamente significativa, mas não há diferença estatisticamente significativa entre as duas proporções? Além disso, a significância estatística é inerente ao valor de p em prop.test - ou seja, power.prop.test é necessário?

Sim, se o valor de p for maior que 0,05, não haverá confiança de que exista uma diferença detectável entre as amostras. Sim, a significância estatística é inerente ao valor-p, mas o teste power.prop.t ainda é necessário antes de você iniciar seu experimento para determinar o tamanho da amostra. power.prop.testé usado para configurar sua experiência, prop.testé usado para avaliar os resultados da sua experiência.

BTW - Você pode calcular o intervalo de confiança para cada grupo e ver se eles se sobrepõem no seu nível de confiança. Você pode fazer isso seguindo estas etapas para Calcular muitos intervalos de confiança na distribuição .

Para visualizar o que quero dizer, veja esta calculadora com seus dados de exemplo conectados: http://www.evanmiller.org/ab-testing/chi-squared.html#!2300/20000;2100/20000@95

Aqui está o resultado:

intervalo de confiança para cada grupo

Observe o gráfico que ele fornece que mostra o intervalo do intervalo de confiança para cada grupo.

E se eu não puder fazer uma divisão 50/50 e precisar fazer, por exemplo, uma divisão 95/5? Existe um método para calcular o tamanho da amostra para este caso?

É por isso que você precisa usar power.prop.testporque a divisão não importa. O que importa é que você atenda ao tamanho mínimo da amostra para cada grupo. Se você fizer uma divisão 95/5, levará mais tempo para atingir o tamanho mínimo da amostra para a variação que está recebendo os 5%.

E se eu não tiver idéia de qual deve ser minha previsão de linha de base para proporções? Se eu acho e as proporções reais estão muito distantes, isso invalidará minha análise?

Você precisará desenhar uma linha na areia, adivinhar um efeito detectável razoável e calcular o tamanho da amostra necessário. Se você não tiver tempo, recursos, etc. suficientes para atender ao tamanho calculado da amostra power.prop.test, precisará reduzir o efeito detectável. Eu costumo configurá-lo assim e percorrer diferentes deltavalores para ver qual seria o tamanho da amostra para esse efeito.

#Significance Level (alpha)
alpha <- .05

# Statistical Power (1-Beta)
beta <- 0.8

# Baseline conversion rate
p <- 0.2   

# Minimum Detectable Effect
delta <- .05

power.prop.test(p1=p, p2=p+delta, sig.level=alpha, power=beta, alternative="two.sided")
Javid Jamae
fonte
1
Javid, quando você citar parte da pergunta em sua resposta, considere usar a marcação destinada a indicar uma citação de bloco ( > no início do bloco citado) em vez de apenas colocá-lo em negrito.
Glen_b -Reinstala Monica
2
"Se você fizer uma divisão 95/5, levará mais tempo para atingir o tamanho mínimo da amostra para a variação que está recebendo os 5%." - embora essa seja uma abordagem conservadora para, pelo menos, satisfazer a potência especificada do teste, na verdade você excederá a potência especificada inserida em power.prop.test se você tiver um grupo "pequeno" e "grande" (por exemplo, n1 = 19746, n2 = 375174). Um método mais exato para atender aos requisitos de energia para tamanhos de amostra desiguais provavelmente seria desejável.
Minador