前言
一台机器包装糖,袋里的糖是一个随机变量,服从正态分布,当机器正常时,其均值为0.5kg,标准差为0.015kg,某天开工后检查机器包装是否正常,随机抽取了下面9袋(0.497,0.506,0.518,0.524,0.498,0.511,0.520,0.515,0.512),问机器是否正常?
如果采用区间估计的思想,其思路和代码实现如下:
1、计算出9袋糖的均值、标准误差;
2、计算出9袋糖的置信区间;
3、比较总体均值与区间的关系,通过可视化表现出来,进行判断;
#检验装糖机器是否正常?
import numpy as np
a=np.array([0.497,0.506,0.518,0.524,0.498,0.511,0.520,0.515,0.512])
mean,std=0.5,0.015 #已知总体均值、标准差
#计算样本均值
sample_mean=a.mean()
#计算标准误差:
se=std/np.sqrt(len(a))
#计算置信区间:(95%的置信度)
left,right=sample_mean-1.96*se,sample_mean+1.96*se
print(f"置信区间:({left:.3f},{right:.3f})")
#将结果进行可视化
import matplotlib.pyplot as plt
plt.rcParams["font.family"]="SimHei"
plt.rcParams["axes.unicode_minus"]=False
plt.plot(mean,0,marker="*",color="orange",ms=15,label="总体均值")
plt.plot(sample_mean,0,marker="o"