二项分布假设检验python代码
时间: 2024-10-11 15:09:02 浏览: 27
Python模拟伯努利试验和二项分布代码实例
在Python中,我们可以使用SciPy库来进行二项分布的假设检验。二项分布通常用于计数型数据,比如实验成功次数在n次独立尝试下的分布。伯努利试验的成功概率记为p,如果这些试验是相互独立并且每次成功的概率都是p,那么实验得到k次成功的次数就服从二项分布。
下面是一个简单的例子,展示如何使用SciPy的`binom_test`函数进行二项分布的零假设检验:
```python
from scipy.stats import binom
# 假设我们有50次独立的抛硬币实验,观察到正面朝上30次
n = 50
k = 30
p_hat = k / n # 猜测的硬币正面向上的概率
# 原始零假设是硬币是公平的,即p=0.5
null_hypothesis = p_hat == 0.5
# 计算p值,p值越小,拒绝原假设的可能性越大
p_value = binom_test(k, n, p=0.5, alternative='two_sided')
print("原始零假设:", null_hypothesis)
print("p值:", p_value)
# 如果p值小于预先设定的显著性水平(例如0.05),则拒绝原假设
alpha = 0.05
if p_value < alpha:
print("拒绝原假设,认为硬币不公平")
else:
print("接受原假设,认为硬币可能是公平的")
阅读全文