Press "Enter" to skip to content

Bootstrap初学者测试

非参数检验初学者的第二部分

Photo by Mohamed Nohassi on Unsplash

在本系列的第一部分中,我介绍了简单的秩和符号检验作为非参数检验的介绍。如第一部分所述,自助法(bootstrap)也是一种基于观察数据重新采样的流行的非参数方法,它在1980年代由Bradley Efron首次引入,自此在学术界广受欢迎。Efron和Tibshirani(1994)对自助法进行了介绍和全面的调查。它的应用在统计学领域非常广泛,上述书籍迄今已引起了50,000多次Google学者引用。

在本文中,我用直观的方式和简单的示例和R代码介绍了自助法的初学者。

介绍

如第一部分所述,假设检验的关键要素包括:

  1. 零假设和备择假设(H0和H1)
  2. 检验统计量
  3. 在H0下的检验统计量的抽样分布
  4. 决策规则(p值或临界值,在给定的显著性水平下)

在生成检验统计量的抽样分布时:

  • 参数检验(如t检验或F检验)假设总体符合正态分布。如果总体是非正态的,则通过中心极限定理的渐近正态逼近(称为渐近正态逼近)将正态分布用作抽样分布的近似;
  • 秩和符号检验使用数据点的秩和符号生成精确的抽样分布,如第1部分所述;
  • 自助法基于从人群中随机重复地抽取数据(带替换),以生成或近似统计量的抽样分布,类似于随机地反复地从人群中取样。
  • 与秩和符号检验一样,自助法不需要总体的正态性或基于中心极限定理的渐近正态逼近。
  • 在其基本形式中,自助法要求从具有固定均值和方差的总体中进行纯随机抽样(不需要正态性),尽管有适用于相关或异方差数据的自助法方法。

在本文中,将介绍基于从人群中随机生成的数据的基本自助法,同时提供示例。对于更一般的数据结构的自助法,将在单独的部分中提供其简要细节和R资源。

自助法的实例

示例1:X =(1,2,3)

假设研究人员观察到一个数据集X =(1,2,3),其样本均值为2,标准偏差(s)为1。假设正态总体,样本均值(Xbar)在H0:μ = 2下的抽样分布是

其中s = 1,μ是总体均值。这意味着,在正态逼近下,样本均值遵循均值为2,方差为1/3的正态分布。

自助法通过带替换地重新抽样观察到的数据X =(1,2,3),并对其成员给予相等的1/3概率。下表1给出了这些重新采样(或伪数据)X * =(X1 *,X2 *,X3 *)的所有27种可能结果,并给出了每个结果的平均值。

Table 1: Sampling with Replacement from X (Image Created by the Author)

这27个结果的平均值为2,方差为0.23。这些X*的样本均值的分布表示了精确的自助法分布,如下图1所示:

图1:精确的自助法分布及其密度估计(图像由作者创建)

左侧的条形图显示了精确的自助法分布,而自助法分布的核密度估计(用红色表示)与均值为2,方差为1/3的正态分布(用黑色表示)一起绘制。

例2:X =(1、2、6)

现在考虑当X =(1、2、6)时,样本均值为3,s = 2.65的情况。与表1中类似的计算表明,X*的均值为3,方差为1.62。在下面的图2中绘制了精确的自助法分布,以及核密度估计(用红色表示),后者显示了与均值为3,方差为s²/n(用黑色表示)的正态分布明显不同的情况。

图1:精确的自助法分布及其密度估计(图像由作者创建)

从这两个例子中,我们可以得出以下结论:

  • 例1是数据集X恰好对称于其均值的情况。样本均值的自助抽样分布也是对称的,并且可以很好地近似为正态分布。
  • 例2是数据集X关于其均值不对称的情况,这在自助抽样分布的形状中得到很好的反映。然而,正态分布无法反映这种不对称性。
  • 鉴于这些例子中的总体分布未知,很难评估自助法分布是否更好地表示了样本均值的真实抽样分布。
  • 然而,我们观察到,自助法可以反映人群分布中可能存在的不对称性,而渐进正态逼近无法捕捉到这种不对称性。

请注意,自助法能够捕捉到许多人群的非正态属性,例如不对称性、厚尾和双峰性,这些不能通过正态近似来捕捉。

许多比较自助法和渐进正态逼近的学术研究提供了强有力的证据,表明自助法通常表现更好,能够捕捉到真实抽样分布的特征,特别是在样本大小较小时。他们报告说,随着样本大小的增加,两种方法表现出类似的性质,这意味着在样本大小较小时,自助法通常应优先考虑。

X =(X1,…,Xn)的自助法

上述玩具示例展示了n = 3的情况,我们能够获得所有27个可能重采样的精确自助法分布。注意到所有可能重采样的数量为nⁿ,计算具有nⁿ个重采样的精确自助法分布可能过于计算繁重,对于一般的n值不是必要的。然而,蒙特卡罗模拟可以提供相当准确的近似精确自助法分布。

假设数据X是随机从具有固定均值和方差的人群中获得的。假设感兴趣的统计量(例如样本均值或t统计量)被表示为T(X)。然后,

  1. 我们通过从X中替换地纯随机地重新采样,为X* =(X₁*,…,Xₙ*)获得等概率的每个X成员。
  2. 由于我们无法对所有可能的nⁿ个重采样都这样做,因此我们重复上述过程足够多次B,例如1000、5000或10000次。这样做后,我们有B个不同的X*集合,可以写成{X*(i)},其中i = 1,…,B。
  3. 从每个X*(i)中计算感兴趣的统计量[T(X*)]。然后我们有{T(X*,i)}(i = 1,…,B),其中T*(X*,i)是从X*(i)计算的T(X*)。

引导分布 {T(X*,i)} 用作精确引导分布的近似值,以及未知样本分布的 T。

举例来说,我从以下分布中生成了 X = (X1, …, X20):

  • 自由度为 2 和 10 的 F 分布 [F(2,10)],
  • 自由度为 3 的卡方分布 [chisq(3)],
  • 自由度为 3 的学生 t 分布 [t(3)],
  • 平均值为 0,方差为 1 的对数正态分布 (lognormal)。

图 3 显示了 {T(X*,i)}(i = 1,…., B) 的密度估计图,其中 T 是平均值,B = 10000,与 X 对应的均值和方差值相对应的正态分布的密度进行比较。当潜在人口分布与正态分布差别很大时,引导分布可能与正态分布不同。

图 3: 引导分布 (红色) vs. 正态分布 (黑色) (作者创建的图像)

上述 Monte Carlo 模拟和图形的 R 代码如下:

n=20    # 样本大小set.seed(1234)pop = "lognorm"      # 总体类型if (pop=="F(2,10)") x=rf(n,df1=2,df2=10)if (pop=="chisq(3)") x=rchisq(n,df=3)if (pop=="t(3)") x=rt(n,df=3)if (pop=="lognorm") x=rlnorm(n)# 引导样本平均值 B=10000          # 引导迭代次数 stat=matrix(NA,nrow=B)for(i in 1:B){  xboot=sample(x,size=n,replace = TRUE)  stat[i,] = mean(xboot)}# 绘图plot(density(stat),col="red",lwd=2,main=pop,xlab="")m=mean(x); s=sd(x)/sqrt(n)curve(dnorm(x,mean=m,sd=s),add=TRUE, yaxt="n")rug(stat)

引导测试和分析是基于上述红色曲线进行的,即 {T(X*,i)},而不是黑色的正态分布。

  • 类似于使用正态分布,可以从 {T(X*,i)} 中获取推断统计量,例如置信区间或 p 值。
  • 引导分布可以揭示更详细的信息,例如关于人口属性的对称性、厚尾、非正态性、双峰性和异常值的存在。

假设 T(X) 是如上所述的样本均值。

可以通过取 {T(X*,i)} 的适当百分位数来获得人口均值的引导置信区间。例如,令 {T(X*,i;θ)} 为 {T(X*,i)} 的 θ 百分位数。然后,将 95% 引导置信区间作为区间 [{T(X*,i;2.5)},{T(X*,i;97.5)}]。

假设 T(X) 是对 H0: μ = 0 vs. H0: μ > 0 的 t 检验统计量。则引导 p 值计算为 {T(X*,i)} 大于原始样本中的 T(X) 值的比例。也就是说,p 值类似于正态分布的情况,取决于 H1 的结构。

表 2: 引导 vs. 正态 95% 置信区间 (作者创建的图像)

表 2 显示了引导置信区间与渐近正态置信区间的比较,两者均为 95% 置信。当人口分布为 t(3) 或 chisq(3) 时,这两种选择提供类似的区间,但当人口遵循 F(2,10) 或 lognorm 分布时,它们可能会有很大的不同。

在R中进行自助t检验

自助法可用于单样本和双样本t检验。在本例中,感兴趣的检验统计量 T(X) 是t检验统计量,其自助分布可如上所述获得。在R中,软件包“MKinfer”提供了自助检验的函数。

让我们考虑第1部分中使用的X和Y的示例:

x = c(-0.63, 0.18,-0.84,1.60,0.33, -0.82,0.49,0.74,0.58,-0.31,      1.51,0.39,-0.62,-2.21,1.12,-0.04,-0.02,0.94,0.82,0.59)y=c(1.14,0.54,0.01,-0.02,1.26,-0.29,0.43,0.82,1.90,1.51,    1.83,2.01,1.37,2.54,3.55, 3.99,5.28,5.41,3.69,2.85)# 安装 MKinfer 包library(MKinfer)# 对X进行单样本检验,H0: mu = 0boot.t.test(x,mu=0)# 对Y进行单样本检验,H0: mu = 1boot.t.test(y,mu=1)# 对X和Y进行双样本检验,H0: mu(x) - mu(y) = -1boot.t.test(x,y,mu=-1)

结果总结在下表中(所有检验均假定双尾H1):

Table 3: 95% Confidence Intervals and p-values (Image Created by the Author)
  • 为了检验μ(X) = 0,X的样本均值为0.19,t统计量为0.93。自助和渐近置信区间和p值提供了类似的推论结果,即无法拒绝H0,但自助置信区间更紧。
  • 为了检验μ(Y) = 1,Y的样本均值为1.99,t统计量为2.63。自助和渐近置信区间和p值提供了类似的推论结果,在5%的显著性水平下拒绝H0,但自助置信区间更紧,p值更低。
  • 为了检验H0:μ(X) – μ(Y) = -1,X和Y之间的平均差为-1.80,t统计量为-1.87。自助和渐近置信区间和p值提供了类似的推论结果,在10%的显著性水平下拒绝H0。

更一般的数据结构的自助法

如上所述,自助法也已经发展到线性回归模型、时间序列预测以及更一般结构的数据。以下总结了自助法的几个重要扩展:

  • 对于线性回归模型,可以通过重新抽样残差或重新抽样案例来进行自助法:见R中的“car”包。
  • 可以根据自回归模型对时间序列预测进行自助法:参见R中的“BootPR”包。
  • 对于具有未知序列依赖结构的时间序列数据,可以使用平稳自助法(或移动块自助法)。这涉及到对时间序列观测块进行重新抽样。R软件包“tseries”提供了这种方法的函数。
  • 对于具有未知形式的异方差性的数据,可以使用Wild自助法,使用R包“fANCOVA”。它通过使用具有零均值和单位方差的随机变量进行缩放来对数据进行重新抽样,从而有效地复制异方差结构。

结论

本文回顾了自助法作为一种非参数测试的方法,其中重复抽样观察数据被用作计算或近似一个统计量的抽样分布的方式。虽然本文仅涵盖了置信区间和总体均值检验的p值的自助法,但自助法的应用是广泛的,从回归分析到具有未知依赖结构的时间序列数据。

许多学术研究都报告了理论或计算结果,表明当样本量较小或中等时,自助法测试通常优于渐近正态近似。

因此,在小样本情况下,统计学和机器学习领域的研究人员强烈建议使用自助法作为传统基于渐近正态近似的统计推断的有用替代方法。

Leave a Reply

Your email address will not be published. Required fields are marked *