【问题标题】:sample size for A/B fisher test significanceA/B Fisher 检验显着性的样本量
【发布时间】:2012-06-03 05:56:59
【问题描述】:

给定一个简单的 A/B 测试的结果...

        A   B
clicked 8   60
ignored 192 1940

(即A 4%和B 3%的会话率)

... 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

【问题讨论】:

    标签: r statistics ab-testing


    【解决方案1】:

    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() 有多么相似。

    【讨论】:

    • 这是否使用了 Fisher 精确检验?
    • 不,我不这么认为。 Fisher 检验评估样本数据并生成 p 值。此功效测试评估结果(现有的和期望的)以产生样本量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 2016-04-29
    • 2020-10-03
    相关资源
    最近更新 更多