一、 内容导入
在企业生产过程中,我们要时刻监控产品的质量,而评估一批产品的好坏时,很多时候都需要计算产品的平均重量、平均寿命等,一种方法是测量出所有产品的相应值,然后求均值、标准差、比例等参数。但是这种方法往往是不能实现的,比如我们想知道一批电子元件的平均使用寿命,我们不能把所有电子元件都使用到坏来求该值,这样求得的值对于我们也不再具有价值了。此时总体均值估计就派上用场了。接下来本文就讲一讲如何利用总体均值估计帮助企业把控生产质量。
二、参数估计的形式
参数估计就是对总体分布参数的估计,包括期望、方差、总体比例等。讲具体的参数估计应用前,我们先来介绍一下参数估计的形式,参数估计有两种形式:点估计和区间估计。
点估计即先构造一个统计量
代入样本观测值即得到一个点估计值
即给出一个总体参数的可能值。
而区间估计则是在点估计的基础上给出一个以一定的概率保证估计包含总体参数的值域,而这个概率称为置信水平。
虽然重复抽样,点估计的均值可能等于总体真值,但由于样本具有随机性,估计值会有误差,可能并不等于总体真值,且我们并不能确定误差的大小。区间估计则不同,它给出一个值域,并给出值域的置信水平,这样我们虽然不能知道总体真值的具体值,但是我们知道了真值的大概范围,即知道了误差的大小。并且知道了值域包含总体真值的概率。
三、单个总体均值的估计
一般用样本均值
作为总体均值的点估计,而区间估计则需要依据样本均值的抽样分布给出。我们通过总体抽取一定数目的样本有多种样本可能,得到的样本均值也会有所不同,而样本均值的所有可能取值的分布就称为样本均值的抽样分布,通俗地讲样本均值的抽样分布就是对样本均值取值概率情况的一个描述。下面我们就来看看具体区间估计方法吧。样本均值的分布与总体分布、总体方差是否知道和样本量有关,接下来我们就看看不同条件下,样本均值的分布及区间估计。
3.1 正态总体、方差已知,或非正态总体、大样本(正态分布)
3.1.1 区间估计理论
当总体服从正态分布且方差
已知时,或者总体不是正态分布,且样本为大样本时(n≥30),样本均值的抽样分布为正态分布,其数学期望(均值)为总体均值
方差为
n为样本数,样本均值经过标准化后的随机变量则服从标准正态分布,即
服从期望为0方差为1的正态分布,依此可以给出总体均在
置信水平下的置信区间为:
为标准正态分布右侧面积为
的Z值
是估计总体均值的估计误差。
非正态总体、大样本、方差未知的情况只需用样本的标准差s替代
3.1.2 区间估计应用举例
正态总体、方差已知(食品的平均重量估计):
假设按规定企业生产的某种袋装食品重量应为100g,企业质检部门对该食品进行抽检,从某批袋装食品中随机抽取25袋,测量每袋的重量如下表1所示,已知产品重量服从正态分布,且总体标准差为10g。接下来我们看看食品是否合格。
表 1
我们已知总体服从正态分布,且标准差
样本数为25,这符合正态总体方差已知的条件,置信区间应为
接下来我们来看看计算置信水平在
时食品平均重量的区间估计过程:
1) 计算得到样本均值:105.36,
2) 查询正态分布表,得
3) 95%置信水平下总体均值的区间估计为:
我们称(101.44,109.28)为总体均值(这里指这批食品的平均重量)的95%的置信区间,为此时我们就得出结论该批产品的平均重量以95%的概率在101.4g~109.28g内。
非正态总体、大样本(电子元件的平均寿命):
我们知道有时候电子元件的寿命并不服从正态分布,而是其他的分布(比如指数分布),这里我们就不在探讨其真正服从什么分布了,我们只介绍对其平均寿命的估计过程。
下表2是从某种电子元件的一批产品中抽取的50个样本的使用寿命数据,我们并不知道该电子元件的寿命服从什么分布,也不知道总体的方差。
表 2 电子元件使用寿命(单位:小时)
接下来我们来看看计算置信水平在
时电子元件平均寿命的区间估计过程:
1) 计算得到样本均值:2294.8,
2) 计算得到样本标准差:1595.976
3) 查询正态分布表,得
4) 给定置信水平95%(可以为其他值),95%置信水平下总体均值的区间估计为:
由于我们不知道总体的方差(标准差),而样本量又足够大,我们可以用样本方差(标准差)来代替总体方差(标准差)。
3.2 正态总体、方差未知、小样本(t分布)
3.2.1 区间估计理论
如果总体服从正态分布,且总体方差已知,无论样本量的大小,样本均值
的抽样分布都服从均值
方差为
的正态分布。
但是如果总体方差未知,且在小样本情况下,需要用样本方差s2代替
这时候样本均值标准化后的随机变量服从自由度为(n-1)的t分布,即:
则总体均值在
的置信水平下的置信区间为:
为自由度为(n-1)的t分布右侧面积为
的t值。
3.2.2 区间估计应用举例
一家研究机构想估计网络公司工作的员工每周加班的平均时间,为此随机抽取了18个员工,得到他们每周加班的时间数据如下表3,假设员工每周加班时间服从正态分布。
求90%置信水平下的区间估计的过程如下:
1) 计算得到样本均值:13.56
2) 计算得到样本标准差:7.8
3) 查询t分布表,得
90%置信水平下的总体均值区间估计为:
四、总体均值区间估计的步骤总结
是不是有一点晕了?那我们来总结一下不同条件下总体均值参数估计的取值的公式吧。
虽然上面的表格看起来条理清晰了,但是,你是不是依然为复杂的计算步骤和查询分布表犯难呢,我们在这里为您提供一个函数(python编程),您只需要输入您的数据、总体方差、以及置信水平就可以得到总体均值的点估计和您指定的置信水平的置信区间啦。(这个函数默认小样本数据的总体服从正态分布)
import numpy as np
import scipy.stats
def mean_interval(data,sig=None,confidence=0.95):
'''
data:ndarray,数据
sig: 总体标准差
confidence:置信水平
'''
mean=data.mean()
std=data.std(ddof=1)
n=data.shape[0]
alpha = 1 - confidence
z_score = scipy.stats.norm.isf(alpha / 2) # z分布临界值
t_score = scipy.stats.t.isf(alpha / 2, df = (n-1) ) # t分布临界值
#大样本,总体方差已知
if n >= 30 and sig != None:
me = z_score*sig / np.sqrt(n) # 误差
lower_limit = mean - me
upper_limit = mean + me
#大样本,总体方差未知
if n >= 30 and sig == None:
me = z_score*std / np.sqrt(n)
lower_limit = mean - me
upper_limit = mean + me
#小样本,总体方差未知
if n < 30:
if sig == None:
me = t_score*std / np.sqrt(n)
else:
me = z_score*sig / np.sqrt(n)
lower_limit = mean - me
upper_limit = mean + me
print('样本均值:',mean)
print('样本方差:',std)
return round(mean,3),(round(lower_limit, 3), round(upper_limit, 3))
想获取更多内容,请关注海数据实验室公众号。
import numpy as np
import scipy.stats
def mean_interval(data,sig=None,confidence=0.95):'''data:ndarray,数据sig: 总体标准差confidence:置信水平'''mean=data.mean()std=data.std(ddof=1)n=data.shape[0]alpha = 1 - confidencez_score = scipy.stats.norm.isf(alpha / 2) # z分布临界值t_score = scipy.stats.t.isf(alpha / 2, df = (n-1) ) # t分布临界值#大样本,总体方差已知if n >= 30 and sig != None:me = z_score*sig / np.sqrt(n) # 误差lower_limit = mean - meupper_limit = mean + me#大样本,总体方差未知if n >= 30 and sig == None:me = z_score*std / np.sqrt(n)lower_limit = mean - meupper_limit = mean + me#小样本,总体方差未知if n < 30:if sig == None:me = t_score*std / np.sqrt(n)else:me = z_score*sig / np.sqrt(n)lower_limit = mean - meupper_limit = mean + meprint('样本均值:',mean)print('样本方差:',std)return round(mean,3),(round(lower_limit, 3), round(upper_limit, 3))