鉴于简单 A/B 测试的结果......
A B
clicked 8 60
ignored 192 1940
(即 A 4% 和 B 3% 的 session 率)
... R 中的 Fisher 测试非常正确地表明没有显着差异
> 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
最佳答案
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 上有一篇很好的文章描述了这一点。 .
这是一个 native R 函数,因此您无需添加或加载任何包。除此之外,我不能说这与
pwr.p2pn.test()
有多相似。 .
关于r - A/B Fisher 检验显着性的样本大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10868229/