- s p 2 = ( n 1 − 1 ) s 1 2 + ( n 2 − 1 ) s 2 2 n 1 + n 2 − 2 s^2_p=frac{(n_1-1)s^2_1+(n_2-1)s^2_2}{n_1+n_2-2} sp2=n1+n2−2(n1−1)s12+(n2−1)s22
为估计两种方法组装产品所需时间的差异,分别为两种不同的组装方法随机安排12个工人,每个工人组装意见产品所需的时间,数据如下:
import pandas as pd import numpy as np import scipy as sp from scipy import stats # 方法1 lst_1 = pd.Series([28.3,30.1,29,37.6,32.1,28.8,36,37.2,38.5,34.4,28,30]) # 方法2 lst_2 = pd.Series([27.6,22.2,31,33.8,20,30.2,31.7,26,32,31.2,33.4,26.5])
假定两种方法组装产品的时间服从正太分布,且方差相等,试以95%的置信水平建立两种方法组装产品所需平均时间之差的置信区间。
a = 0.05 # 方法1 n1 = len(lst_1) x1_bar = lst_1.mean() sigma1_2 = lst_1.var() # 方法2 n2 = len(lst_2) x2_bar = lst_2.mean() sigma2_2 = lst_2.var()
计算 t a / 2 t_{a/2} ta/2
t_a2 = stats.t.isf(a/2,(n1+n2-2)) t_a2
2.073873067904015
计算 s p 2 s^2_p sp2
s_p_2 = ((n1-1)*sigma1_2+(n2-1)*sigma2_2)/(n1+n2-2)
计算公式
left = (x1_bar-x2_bar)-t_a2*np.sqrt(s_p_2*(1/n1+1/n2)) right = (x1_bar-x2_bar)+t_a2*np.sqrt(s_p_2*(1/n1+1/n2))
print('两种方法组装产品所需平均时间之差的95%的置信区间为({:.3f},{:.3f})'.format(left,right))
两种方法组装产品所需平均时间之差的95%的置信区间为(0.140,7.260)
独立小样本, σ 1 2 sigma^2_1 σ12 和 σ 2 2 sigma^2_2 σ22未知且不相等,两个样本容量相等 ( x ˉ 1 − x ˉ 2 ) ± t a / 2 ( n 1 + n 2 − 2 ) s 1 2 n 1 + s 2 2 n 2 (bar{x}_1-bar{x}_2)pm t_{a/2}(n_1+n_2-2)sqrt{frac{s^2_1}{n_1}+frac{s^2_2}{n_2}} (xˉ1−xˉ2)±ta/2(n1+n2−2)n1s12+n2s22 例:使用上面的数据,结果是一样的
a = 0.05 # 方法1 n1 = len(lst_1) x1_bar = lst_1.mean() sigma1_2 = lst_1.var() # 方法2 n2 = len(lst_2) x2_bar = lst_2.mean() sigma2_2 = lst_2.var()
计算 t a / 2 t_{a/2} ta/2
t_a2 = stats.t.isf(a/2,(n1+n2-2))
计算公式
left = (x1_bar-x2_bar)-t_a2*np.sqrt(sigma1_2/n1+sigma2_2/n2) right = (x1_bar-x2_bar)+t_a2*np.sqrt(sigma1_2/n1+sigma2_2/n2)
# 结果是一样的
print('两种方法组装产品所需平均时间之差的95%的置信区间为({:.3f},{:.3f})'.format(left,right))
两种方法组装产品所需平均时间之差的95%的置信区间为(0.140,7.260)
独立小样本, σ 1 2 sigma^2_1 σ12 和 σ 2 2 sigma^2_2 σ22未知且不相等,两个样本容量不相等 ( x ˉ 1 − x ˉ 2 ) ± t a / 2 ( v ) s 1 2 n 1 + s 2 2 n 2 (bar{x}_1-bar{x}_2)pm t_{a/2}(v)sqrt{frac{s^2_1}{n_1}+frac{s^2_2}{n_2}} (xˉ1−xˉ2)±ta/2(v)n1s12+n2s22 v = ( s 1 2 n 1 + s 2 2 n 2 ) 2 ( s 1 2 / n 1 ) 2 n 1 − 1 + ( s 2 2 / n 2 ) 2 n 2 − 1 v=frac{(frac{s^2_1}{n_1}+frac{s^2_2}{n_2})^2}{frac{(s^2_1/n_1)^2}{n_1-1}+frac{(s^2_2/n_2)^2}{n_2-1}} v=n1−1(s12/n1)2+n2−1(s22/n2)2(n1s12+n2s22)2 例:假定第一种方法随机安排12个工人,第二种方法随机安排8个工人,数据如下。
# 方法1 lst_1 = pd.Series([28.3,30.1,29,37.6,32.1,28.8,36,37.2,38.5,34.4,28,30]) # 方法2 lst_2 = pd.Series([27.6,22.2,31,33.8,20,30.2,26.5,31.7])
假定两个总体的方差不相等,试以95%的置信水平建立两种方法组装产品所需平均时间之差的置信区间。
a = 0.05 # 方法1 n1 = len(lst_1) x1_bar = lst_1.mean() sigma1_2 = lst_1.var() # 方法2 n2 = len(lst_2) x2_bar = lst_2.mean() sigma2_2 = lst_2.var()
计算自由度v
v = np.power((sigma1_2/n1+sigma2_2/n2),2)/(np.power(sigma1_2/n1,2)/(n1-1)+np.power(sigma2_2/n2,2)/(n2-1))
v = round(v)
v
计算 t a / 2 t_{a/2} ta/2
t_a2 = stats.t.isf(a/2,v)
计算公式:
left = (x1_bar-x2_bar)-t_a2*np.sqrt(sigma1_2/n1+sigma2_2/n2) right = (x1_bar-x2_bar)+t_a2*np.sqrt(sigma1_2/n1+sigma2_2/n2)
print('两种方法组装产品所需平均时间之差的95%的置信区间为({:.3f},{:.3f})'.format(left,right))
两种方法组装产品所需平均时间之差的95%的置信区间为(0.192,9.058)



