样本量为A / B Fisher测试的意义

时间:2012-06-03 05:56:59

标签: r statistics ab-testing

鉴于简单A / B测试的结果......

        A   B
clicked 8   60
ignored 192 1940

(即谈话率为A 4%和B 3%)

...... R中的一项费希尔试验表明没有显着差异

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

但是R中有什么功能可以告诉我需要多少才能增加样本量来达到0.05的p值?

我可以增加A值(以它们的比例)直到我达到它但是必须有更好的方法吗?也许pwr.2p2n.test [1]在某种程度上可用?

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

1 个答案:

答案 0 :(得分:7)

power.prop.test()应该为你做这件事。为了让数学工作,我转换了你被忽略的'通过汇总列来获得数据。

> 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

这给出了5301,这是每组的,所以你的样本量必须是10600.减去已经运行的2200,你有8400"测试"去吧。

在这种情况下:

  • sig.level与您的p值相同。
  • power是您在样本中找到重要结果的可能性。这有点武断,80%是常见的选择。请注意,选择80%表示您应该在20%的时间内找到重要性。增加功率意味着您需要更大的样本量才能达到所需的显着性水平。

如果您想确定达到显着性所需的时间,请将8400除以每天的展示次数。这可以帮助确定它是否值得继续测试。

您还可以在测试开始前使用此功能确定所需的样本大小。在37 Signals blog上有一篇很好的文章描述了这一点。

这是一个原生的R函数,因此您不需要添加或加载任何包。除此之外,我无法说明这与pwr.p2pn.test()有多相似。