How to| 进行自助抽样分析

假设您有数量有限的一组数据,从中获取对总体的统计估计. 如对这些估计的抽样分布进行近似,可以通过从原始数据中抽取新样本,然后计算每个样本的统计量来实现. 这个过程称为自助抽样(Bootstrap),在 Wolfram 语言中可以通过 RandomChoice 完成.

首先,这是一组数据集:

In[1]:=
Click for copyable input
Out[1]=

可以使用 RandomChoice 进行不放回抽样. 将 Length 作为第二个参数放在 RandomChoice 中,将生成一个与原始样本同等大小的新样本:

In[2]:=
Click for copyable input
Out[2]=

假设原始数据集代表着它所来自的较大总体,则重新抽样得到的样本值应该与从原始总体抽样得到的样本相似. 因此,从原始数据集得到的样本的统计量,能够模拟总体的样本统计量.

使用 Skewness 计算原始数据的偏度:

In[3]:=
Click for copyable input
Out[3]=

计算重新抽样所得数据的偏度:

In[4]:=
Click for copyable input
Out[4]=

通过对原始数据集多次重新抽样,并计算每个样本的偏度,可以对偏度的样本分布进行近似.

这里,用 Table 对1000个重新抽样数据集的偏度值进行迭代计算:

In[5]:=
Click for copyable input

可以使用 Histogram 直观地查看这1000个重新抽样数据集偏度值的样本分布:

In[6]:=
Click for copyable input
Out[6]=

重新抽样的值列表为估计量提供了一个样本空间(在这里为偏度),因此您还可计算其它的统计量.

估计偏度估计的标准误差. 估计的标准偏差为标准误差:

In[7]:=
Click for copyable input
Out[7]=

使用 Quantile 获取样本偏度的95%置信区间:

In[8]:=
Click for copyable input
Out[8]=
    

自助抽样分析还可以用于更加复杂的结果,例如最大似然拟合的参数估计.

从伽玛分布中产生一些点,并显示数据的直方图:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=

假定一个数据集服从某一给定分布,并从数据集中获取参数估计往往很有用. 例如,对从伽玛分布所产生的一组数据,您可能希望用最大似然法对参数 αβ 进行估计.

利用 FindDistributionParameters 您可以获得整个数据集的对数似然函数:

In[3]:=
Click for copyable input
Out[3]=

现在,通过将数据用原始数据集的重新取样值代替,您可以对参数估计的统计量进行自助抽样分析. 这可以通过 RandomChoice 得到重新取样的数据集来完成:

In[4]:=
Click for copyable input
Out[4]=

将该计算定义为函数

In[5]:=
Click for copyable input

您可以多次计算 以生成 αβ 的大量估计,从而得到参数的一个样本空间.

Table 用于 生成 αβ 的100个估计:

In[6]:=
Click for copyable input

取估计的均值,得到参数值的一个自助抽样估计:

In[7]:=
Click for copyable input
Out[7]=

可以得到参数估计的相关矩阵,从而对 αβ 的估计之间的关系进行评估:

In[8]:=
Click for copyable input
Out[8]//MatrixForm=