如何确定AB试验中的最小样本数

2023-08-23  本文已影响0人  allanYan

计算公式一

n_B = {(1+{1 \over k}){\sigma}^2 ({z_{1-\alpha/2}+z_{1-\beta}})^2 \over ({\mu_A-\mu_B})^2}

参数说明:

  1. \sigma是表示实验组和对照组的综合方差,对于比例类指标,{\sigma}^2=p_{test}(1-p_{test})+p_{control}(1-p_{control}),其中p_{control}是对照组的指标;
  2. k=n_A/n_B
  3. \mu_A-\mu_B是实验组和对照组的指标差值,通常可以根据校验灵敏度MDE和指标均值计算得到

计算公式二

t={{(t_{1-\alpha/2}\sqrt{2p_{control}(1-p_{control})}+t_{1-\beta}\sqrt{p_{control}(1-p_{control})+p_{test}(1-p_{test})})^2}\over{\delta^2}}

  1. \delta是实验组和对照组的指标差值

下面是javascript代码样例:

function num_subjects(alpha, power_level, p, delta) {
    if (p > 0.5) {
        p = 1.0 - p;
    }
    var t_alpha2 = ppnd(1.0-alpha/2);
    var t_beta = ppnd(power_level);

    var sd1 = Math.sqrt(2 * p * (1.0 - p));
    var sd2 = Math.sqrt(p * (1.0 - p) + (p + delta) * (1.0 - p - delta));

    return (t_alpha2 * sd1 + t_beta * sd2) * (t_alpha2 * sd1 + t_beta * sd2) / (delta * delta);
}

举个例子,假设p_{control}=20\%\delta=25%,则p_{test}=20\%(1+25\%)=25\%,一类错误\alpha=5\%, 二类错误\beta=20\%,计算得到最小样本量为num_subjects(0.05, 0.8, 0.2, 0.05)=1030

参考文档

  1. http://powerandsamplesize.com/Calculators/Compare-2-Means/2-Sample-Equality
  2. https://www.abtasty.com/sample-size-calculator/
  3. https://www.evanmiller.org/ab-testing/sample-size.html
上一篇下一篇

猜你喜欢

热点阅读