相关名词解释
区间估计
:给定置信水平,根据估计值确定真实值可能出现的区间范围,该区间通常以估计值为中心,该区间则为置信区间。
中心极限定理
:在适当的条件下,大量相互独立随机变量的均值经适当标准化后依分布收敛于正态分布。
大数定理
:取样数趋近无穷时,样品平均值按概率收敛于期望值。
置信区间
:用中括号[a,b]表示样本估计总体平均值误差范围的区间。a、b的具体数值取决于你对于”该区间包含总体均值”这一结果的可信程度,因此[a,b]被称为置信区间。
置信水平
:一般来说,选定某一个置信区间,我们的目的是为了让”ab之间包含总体平均值”的结果有一特定的概率,这个概率就是所谓的置信水平。
标准差
:描述了观察值(个体值)之间的变异程度
标准误
:描述样本均数的抽样误差
例子
接下来先从一个例子来理解置信区间,引用《机器之心编译》的思路加上适当修改
现在有这么一个问题:
假设我们随机抽取了 1000 个美国人的样本,我们发现,在 1000 人中有 63% 的人喜欢足球,我们能假设(推断)出整个美国人口的情况吗?
我们现在从上帝视角的方式来看待这个问题,如果我们知道全部美国人喜欢足球的确切比例,那当然得到了一个确定值,我们先假设有65%的美国人喜欢足球,然后我们就用python来实现这个过程。
import numpy as np
love_soccer_prop = 0.65 # 喜欢足球的人的真实比例
total_population = 325*10**6 # 设置美国总人口为3.25亿 (325M)
num_people_love_soccer = int(total_population * love_soccer_prop) #喜欢足球的人数
num_people_dont_love_soccer = int(total_population * (1 - love_soccer_prop)) #不喜欢足球的人数
people_love_soccer = np.ones(num_people_love_soccer) #新建一个数据全为1的数据集
people_dont_love_soccer = np.zeros(num_people_dont_love_soccer) #新建一个数据全为0的数据集
all_people = np.hstack([people_love_soccer, people_dont_love_soccer]) #合并数据
print(np.mean(all_people)) #求出平均值
当然这段代码输出的结果就是0.65,这段代码实现的就是
创建了一个数组,模拟出3.5亿的美国人,然后其中有65%的美国人喜欢足球
。
然后我们需要做的是随机取多组容量为1000的样本,看看得到的百分比
for i in range(10):
sample = np.random.choice(all_people,size=1000)
print('Sample %d:%f'%(i,np.mean(sample)))
结果如下:
我们可以看到的出来的结果会
围绕着我们刚刚设置的0.65上下波动
,我们现在试着取更多的组,看看出现的情况如何,将刚刚的代码段改成如下
Summary = {}
for i in range(10000):
sample = np.random.choice(all_people,size=1000)
ave=int(np.mean(sample)*100)
if ave in Summary.keys(): #采用字典计数
Summary[ave]+=1
else:
Summary[ave]=1
# print(Summary.keys())
values = np.zeros(101)
for i in range(101):
values[i]=Summary.get(i,0)
#作柱状图
plt.figure(figsize=(8, 6), dpi=80)
plt.subplot(1, 1, 1)
N=101
index = np.arange(N)
p2 = plt.bar(index, values, 0.35, label="rainfall", color="#87CEFA")
plt.xlabel('%') # 设置横轴标签
plt.ylabel('Number') # 设置纵轴标签
plt.show()
如果如下所示,我们能很明显看到围绕着0.65呈现一个类似正态分布的形状。如果我们当我们次数趋于无穷,同时精度再高一些(目前上面程序中设置的间隔是1%),我们就可以看到一个
非常接近正态分布的直方图
。
回到现实
现实中,我们并不会像上述一样,能够知道全美国喜欢足球的人数比例(如果能够获取全样本数据那就没必要有置信区间了),我们能知道的是我们调查的部分样本数据,以及我们知道我们在抽取样本时,会围绕着全样本的实际比例呈现如下的概率分布
其中,x-是总体分布的平均值(我们例子中足球爱好者的实际百分比),σ 是总体分布的标准差。
假设我们σ为1%,即在上面的例子中我们能知道结果会有95%概率落在[0.63,0.67]这个区间中,当然这是我们知道实际比例是65%的情况下。
现在我们假设在1000个样本数据中,得到的喜欢足球的人数比例为64%,那么我们就可以说我们有95%确信实际比例在62%到66%之间,所以我们能得到的置信区间是 [0.62,0.66],置信度为95%。