这一章的开头4节都在讲bootstrap。Bootstrap在技术上非常简单,用『有放回的重抽样』就可以概括;但它背后的原理极其复杂,基于一个被称为Edgeworth的正态展开(类似于泰勒级数),特别当针对一个pivot做bootstrap时,可以得到二阶的精度。ESL这一章并没有探讨bootstrap的原理,而主要描述了方法和现象,Efron有一本专门的著作『An Introduction to the Bootstrap』。

通过Bootstrap抽样,我们可以通过计算机对给定数据的性质进行估计,包括样本均值的方差,样本方差的方差,估计值的置信区间,等等等等。待估计的这个估计量是任意的,举例来说,如果我们要估计某个估计量θ^=θ^(x1,x2,,xn)的方差,那么我们只要首先生成B组(参数/非参数的,后面会解释)bootstrap样本集,然后就能得到估计

VarB(θ^)=1B1i=1B(θ^iθ^¯)2

其中θ^i表示通过第i组中样本得到的估计量,θ^¯表示所有B个估计量的平均值,一般bootstrap抽样得到的估计量都用上标星号表示。

所谓非参数bootstrap是指bootstrap样本抽样来自原始的样本,不涉及参数估计;而参数的bootstrap会假设一个样本发生模型,然后从样本中推断出模型的参数(一般是MLE),最后从估计的这个模型中sample出bootstrap样本(后面有例子具体说明)。

Bootstrap与最小二乘的置信区间

书上是这样定义这个问题的:对于一组(一维)数据,我们用三次样条进行拟合,样条结点选取在X的4分位点上,按照之前(书上143页)的方法,自由度为(4region)×(4paramsperregion)(3knots)×(3constraintsperknot)=7,于是有模型:

μ(x)=j=17βjhj(x)

由最小二乘解出β^=(HTH)1HTy. 其中H是一个N×7的矩阵,Hij=hj(xi)

接下去要找到预测值的standard error,令h(x)=(h1(x),h2(x),,h7(x))

(1)se[μ^(x)]=[h(x)TVar(β^)h(x)]1/2=[h(x)T(HTH)1HTVar(y)H(HTH)1h(x)]1/2[h(x)T(HTH)1σ^2Ih(x)]1/2=σ^[h(x)T(HTH)1h(x)]1/2

上式中取近似的那一步假设Var(y)=diag(σ^2),其中σ^2=i=1N(yiμ^(xi))2/N

图8.2右上画出了拟合曲线的95%置信区间,即μ^(x)±1.96se^[μ^(x)]

稍微解释一下,以上的置信区间是这么算的:首先假设μ(x)=μ^(x)+ϵμ;ϵμN(0,σμ2),这样μ(x)μ^(x)σμN(0,1),其中σμ2=Var[μ(x)]=Var[βTh(x)]=se2[μ^(x)]. 而1.96是标准正态分布的95%分位点。

而右下图画出了bootstrap方法得到的拟合曲线的95%置信区间,具体做法如下:

  • 从训练集中重抽样出B=200个bootstrap训练集,每个训练集包含N=50个样本;
  • 对每一个训练集Z拟合得到一个三次样条μ^(x)
  • 在每一个x处找第2.5%×200=5大和第5小的值,这样得到95%的置信区间

以上方法被称为『非参数boostrap』,因为这是直接从训练集出发抽样得到新的数据集,而不是从参数模型中sample得到数据集。

与之相对的是『参数bootstrap』,在参数化的方法中:

  • 我们首先假设一个样本生成模型,例如高斯扰动yi=μ(xi)+ϵi,ϵN(0,σ2)
  • 通过(使用样条的)最小二乘得到均值μ^(xi)和方差σ^2
  • 对每一个训练集中的xi,i=1,2,,N,通过上述模型sample出一组新的yi=μ^(xi)+ϵi;ϵiN(0,σ^2),共N个训练数据点:(x1,y1),,(xN,yN)
  • 产生B=200个bootstrap训练集,对每一个重新拟合三次样条,得到μ^(x)=h(x)T(HTH)1HTy
  • 通过和非参数bootstrap一样的方法得到置信区间

我们注意到μ^(x)也是一个高斯分布,有均值E[μ^(x)]=[h(x)T(HTH)1HT][H(HTH)1HTy]=μ^(x),方差h(x)T(HTH)1h(x)σ^2,以及和式(1)一样的se,因此当B时我们可以得到和最小二乘完全一样的置信区间。

Bootstrap与最大似然的置信区间

上面的分析展示了bootstrap和最小二乘的关系,而我们知道最小二乘和假设正态误差后求MLE是一回事情:

yi=βTh(xi)+ϵ,ϵN(0,σ2)

求解最大似然可以得到βσ的估计值,这两个估计值应该和最小二乘得到的一样。

这一节的关键在于最大似然估计的置信区间,用到了最大似然的渐进性质。MLE的渐进分析基于这样一个方法:将似然函数l(θ;Zi)中的Zi看作随机变量,这样l也是一个随机变量;如果认为Zi之间互相独立,那么lN(θ;Z)=i=1Nl(θ;Zi)也是随机变量,有自己的概率分布,并且不同的θ值对应不同的概率分布。进一步的,似然函数的一阶、二阶导都是随机变量,最大似然估计θ^也是一个随机变量。

最大似然函数的二阶导矩阵被称为information matrix,而它的期望In(θ),被成为Fisher information,这是最大似然渐进分析中最重要的一个统计量了,且有(注意这里的记号和ESL不太一样):

IN(θ)=Eθ[lN(θ;Z)]=Varθ[lN(θ;Z)]

这里下标N是强调有N个随机变量的联合分布,下标θ是为了强调用于计算期望的概率密度函数,它的参数θlN(θ;Z)中的参数是同一个(比如说,如果有均值μ和方差σ两个参数,不能一个是μ,另一个是σ

MLE有一个重要的渐进性质,在绝大多数情况下,有

(θ^θ0)N(0,In(θ0)1)

其中θ0表示参数的真实值。以上结论具体的证明不妨参考UMN的Stat-5102第8章Conlecture notes

有了这个结论,就可以构造MLE的置信区间了,很显然得到的是和最小二乘相同的置信区间。

Bootstrap与贝叶斯方法

这一节我没有特别理解,大意是说给定noninformative的先验,那么贝叶斯后验和MLE就非常相似了,Bootstrap可用于这种情况下贝叶斯方法的估计。这显然是一定的:例如,令zN(θ,1),先验θN(0,τ),那么后验

θ|zN(z1+1/τ,11+1/τ)

τ时,这就是一个noninformative先验,显然,此时θ|z趋向于MLE的结果。