小文 | 公众号 小文的数据之旅
前几期说到统计学最大的作用是得样本而知总体,利用样本准确地预测总体,并以一定的方式说明预测结果的可靠程度。在统计学中,这预测的过程称为参数估计,通过置信水平来说明预测结果的可靠程度。
那么为什么可以用样本估计总体呢?在参数估计的过程中又要注意什么呢?首先样本来自总体,抽样要尽量保证无偏抽样,无偏样本的分布形状与总体样本相似(即估计量抽样分布的数学期望等于总体参数)。另外大数法则告诉我们,样本量越大,样本的统计量越接近总体的真值,最为极端的情况就是样本量等于总体量,样本的统计量还能不等于总体的参数吗?
参数估计的方法主要有两种,分别是点估计和区间估计。
点估计就是用样本统计量的某个取值直接作为总体参数的估计值,那么从总体中多次抽样,每个样本都有一个点估计量,那我们怎么知道哪个点估计量更接近总体的真值呢?
于是就出现了区间估计。区间估计是点估计的基础上,给出总体参数估计的一个区间范围,该区间通常由样本统计量加减估计误差得到。
这个区间范围也称为置信区间,那么这个区间范围多大比较合理呢?一般我们会通过置信水平,即置信区间中包含总体参数真值的次数所占的比例来衡量。比如,最为常用的95%置信水平,可以解释为由100个样本构造的总体参数的100个置信区间中,有95%的区间包含总体参数真值。
知道了这些基础的概念之后,又该如何通过样本对总体进行参数估计呢?
1、点估计
常用的统计量包括有均值、方差、变异系数、偏度和峰度等。根据已知情况,样本均值是我们能为总体均值做出的最好的估计,样本均值被称为总体均值的点估计量。同理,样本方差也被称为总体方差的点估计量。
1.1 点估计的步骤:
(1)找出特定样本大小相同的所有样本
(2)观察所有样本统计量形成的分布,然后求出统计量的期望和方差
(3)得到分布后,利用分布求出概率
1.2 样本均值的抽样分布:
如果考虑同一个总体中所有大小为n的可能样本,然后用这些样本的均值形成分布,则该分布为均值的抽样分布,我们用
- 如果总体服从正态分布
,则样本均值随机变量也服从正态分布,;
- 如果总体不服从正态分布,但n>30,根据中心极限定理,则样本均值随机变量的分布近似正态分布;
- 如果总体不服从正态分布且n<30,则样本均值随机变量的分布根据总体分布的不同而不同,比如总体服从二项分布,样本均值也服从二项分布。
1.3 样本比例的抽样分布:
从同一个总体中取得的所有大小为n的可能样本,由这些样本的比例形成一个分布,这就是比例的抽样分布,用
- 如果n>30,根据中心极限定理,则样本比例符合正态分布,即
,因为是离散数据,使用这个公式时需要连续性修正:,具体见重温统计学--概率与概率分布
点估计量是我们有可能给出的总体统计量的最佳估计,但是依然无法100%地代表总体,原因很简单,因为我们用的是样本,而不是总体本身,所以我们无法判断哪个估计量最好,这时候就需要区间估计。
2、区间估计
2.1 区间估计四步骤:
(1)选择总体统计量(均值、方差、比例)
(2)求出其抽样分布
(3)决定置信水平(5%、1%)
(4)求出置信上下限(Z分布、t分布)
因为区间估计是在点估计的基础上加减估计误差得到,因此前两步的做法一样,然后选择置信水平,置信水平一般会选择5%,更严格些会选择1%。区间估计一般表示为:
因此,在区间估计中误差范围就是系数统计量的标准差,因此我们可以根据可接受的误差范围来确定抽样的数量。设可接受的误差范围为E,那么
2.2 一个总体的均值区间估计:
- 如果总体服从正态分布且总体方差已知,则置信区间为
- 如果总体不服从正态分布,但n>30且总体方差已知,则置信区间为
- 不管总体是否服从正态分布,如果总体方差未知,样本方差已知且n>30,则置信区间为
- 总体服从正态分布,如果总体方差未知,样本方差已知且n<30,则置信区间为
2.3 一个总体的比例区间估计:
- 如果总体服从二项分布且n>30,则置信区间为
2.4 两个总体的均值之差的区间估计:
如果两个样本是从总体中独立抽取的,即一个样本中的元素与另一个样本中的元素相互独立,那么两个样本均值之差的期望为两个总体均值之差,方差的期望为两个总体方差之和,具体见重温统计学--概率与概率分布。
样本均值之差的期望:
样本均值之差的方差:
- 如果总体服从正态分布且总体方差已知,则置信区间为
- 如果总体不服从正态分布,但n>30且总体方差已知,则置信区间为
- 不管总体是否服从正态分布,如果总体方差未知,样本方差已知且n>30,则置信区间为
- 总体服从正态分布,如果总体方差未知,样本方差已知且n<30,则置信区间为
2.5 两个总体的比例之差的区间估计:
- 如果总体服从二项分布且n>30,则置信区间为
c为Z分布系数,t(v)为t分布系数,常用的置信水平相对应的c值为:
- 90%置信水平,c=1.64
- 95%置信水平,c=1.96
- 99%置信水平,c=2.58
3、 实践部分:
某企业生产的袋装食品采用自动打包机包装,每袋标准重量为100克,现从某天生产的一批产品中按重复抽样随机抽取50包进行检查,测得每包重量如下:
- 96~98g:2包
- 98~100g:3包
- 100~102g:34包
- 102~104g:7包
- 104~106g:4包
已知食品每包的重量服从正态分布,
(1)求确定该种食品平均重量的95%的置信区间。
(2)如果规定食品重量低于100g属于不合格,确定该批食品合格率的95%的置信区间。
答:
- 推理步骤:
(1)因为总体服从正态分布,总体方差未知且样本数量大于30,因此样本均值也服从正态分布,
其中样本均值:
样本方差:
样本均值的期望:
样本均值的方差:
因此,样本均值服从N(101.32,0.053)的正态分布,转为化标准正态分布:
现在需要求样本均值的95%的置信区间,查表可知95%的置信区间
最终求得样本均值的95%的置信区间为(100.87,101.77)。
- 公式法: 因为总体服从正态分布,总体方差未知且样本数量大于30,因此置信区间为
,代入,得到样本均值的95%的置信区间为(100.87,101.77)。
- python实现:
import pandas as pd
import numpy as np
x1 = [97]*2
x2 = [99]*3
x3 = [101]*34
x4 = [103]*7
x5 = [105]*4
data = x1+x2+x3+x4+x5
#定义一个函数进行区间估计
def get_result(data=data,c=None,t=None,sigma = None,num = 'n'):
"""data:数据
c:Z分布系数
t:t分布系数
sigma:总体方差
num:样本量
"""
data_mean = np.mean(data)
data_std = np.std(data)
if sigma == None and num>=30:
print(data_mean-c*data_std/np.sqrt(num),data_mean+c*data_std/np.sqrt(num))
elif sigma == None and num<30:
print(data_mean-t*data_std/np.sqrt(num),data_mean+t*data_std/np.sqrt(num))
elif sigma != None and num>= 30:
print(data_mean-c*sigma/np.sqrt(num),data_mean+c*sigma/np.sqrt(num))
else:
print(data_mean-t*sigma/np.sqrt(num),data_mean+t*sigma/np.sqrt(num))
get_result(data,c = 1.96,num = 50)
100.87154103509909 101.7684589649009
(2)低于100g属于不合格,因此不合格率为10%,合格率为90%,这是一个属于总体比例区间估计的问题,因此根据公式
— end —
小文的数据之旅
戳右上角「+关注」获取最新share
如果喜欢,请分享or点赞