2012-06-03 10 views
6

Visti i risultati per un semplice test A/B ...dimensione del campione per A/B Fisher test di significatività

 A B 
clicked 8 60 
ignored 192 1940 

(vale a dire un tasso di conversazione di A 4% e B 3%)

... un test di Fisher in R giustamente dice che non c'è alcuna differenza significativa

> fisher.test(data.frame(A=c(8,192), B=c(60,1940))) 
... 
p-value = 0.3933 
... 

Ma quale funzione è disponibile in R per dirmi quanto ho bisogno di aumentare la mia dimensione del campione per arrivare a un valore p di dire 0.05?

Potrei semplicemente aumentare i valori A (nella loro proporzione) fino a quando non ci arrivo, ma deve esserci un modo migliore? Forse pwr.2p2n.test [1] è in qualche modo utilizzabile?

[1] http://rss.acs.unt.edu/Rdoc/library/pwr/html/pwr.2p2n.test.html

risposta

7

power.prop.test() dovrebbe fare questo per voi. Per far funzionare la matematica, ho convertito i dati "ignorati" in impressioni riassumendo le colonne.

> power.prop.test(p1=8/200, p2=60/2000, power=0.8, sig.level=0.05) 

    Two-sample comparison of proportions power calculation 

       n = 5300.739 
      p1 = 0.04 
      p2 = 0.03 
     sig.level = 0.05 
      power = 0.8 
    alternative = two.sided 

NOTE: n is number in *each* group 

Questo dà 5301, che è per ogni gruppo, in modo che le dimensioni del campione deve essere 10600. Sottraendo il 2200 che hanno già eseguito, è necessario 8400 "prove" per andare.

In questo caso:

  • sig.level è lo stesso del vostro p-value.
  • power è la probabilità di trovare risultati significativi all'interno del campione. Questo è in qualche modo arbitrario, l'80% è una scelta comune. Nota che scegliere l'80% significa che il 20% delle volte non troverai alcun significato quando dovresti. Aumentare la potenza significa che avrai bisogno di un campione più grande per raggiungere il livello di significatività desiderato.

Se si desidera decidere quanto tempo ci vorrà per raggiungere il significato, dividere 8400 per il numero di impressioni al giorno. Questo può aiutare a determinare se vale la pena continuare il test.

È inoltre possibile utilizzare questa funzione per determinare la dimensione del campione richiesta prima dell'inizio del test. C'è una bella recensione che lo descrive sullo 37 Signals blog.

Questa è una funzione R nativa, quindi non è necessario aggiungere o caricare alcun pacchetto. A parte questo, non posso dire quanto sia simile a pwr.p2pn.test().

+0

Questo test esatto utilizza il pescato? – robertevansanders

+0

No, non ci credo. Il test di Fisher valuta i dati di esempio e produce un valore p. Questo test di potenza valuta i risultati (esistenti e desiderati) per produrre una dimensione del campione. – Lenwood

Problemi correlati