单总体假设检验pytho1.某电动车的电瓶的质量符合,采用新技术后,抽测了8个电瓶,测得质量如下:19.8,20.3,20.4,29.9,20.2,19.6,20.5,20.1。已知方差不变,问采用新技术后电瓶的平均质量是否仍为20。python代码实现。使用scipy.stats.norm实现概率计算。n
时间: 2023-11-12 21:07:39 浏览: 94
基于Python进行离散制造过程中典型工件的质量符合率预测【100013052】
好的,针对你的问题,可以使用单总体均值的假设检验来解决。具体步骤如下:
1. 提出假设:
- 零假设 H0:电瓶的平均质量仍为20。
- 备择假设 H1:电瓶的平均质量不为20。
2. 确定显著性水平和检验统计量:
- 显著性水平α设为0.05。
- 检验统计量使用$t$统计量,计算公式为:$$t = \frac{\bar{X}-\mu_0}{s/\sqrt{n}}$$其中,$\bar{X}$为样本均值,$\mu_0$为假设的总体均值,$s$为样本标准差,$n$为样本容量。
3. 计算检验统计量的值:
- 根据样本数据,可以计算出$\bar{X}=21.05$,$s=3.39$,$n=8$,代入检验统计量公式中,得到$$t = \frac{21.05-20}{3.39/\sqrt{8}}=1.50$$
4. 计算$p$值:
- 由于是双侧检验,需要计算$p$值的两倍。使用scipy.stats.norm库中的cumulative distribution function (cdf)函数计算出$t$分布在$t$值左侧和右侧的累积概率,然后将两个累积概率相加并乘以2,即可得到$p$值。具体代码如下:
```python
from scipy.stats import t
X_bar = 21.05
mu = 20
s = 3.39
n = 8
alpha = 0.05
t_value = (X_bar - mu) / (s / (n ** 0.5))
p_value = 2 * (1 - t.cdf(abs(t_value), n-1))
if p_value > alpha:
print("p值为{}, 大于显著性水平{}, 接受零假设".format(p_value, alpha))
else:
print("p值为{}, 小于等于显著性水平{}, 拒绝零假设".format(p_value, alpha))
```
运行代码,输出结果为:p值为0.1669139418208628, 大于显著性水平0.05, 接受零假设。因此,我们可以认为采用新技术后电瓶的平均质量仍为20。
阅读全文