power.prop.test 功能不可互换
power.prop.test function not interchangeable
我正在使用 R 中的 power.prop.test
函数。
我正在进行 A/B 测试,我确定每组最少展示次数的提升情况,以便 A/B 测试具有显着性。
当我 运行 如下函数时,我得到第二个比例 (p2) 为 0.0001870215,每组 n 为 2,571,429:
original_conversion_rate<-0.00009
power.prop.test(n=2571429,
p1=original_conversion_rate,
power=0.8,
sig.level=0.05)
我的回答是这样的:
Two-sample comparison of proportions power calculation
n = 2571429
p1 = 9e-05
p2 = 0.0001870215
sig.level = 0.05
power = 0.8
alternative = two.sided
NOTE: n is number in *each* group
当我用我对 p2 (0.0001870215) 的答案重新运行 来求解 n 时,出现了不同的 n (230,952.6):
original_conversion_rate<-0.00009
power.prop.test(
p1=original_conversion_rate,
p2=0.0001870215,
power=0.8,
sig.level=0.05)
我的 n 更改为:
Two-sample comparison of proportions power calculation
n = 230952.6
p1 = 9e-05
p2 = 0.0001870215
sig.level = 0.05
power = 0.8
alternative = two.sided
为什么在这种情况下 n 会改变?
您的频率太小以至于微小的变化都会产生巨大的影响 - 特别是在 power.prop.test
.
中使用的默认容差级别
如果你再进行一次迭代,你会得到
power.prop.test(n=230952.5,
p1=original_conversion_rate,
power=0.8,
sig.level=0.05)
Two-sample comparison of proportions power calculation
n = 230952.5
p1 = 9e-05
p2 = 0.0001870215
sig.level = 0.05
power = 0.8
alternative = two.sided
NOTE: n is number in *each* group
与之前 p2
的值相同。现在,如果我们回到您的第一个计算并降低我们得到的公差
power.prop.test(n=2571429,
p1=original_conversion_rate,
power=0.8,
sig.level=0.05, tol=.Machine$double.eps^.8)
Two-sample comparison of proportions power calculation
n = 2571429
p1 = 9e-05
p2 = 0.0001150142
sig.level = 0.05
power = 0.8
alternative = two.sided
NOTE: n is number in *each* group
您可以看到 p2
发生了变化。如果我们插入 p2
的更新值并求解 n
我们得到
power.prop.test(
p1=original_conversion_rate,
p2=0.0001150142,
power=0.8,
sig.level=0.05)
Two-sample comparison of proportions power calculation
n = 2571429
p1 = 9e-05
p2 = 0.0001150142
sig.level = 0.05
power = 0.8
alternative = two.sided
NOTE: n is number in *each* group
你得到相同的 n
。
我正在使用 R 中的 power.prop.test
函数。
我正在进行 A/B 测试,我确定每组最少展示次数的提升情况,以便 A/B 测试具有显着性。
当我 运行 如下函数时,我得到第二个比例 (p2) 为 0.0001870215,每组 n 为 2,571,429:
original_conversion_rate<-0.00009
power.prop.test(n=2571429,
p1=original_conversion_rate,
power=0.8,
sig.level=0.05)
我的回答是这样的:
Two-sample comparison of proportions power calculation
n = 2571429
p1 = 9e-05
p2 = 0.0001870215
sig.level = 0.05
power = 0.8
alternative = two.sided
NOTE: n is number in *each* group
当我用我对 p2 (0.0001870215) 的答案重新运行 来求解 n 时,出现了不同的 n (230,952.6):
original_conversion_rate<-0.00009
power.prop.test(
p1=original_conversion_rate,
p2=0.0001870215,
power=0.8,
sig.level=0.05)
我的 n 更改为:
Two-sample comparison of proportions power calculation
n = 230952.6
p1 = 9e-05
p2 = 0.0001870215
sig.level = 0.05
power = 0.8
alternative = two.sided
为什么在这种情况下 n 会改变?
您的频率太小以至于微小的变化都会产生巨大的影响 - 特别是在 power.prop.test
.
如果你再进行一次迭代,你会得到
power.prop.test(n=230952.5,
p1=original_conversion_rate,
power=0.8,
sig.level=0.05)
Two-sample comparison of proportions power calculation
n = 230952.5
p1 = 9e-05
p2 = 0.0001870215
sig.level = 0.05
power = 0.8
alternative = two.sided
NOTE: n is number in *each* group
与之前 p2
的值相同。现在,如果我们回到您的第一个计算并降低我们得到的公差
power.prop.test(n=2571429,
p1=original_conversion_rate,
power=0.8,
sig.level=0.05, tol=.Machine$double.eps^.8)
Two-sample comparison of proportions power calculation
n = 2571429
p1 = 9e-05
p2 = 0.0001150142
sig.level = 0.05
power = 0.8
alternative = two.sided
NOTE: n is number in *each* group
您可以看到 p2
发生了变化。如果我们插入 p2
的更新值并求解 n
我们得到
power.prop.test(
p1=original_conversion_rate,
p2=0.0001150142,
power=0.8,
sig.level=0.05)
Two-sample comparison of proportions power calculation
n = 2571429
p1 = 9e-05
p2 = 0.0001150142
sig.level = 0.05
power = 0.8
alternative = two.sided
NOTE: n is number in *each* group
你得到相同的 n
。