如何在 python 中执行二项式检验


二项式检验将样本比例与假设比例进行比较。

例如,假设我们有一个 6 面骰子。如果我们抛出 12 次,我们预计数字“3”出现的次数为 1/6,即 12 * (1/6) = 2 次。

如果数字“3”实际上出现了 4 次,这是否证明骰子偏向数字“3”?我们可以进行二项式检验来回答这个问题。

在 Python 中,您可以使用 scipy.stats 库中的binom_test() 函数执行二项式测试,该函数使用以下语法:

binom_test(x, n=无, p=0.5, Alternative=’两张脸’)

金子:

  • x: “成功”的次数
  • n:试验总数
  • p:每次试验成功的概率
  • 替代方案:替代假设。默认为“双面”,但您也可以指定“更高”或“更少”。

此函数返回检验的 p 值。我们可以使用以下语法加载该函数:

 from scipy.stats import binom_test

以下示例说明了如何在 Python 中执行二项式检验。

示例 1:掷出 6 面骰子 24 次,恰好落在数字“3”上 6 次。执行二项式测试以确定骰子是否偏向数字“3”。

我们测试的原假设和备择假设如下:

H 0 : π ≤ 1/6 (骰子不偏向数字“3”)

H A : π > 1/6

*π是人口比例的符号。

我们将在Python中输入以下公式:

 binom_test(x= 6 , n= 24 , p= 1/6 , alternative=' greater ')

0.1995295129479586

由于该 p 值 (0.1995) 不小于 0.05,因此我们无法拒绝原假设。我们没有足够的证据表明骰子偏向数字“3”。

示例 2:我们抛一枚硬币 30 次,正面朝上的次数恰好有 19 次。执行二项式测试以确定硬币是否偏向正面。

我们测试的原假设和备择假设如下:

H 0 : π ≤ 1/2 (硬币不偏向正面)

H A : π > 1/2

我们将在Python中输入以下公式:

 binom_test(x= 19 , n= 30 , p= 1/2 , alternative=' greater ')

0.10024421103298661

由于该 p 值 (0.10024) 不小于 0.05,因此我们无法拒绝原假设。我们没有足够的证据表明硬币偏向于正面。

示例 3:一家商店生产小部件的效率为 80%。他们正在实施一个新系统,希望能够提高效率。他们从最近生产的产品中随机选择 50 个小部件,并注意到其中 47 个是有效的。执行二项式测试以确定新系统是否会带来更高的效率。

我们测试的原假设和备择假设如下:

H 0 : π ≤ 0.80(新系统不会导致效率提高)

H A : π > 0.80

我们将在Python中输入以下公式:

 binom_test(x= 47 , n= 50 , p= 0.8 , alternative=' greater ')

0.005656361012155314

该 p 值 (0.00565) 小于 0.05,我们拒绝原假设。我们有足够的证据表明新系统提高了效率。

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注