学过统计学的同学应该对置信区间有所了解。置信区间也叫估计区间,是一个随机变量在概率上可能取值的范围。在上一篇【谈谈置信度和置信区间】中,我们讲到了为什么会有置信区间,以及如何获取。在那篇文章中,当数据服从正态分布时,95%置信区间是均值的标准差正负1.96倍。很多时候,数据不符合正态分布,或者我们不知道样本总体是否符合正态分布,但是当我们需要求置信区间时,可以用到我们今天的主角——Bootstrap抽样法。Bootstrap是对有放回的样本进行抽样,抽样几次(一般是1000次),每次抽样的结果作为一个样本点,抽样1000次,就会有1000个样本点,用1000点的分布作为样本总体的分布,这1000个点服从正态分布的概率很高。只要服从正态分布,就可以根据正态分布的公式得到置信区间。那为什么这1000个点服从正态分布呢?它基于中心极限定理。接下来看一个例子,首先生成一个长尾分布的数据:fromscipy.statsimportfdfn,dfd=45,10r=f.rvs(dfn,dfd,size=10000)sns.distplot(r)在实际业务中,很多数据其实是符合长尾分布的。然后我们对这个长尾分布的数据进行Bootstrap抽样,放回抽样1000次,每次10000个样本,最后得到1000个均值。这1000个均值的分布如下:importnumpyasnpsample_mean=[]forninrange(1,1001):s=np.random.choice(r,size=10000).mean()sample_mean。append(s)运行上面的代码得到如下结果:可以看到这1000个均值符合正态分布,只要符合正态分布,那么我们就可以利用正态分布的性质来估计吧。以上就是关于Bootstrap的简单介绍,希望对大家有用。
