Python 比例的一个样本测试

Python 比例的一个样本测试,python,Python,我想用Python做“比例的一个示例测试”。我找到了这个文件,但我不知道如何使用它。例如,什么是count和nobs。在这两个示例中,示例1给出了计数和NOB的单个数字,而示例2给出了两个数字 对于结果,我想知道事件发生率高于60%的p值 例1 >>> count = 5 >>> nobs = 83 >>> value = .05 >>> stat, pval = proportions_ztest(count, nobs,

我想用Python做“比例的一个示例测试”。我找到了这个文件,但我不知道如何使用它。例如,什么是count和nobs。在这两个示例中,示例1给出了计数和NOB的单个数字,而示例2给出了两个数字

对于结果,我想知道事件发生率高于60%的p值

例1

>>> count = 5
>>> nobs = 83
>>> value = .05
>>> stat, pval = proportions_ztest(count, nobs, value)
>>> print('{0:0.3f}'.format(pval))
0.695
例2

>>> import numpy as np
>>> from statsmodels.stats.proportion import proportions_ztest
>>> count = np.array([5, 12])
>>> nobs = np.array([83, 99])
>>> stat, pval = proportions_ztest(counts, nobs)
>>> print('{0:0.3f}'.format(pval))
0.159
我的数据是这样的

Yes No
1   0
1   0
1   0
0   1
0   1
1   0
1   0
0   1
0   1
0   1
0   1
0   1
你能解释一下如何使用它并举例说明吗

谢谢大家!

对于示例1:

nobs
是试验的总数,即列表中的行数

count
是成功试验的数量,即列表中
Yes
事件的数量

value
是要测试的比例,即基于问题文本的
0.6

这里的无效假设是,由这些值给出的单个样本是从一个分布中提取的,其比例等于指定的

在示例2的情况下:


有两个独立样本,
nobs
count
向量的第一个条目代表第一个样本,第二个代表第二个样本<代码>值则被省略,无效假设为两个样本的真实比例相等。

注释中解释如何使用is。 用于以科学记数法打印p值:

from decimal import Decimal
print('{0:.2E}'.format(Decimal(pval))) 

用户10605163提供的答案对于所问问题是正确的

然而,由于statsmodel中的
比例测试
使用了使用正态分布近似二项分布的经典统计方法,因此从
比例测试
得到的p值与从第一原理计算得到的值不同

在这个计算机时代,似乎不再需要使用正态分布来近似二项分布,特别是对于这样小的试验规模


您可以使用一些组合数学来计算概率空间,或者您可以模拟多组试验,直接获得p值,而无需任何测试统计数据

谢谢大家!!我尝试了
count=6726 nobs=592458 value=0.6407 stat,pval=proportions\u ztest(count,nobs,value)打印({0:0.3f})。format(pval))
但输出为0.000yes,这是正确的结果。这意味着,如果真正的成功比例是
0.6407
,那么在
592458
事件中看到
6726
成功的概率实际上为零。样本比例
6726/592458=0.0114
远低于
0.6407
我明白了,谢谢。但我想打印出p值,它不是零,只是太小了,python无法打印出来。我是否可以打印结果,如
<2.22e-16***
?您需要手动捕获案例并打印此结果,而不是零。此值几乎是标准浮点计算仍有意义的最小精度。您可以使用
rom decimal import decimal print({0:.2E}).format(decimal(pval))
打印科学记数法