我注意到在进行先验样本大小计算时,Python 的 TTestIndPower() 不会产生与 GPower/R 相同的结果。例如:
from statsmodels.stats.power import TTestIndPower
from statsmodels.stats.proportion import proportion_effectsize
import math as m
p0 = 0.01
p1 = 0.02
power = 0.8
alpha = 0.05
prop2 = 0.8 #80% allocation to group 2
ratio = prop2 / (1 - prop2)
target_effect_size = proportion_effectsize(p0, p1)
analysis = TTestIndPower()
required_n1 = analysis.solve_power(
target_effect_size,
power = power,
alpha = alpha,
ratio = ratio,
alternative = 'two-sided'
)
required_n1 = m.ceil(required_n1)
multiplier = ratio + 1
required_n = m.ceil(required_n1 * multiplier)
print(required_n)
这将返回 7046 组 1 和 2 之间的总样本量。
但是当我将相同的参数放入 Gpower 或使用 R 的 power.prop.test 函数时,我得到 7751。有谁知道它们为什么不同?一种方法被认为比另一种更好吗?