【问题标题】:python compute sample size for one-sample Z-testpython计算单样本Z检验的样本大小
【发布时间】:2022-01-18 01:49:30
【问题描述】:

我正在尝试查看是否有一种简单的方法来计算单样本 Z 检验拒绝原假设所需的最小样本量。

我知道我们可以拒绝零假设(即 A/B 测试成功)如果

1 - scipy.stats.norm.cdf((x-mu)/(s/np.sqrt(n)) < alpha

其中 x 是样本均值,mu 是总体均值,s 是总体标准差,n 是样本大小。

有没有办法在 python 中解决上述n 的方程?

【问题讨论】:

  • 澄清一下,您是说要改变n,同时保持x 不变?
  • 我知道所有其他变量,我需要解决n
  • 好的,谢谢。进一步澄清:您指的是 t 检验,但您的等式意味着您的检验统计量是正态分布的,这将使其成为 Z 检验而不是 t 检验。我假设方程是正确的,你的意思是 Z 检验,但你能仔细检查一下吗?

标签: python statistics ab-testing


【解决方案1】:

scipy.stats 中的分布具有 cdf 函数的逆函数,称为 ppfppf 代表“百分比点函数”,但这是用词不当,因为它实际上处理的是分位数,而不是百分位数。我们可以使用这个函数和ppf(cdf(x)) = x 来重新排列和求解你的方程。

假设alpha &lt; 0.5,有两种情况需要考虑。如果x &lt;= mu 则没有解,否则我们可以将方程重新排列为:

np.sqrt(n) > s * scipy.stats.norm.ppf(1 - alpha) / (x - mu)

旁白:

如果alpha &gt;= 0.5 则解决方案很奇怪:任何n 都可以(如果x &gt;= mu),或者您在n 上获得上限(如果x &lt; mu)。但这就是你如此蔑视你的零假设所得到的!

【讨论】:

    猜你喜欢
    • 2018-07-11
    • 2023-03-13
    • 2021-08-14
    • 1970-01-01
    • 2020-04-15
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多