1. 中心极限定理
中心极限定理指的是给定一个任意分布的总体,每次从这个总体中随机抽样 n n n个样本,一共抽取 m m m次。然后把这 m m m组抽样分别求出其平均值,这些平均值的分布接近正态分布。
举个例子:
现在我们要统计全国的人的体重,看看我国平均体重是多少。当然,我们把全国所有人的体重都调查一遍是不现实的。所以我们打算一共调查1000组,每组50个人。 然后,我们求出第一组的体重平均值、第二组的体重平均值,一直到最后一组的体重平均值。中心极限定理说:这些平均值是呈现正态分布的。并且,随着组数的增加,效果会越好。 最后,当我们再把1000组算出来的平均值加起来取个平均值,这个平均值会接近全国平均体重。
其中要注意几点:
-
总体本身的分布不要求正态分布。
上面的例子中,人的体重本身是正态分布的。但如果我们的例子是投掷一个骰子(平均分布),最后每组的平均值也会组成一个正态分布。 -
样本每组要足够大,但也不需要太大。
取样本的时候,一般认为,每组大于等于30个,即可让中心极限定理发挥作用。
2. 卡方分布( χ 2 \chi^2 χ2分布)
2.1 定义
设 ζ 1 , ζ 2 , . . . , ζ n \zeta_1, \zeta_2, ..., \zeta_n ζ1,ζ2,...,ζn均服从标准正态分布 N ( 0 , 1 ) N(0,1) N(0,1)(也称独立同分布于标准正态分布),则这 n n n个服从标准正态分布的随机变量的平方和 Q = ∑ i = 1 n ζ i 2 Q=\sum_{i=1}^n \zeta_i^2 Q=∑i=1nζi2 构成一新的随机变量,其分布规律称为 χ 2 \chi^2 χ2分布,其中参数 n n n称为自由度,正如正态分布中均值和方差不同就是另一个正态分布一样,自由度不同就是另一个 χ 2 \chi^2 χ2分布。记为 Q ∼ χ 2 ( n ) Q\sim \chi^2(n) Q∼χ2(n)或者 Q ∼ χ n 2 Q\sim \chi_n^2 Q∼χn2。
卡方分布是由正态分布构造而成的一个新的分布,当自由度 n n n很大时, χ 2 \chi^2 χ2分布近似为正态分布。
设随机变量 X X X是自由度为 n n n的 χ 2 \chi^2 χ2随机变量,则其概率密度函数为:
g n ( x ) = { 1 2 n / 2 Γ ( n / 2 ) x n / 2 − 1 e − x / 2 , x > 0 0 , x ≤ 0. g_n(x)=\left\{ \begin{aligned} \frac{1}{2^{n/2}\Gamma(n/2)}x^{n/2-1}e^{-x/2} &, \quad\quad x>0 \\ 0 &, \quad\quad x\leq 0. \end{aligned}\right. gn(x)=⎩⎪⎨⎪⎧2n/2Γ(n/2)1xn/2−1e−x/20,x>0,x≤0.
其中, Γ ( ⋅ ) \Gamma(\cdot) Γ(⋅)表示一个伽马函数。伽马函数也叫欧拉第二积分,是阶乘函数在实数与复数上扩展的一类函数。伽马函数作为阶乘的延拓,是定义在复数范围内的亚纯函数,通常写成 Γ ( x ) \Gamma(x) Γ(x)。
- 在实数域上,伽马函数的定义为: Γ ( x ) = ∫ 0 + ∞ t x − 1 e − t d t ( x > 0 ) \Gamma(x)=\int_0^{+\infin}t^{x-1}e^{-t}dt(x>0) Γ(x)=∫0+∞tx−1e−tdt(x>0)
- 在复数域上,伽马函数的定义为: Γ ( z ) = ∫ 0 + ∞ t z − 1 e − t d t \Gamma(z)=\int_0^{+\infin}t^{z-1}e^{-t}dt Γ(z)=∫0+∞tz−1e−tdt
χ n 2 \chi^2_n χn2的密度函数 g n ( x ) g_n(x) gn(x)的形状如下:
χ n 2 \chi^2_n χn2密度函数的支撑集(使密度函数为正的自变量的集合)为 ( 0 , + ∞ ) (0,+\infin) (0,+∞),从上图可以看到当自由度 n n n越大, χ n 2 \chi^2_n χn2的密度曲线越趋于对称, n n n越小,曲线越不对称。当 n = 1 , 2 n=1,2 n=1,2时,曲线是单调下降的,趋于0.当 n ≥ 3 n\geq3 n≥3时,曲线有单峰,从0开始单调上升,在一定位置达到峰值,然后单调下降趋于0。
若 X X X服从 χ n 2 \chi^2_n χn2分布,记为 P ( x > c ) = α P(x>c)=\alpha P(x>c)=α,则 c = χ n 2 ( α ) c=\chi^2_n(\alpha) c=χn2(α)称为 χ n 2 \chi_n^2 χn2分布的上侧 α \alpha α分位数,如下图所示。当 α \alpha α和 n n n给定时,可查表求出 χ n 2 ( α ) \chi_n^2(\alpha) χn2(α)的值,如 χ 10 2 ( 0.01 ) = 23.209 , χ 5 2 ( 0.05 ) = 12.592 \chi_{10}^2(0.01)=23.209, \chi_5^2(0.05)=12.592 χ102(0.01)=23.209,χ52(0.05)=12.592。
3. t 分布
简单说一下背景,“t”,是 Fisher 为之取的名字。Fisher 最早将这一分布命名为 “Student’s distribution”,并以“t”为之标记。Student,则是William Sealy Gosset(戈塞特)的笔名。他当年在爱尔兰都柏林的一家酒厂工作,设计了一种后来被称为t检验的方法来评价酒的质量。因为行业机密,酒厂不允许他的工作内容外泄,所以当他后来将其发表到至今仍十分著名的一本杂志《Biometrika》时,就署了student的笔名。所以现在很多人知道student,知道t,却不知道Gosset。
t分布用于根据小样本来估计呈正态分布且方差未知的总体的均值。如果总体方差已知(例如在样本数量足够多时),则应该使用正态分布来估计总体均值。
3.1 t 分布的定义
设随机变量 X X X服从标准正态分布 N ( 0 , 1 ) N(0,1) N(0,1), Y Y Y服从 χ 2 ( n ) \chi^2(n) χ2(n)(自由度是 n n n的卡方分布),且 X X X和 Y Y Y是相互独立的,则称随机变量
T = χ Y n T=\frac{\chi}{\sqrt{\frac{Y}{n}}} T=nYχ
服从自由度为 n n n的 t t t分布,记为 T ∼ t ( n ) T\sim t(n) T∼t(n)。
t分布的概率密度函数是:
f ( x ; n ) = Γ ( n + 1 2 ) n π Γ ( n 2 ) ( 1 + x 2 n ) − n + 1 2 , − ∞ < x < ∞ f(x;n)=\frac{\Gamma(\frac{n+1}{2})}{\sqrt{n\pi}\Gamma(\frac{n}{2})}(1+\frac{x^2}{n})^{-\frac{n+1}{2}}, -\infin<x<\infin f(x;n)=nπΓ(2n)Γ(2n+1)(1+nx2)−2n+1,−∞<x<∞
其中 Γ ( x ) \Gamma(x) Γ(x)是伽马函数。
4. 从 t 分布说起
在量化投资领域,有大量需要进行参数估计(parameter estimation)的场景。比如在按照马科维茨的均值方差框架配置资产时,就必须计算投资品的收益率均值和协方差矩阵。很多时候,对于需要的统计量,仅有点估计(point estimation)是不够的,我们更感兴趣的是从样本数据得到的点估计和该统计量在未知总体中的真实值之间的误差。在这方面,区间估计—即计算出目标统计量的置信区间(confidence interval),可以提供我们需要的信息。
谈到置信区间,人们最熟悉的当属计算总体均值(population mean)的置信区间。这是因为在中心极限定理(Central Limit Theorem)和正态分布假设(Normal Distribution)下,总体均值的置信区间存在一个优雅的解析表达。利用样本均值和其 standard error 求出的 test statistic 满足 t 分布(Student’s t-distribution),通过查表找到置信区间两边各自对应的t 统计量的临界值(critical value),便可以方便地求出置信区间。由于t 分布是对称的,因此总体均值的置信区间是关于样本均值对称的。
让我们称上述计算置信区间的方法称为传统的 Normal Theory 方法。我想花点时间来聊聊该方法背后的两个强大假设:中心极限定理和正态分布。
假设总体满足正态分布,而我们想计算均值的置信区间。如果总体的标准差 σ \sigma σ已知,则可以使用正态分布计算均值的置信区间。如果 σ \sigma σ未知,则使用样本的标准差 s s s代替,并且利用 t t t分布来代替正态分布计算均值的计算区间。这就是t分布被提出来的初衷。因此,使用t分布计算均值的置信区间隐含着总体分布满足正态分布这个假设。
但是,对于实际问题,总体并不满足正态分布。因此看起来,我们不能使用t分布计算均值的置信区间。好消息是,我们还有一个“大招”:中心极限定理。中心极限定理告诉我们,不管总体的分布如何,总体的均值近似满足正态分布,因此我们仍然可以使用t分布计算置信区间。
中心极限定理是概率论中的一组定理。中心极限定理说明,大量相互独立的随机变量,其均值的分布以正态分布为极限。这组定理是数理统计学和误差分析的理论基础,指出了大量随机变量之和近似服从正态分布的条件。
可见对于一个未知分布总体均值的推断,我们必须倚赖中心极限定理和正态分布的假设。如果未知分布非常不规则或样本数不足,则中心极限定理指出的均值近似为正态分布便难以成立,而基于t分布计算出来的均值置信区间也不够准确。
除了均值外,对于人们关心的许多其他统计量,比如中位数、分位数、标准差、或者相关系数,它们与均值不同,无法从 Normal Theory 中可以得到优雅的解析表达式,来计算其置信区间,因此上述传统方法无能为力。
从上面的分析可知,仅仅掌握传统的 Normal Theory 方法局限性很大,使得我们在求解置信区间的很多问题面前举步维艰。因此,今天就给大家介绍一个利器 — Bootstrap方法。它在计算统计量的置信区间时大有可为。
5. Bootstrap 的由来和原则
The bootstrap is a computer-based method for assigning measures of accuracy to statistical estimates. – Efron & Tibshirani, An introduction to the bootstrap, 1993
译:Bootstrap 是一个基于计算机的方法,它可以计算统计估计的准确性。
自 1979 年以来,Bootstrap 方法得到了广泛的推广,其始作俑者是 Bradley Efron (Bootstrap 这个词也是他发明的)。它的核心思想是通过使用数据本身,从而估计从该数据中计算出来的统计数据的变化。现代计算机的强大计算能力使得该方法的实现非常简单。
有些费解?别着急,马上解释 Bootstrap 的意思和它的核心思想。
Bootstrap 一词出自英文习语“pull yourself up by your bootstraps”,它的直译是“通过拉你自己靴子的鞋带把你自己从地面上拉起来”。它的隐含意是“improve your situation by your own efforts”,即“通过你自己的努力(而非他人帮助)来解决困难改善处境”。因此,Bootstrap 一词就代表了“自力更生”。
放到参数估计的情景中,Bootstrap意味着我们仅仅通过使用手头上的样本数据(样本数据“自力更生”)来计算样本统计量在估计总体统计量时的误差,而不对总体的分布做任何假设(比如传统方法中的正态分布假设)。
The central idea is that it may sometimes be better to draw conclusions about the characteristics of a population strictly from the sample at hand, rather than by making perhaps unrealistic assumptions about the population. – Mooney & Duval, Bootstrapping, 1993
译:Bootstrap 的核心思想是,通过手头的样本数据本身对总体统计量进行推论,而非基于对于总体分布做出不切实际的假设。
目标够伟大(样本数据自力更生),但具体怎么做呢?如何仅仅通过(反复的)使用手头的数据来对同样从这些数据中得到的统计量进行误差估计呢?
这里面需要用到一个非常重要的技巧:可置换的重采样(resampling with replacement)。在这个定义中,“可置换”是核心。什么是“可置换“呢?举个例子。假设袋子中有标号1到10的小球。我们“可置换”地不断地从袋子里随机抽出小球。第一次抽出了 3 号小球;“可置换”是说在下一次抽取之前把 3 号小球重新放回到袋子里;即在第二次抽取的时候,我们仍然有可能再次抽到 3 号小球(它和其他 9 个球被抽到的概率是一样的),这便是可置换的含义。作为对比,生活中更多的是“无置换的抽取”,比如体彩 36 中 7 或者世界杯抽签,抽出的小球都不会再放回池子中。
下面就来看看Bootstrap的原则。假设我们有如下设定:
- 令 v v v代表我们感兴趣的一个总体统计量(比如均值、中位数、标准差等),它来自未知的总体分布 F F F;
- 令 x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1,x2,...,xn为来自总体的一组样本数据,它们称为原始样本数据;
- 令 u u u代表从该组样本中计算出的统计量;
- 以原始样本数据中的数据作为“总体“,进行可置换的重采样,得到一个重采样样本(又称为Bootstrap样本),记为 x 1 ∗ , x 2 ∗ , . . . , x n ∗ x_1^*,x_2^*,...,x_n^* x1∗,x2∗,...,xn∗(重采样样本中的数据个数必须和原始样本数据中的数据个数相同)。
- 令 u ∗ u^* u∗代表利用上述Bootstrap样本数据计算出来的统计量。
Bootstrap原则指出:“Boostrap样本统计量 u ∗ u^* u∗围绕原始样本统计量 u u u的变化(简称为 u ∗ u^* u∗的变化)”,是“原始样本统计量 u u u围绕总体统计量 v v v的变化(简称为 u u u的变化)”的一个很好的近似。
为了计算 u ∗ u^* u∗的变化,我们只需要对原始样本数据进行大量的可置换重采样(为此需要使用计算机的计算能力,在没有计算机的年代,手动进行大量重采样的工作量可想而知),得到许多Bootstrap样本,并从每个样本中计算出统计量 u ∗ u^* u∗的一个取值,这些取值便构成了 u ∗ u^* u∗的分布。使用 u ∗ u^* u∗的分布计算出 u ∗ u^* u∗如何围绕 u u u变化,以此来推断统计量 u u u如何围绕 v v v变化。显然,统计量 u u u的变化与样本大小有关。因此使用 u ∗ u^* u∗的变化作为 u u u的变化的近似的前提是,每个Boostrap样本的大小和原始样本大小相同。
根据Bootstrap原则,使用 Empirical Boostrap method(经验Boostrap方法)就可以计算任何总体统计量的置信区间。
6. Empirical Bootstrap 方法
我们以计算某未知分布均值的置信区间为例,说明经验Bootstrap方法。假设我们从某未知分布的总体中得到下面10个样本数据:30,37,36,43,42,48,43,46,41,42。
我们的问题有两个:(1)估计总体的均值(点估计),(2)计算置信水平为 80 % 80\% 80%的Bootstrap置信区间。
第一个问题很容易回答,样本均值40.8就是总体均值 μ \mu μ的点估计。对于第二个问题,由于样本点太少(仅有10个),且总体分布未知(无法做到正态分布假设),因此我们摒弃传统的方法,而采用经验Bootstrap方法计算其置信区间。
计算 μ \mu μ的置信区间的本质是回答这样一个问题:样本均值 x ‾ \overline x x 的分布是如何围绕总体均值 μ \mu μ变化的。换句话说,我们想知道 δ = x ‾ − μ \delta=\overline x-\mu δ=x−μ的分布, δ \delta δ就是我们使用 x ‾ \overline x x来估计 μ \mu μ的误差。
如果我们知道 δ \delta δ的分布,则可以找到待求置信区间左右两端的临界值。在本例中,因为我们关心的是置信区间为 80 % 80\% 80%的置信区间,因此 δ \delta δ的临界值是 10 % 10\% 10%和 90 % 90\% 90%分位对应的 δ 0.9 \delta_{0.9} δ0.9和 δ 0.1 \delta_{0.1} δ0.1。
由此计算出 μ \mu μ的置信区间为:
[ x ‾ − δ 0.1 , x ‾ − δ 0.9 ] [\overline x-\delta_{0.1}, \overline x- \delta_{0.9}] [x−δ0.1,x−δ0.9]
这是因为:
prob ( δ 0.9 ≤ x ‾ − μ ≤ δ 0.1 ∣ μ ) = 0.8 \text{prob}(\delta_{0.9}\leq \overline x- \mu\leq \delta_{0.1|\mu})=0.8 prob(δ0.9≤x−μ≤δ0.1∣μ)=0.8
prob ( x ‾ − δ 0.1 ≤ μ ≤ x ‾ − μ ≤ δ 0.9 ) = 0.8 \text{prob}(\overline x-\delta_{0.1}\leq\mu \leq \overline x - \mu \leq \delta_{0.9})=0.8 prob(x−δ0.1≤μ≤x−μ≤δ0.9)=0.8
值得一提的是,上面的概率是条件概率,它表示假设总体均值为 μ \mu μ的条件下,样本均值 x ‾ \overline x x围绕总体均值 μ \mu μ的变化在 δ 0.1 \delta_{0.1} δ0.1和 δ 0.9 \delta_{0.9} δ0.9之间的概率。
不幸的是,由于来自总体的样本只有一个(上面的10个数),且 μ \mu μ的真是值未知,我们并不知道 δ \delta δ的分布(因此也就不知道 δ 0.9 \delta_{0.9} δ0.9和 δ 0.1 \delta_{0.1} δ0.1)。但是我们仍然利器在手,那就是Bootstrap原则。它指出虽然我们不知道 x ‾ \overline x x如何围绕 μ \mu μ变化(即 δ \delta δ的分布),但是它可以由 x ‾ ∗ \overline x^* x∗如何围绕 x ‾ \overline x x变化(即 δ ∗ \delta^* δ∗的分布)来近似,这里 δ ∗ \delta^* δ∗是利用Boostrap样本计算的均值与原始样本均值之间的差:
δ ∗ = x ‾ ∗ − x ‾ \delta^* = \overline x^* - \overline x δ∗=x∗−x
通过多次进行有置换的重采样,得到多个Bootstrap样本,每个样本中都可以计算出一个均值。使用每个Bootstrap样本均值减去原始样本均值(40.8)就得到 δ ∗ \delta^* δ∗的一个取值。利用计算机,很容易产生足够多的Bootstrap样本,即足够多的 δ ∗ \delta^* δ∗取值。根据大数定理,当样本个数足够多时, δ ∗ \delta^* δ∗的分布是 δ \delta δ的分布好的近似。
有了 δ ∗ \delta^* δ∗的分布,就可以找到 δ 0.9 \delta_{0.9} δ0.9和 δ 0.1 \delta_{0.1} δ0.1,并用它们作为 δ 0.9 \delta_{0.9} δ0.9和 δ 0.1 \delta_{0.1} δ0.1的估计,从而计算出 μ \mu μ的置信区间:
[ x ‾ − δ 0.1 ∗ , x ‾ − δ 0.9 ∗ ] [\overline x-\delta^*_{0.1},\overline x - \delta^*_{0.9}] [x−δ0.1∗,x−δ0.9∗]
上述思路就是经验Bootstrap方法的强大所在。
回到上面这个例子中。利用计算机产生200个Bootstrap样本(下图显示了前10个Bootstrap样本,每列一个)。
由这200个Bootstrap样本计算出200个 δ ∗ \delta^* δ∗,它们的取值范围在 [ − 4.4 , 4.0 ] [-4.4,4.0] [−4.4,4.0]之间, δ ∗ \delta^* δ∗的累积密度函数如下图所示。
接下来,从这200个 δ ∗ \delta^* δ∗中找出 δ 0.9 ∗ \delta_{0.9}^* δ0.9∗和 δ 0.1 ∗ \delta_{0.1}^* δ0.1∗。由于 δ 0.9 ∗ \delta_{0.9}^* δ0.9∗对应的是 10 % 10\% 10%分位数,而 δ 0.1 ∗ \delta_{0.1}^* δ0.1∗对应的是 90 % 90\% 90%分位数,我们将200个 δ ∗ \delta^* δ∗从小到大排序,其中第20个和第181个就是我们需要的数值: δ 0.9 ∗ = − 1.9 \delta_{0.9}^*=-1.9 δ0.9∗=−1.9,以及 δ 0.1 ∗ = 2.2 \delta_{0.1}^*=2.2 δ0.1∗=2.2。由于原始样本均值为40.8,因此求出 μ \mu μ的 80 % 80\% 80%的置信区间是:
[ x ‾ − δ 0.1 ∗ , x ‾ − δ 0.9 ∗ ] = [ 40.8 − 2.2 , 40.8 + 1.9 ] = [ 38.6 , 42.7 ] [\overline x-\delta^*_{0.1},\overline x - \delta^*_{0.9}]=[40.8-2.2, 40.8+1.9]=[38.6,42.7] [x−δ0.1∗,x−δ0.9∗]=[40.8−2.2,40.8+1.9]=[38.6,42.7]
5. Bootstrap 百分位法
让我们来看看另外一个方法:Bootstrap百分位法(Bootstrap percentile method)。它与经验Bootstrap方法的不同之处在于,它不是用 δ ∗ \delta^* δ∗的分布来近似 δ \delta δ的分布,而是直接使用来自Bootstrap样本的统计量的分布作为原始样本统计量的分布。
让我们仍然使用上一节的例子来说明这个方法。
在那个例子中,我们对原始样本数据进行有置换的重采样,得到了200个Bootstrap样本。对于每个样本,计算出样本均值,因此一共有200个均值,它们构成了Bootstrap样本统计量 x ‾ ∗ \overline x^* x∗的分布(下图)。
Bootstrap 百分位法使用来自Bootstrap样本统计量 x ‾ ∗ \overline x^* x∗的分布作为原始样本统计量 x ‾ \overline x x的分布的一个近似。因此在这种方法下,我们只需要找到 x ‾ ∗ \overline x^* x∗分布中 10 % 10\% 10%和 90 % 90\% 90%分位对应的 x ‾ ∗ \overline x^* x∗的取值,它们就构成了 μ \mu μ的置信区间。在本例中,这两个分位对应的 x ‾ ∗ \overline x^* x∗的取值分别是38.9和43,因此按这种方法得到的 μ \mu μ的置信区间为: [ 38.9 , 43 ] [38.9,43] [38.9,43]。
不难发现,上述两种方法得到的置信区间并不相同,它们各有千秋还是说其中一个更准确呢?
经验Bootstrap方法和Bootstrap百分位法的区别如下:
- 经验Bootstrap方法用 δ ∗ \delta^* δ∗的分布去近似 δ \delta δ分布;之后再把误差加到原始样本均值的两侧,该置信区间是以样本均值 x ‾ \overline x x为中心的。
- Bootstrap百分位法直接用 x ‾ ∗ \overline x^* x∗的分布(由于我们只有一个来自于总体的样本,因此我们没有 x ‾ \overline x x的分布,而这种方法说我们是可以使用 x ‾ ∗ \overline x^* x∗的分布代替);它直接用从 x ‾ ∗ \overline x^* x∗的分布找到的置信区间来作为总体均值的置信区间。这里一个很强的假设是 x ‾ ∗ \overline x^* x∗的分布是 x ‾ \overline x x分布的一个很好的近似,然而在现实中这是无法保证,因此这种方法不好,它的准确性存疑。
Bootstrap 原则传达的是这样一个意思:样本统计量 x ‾ \overline x x是以总体统计量 μ \mu μ为中心围绕其波动;Bootstrap样本统计量 x ‾ ∗ \overline x^* x∗是以原始样本统计量 x ‾ \overline x x为中心围绕其波动。如果 x ‾ \overline x x和 μ \mu μ有较大的差异,则 x ‾ \overline x x和 x ‾ ∗ \overline x^* x∗的分布也会不同(则Bootstrap 百分位法的假设不成立)。反观 δ \delta δ和 δ ∗ \delta^* δ∗,它们的分布各自描述 x ‾ \overline x x如何围绕 μ \mu μ波动,以及 x ‾ ∗ \overline x^* x∗如何围绕 x ‾ \overline x x波动。Bootstrap原则指出即使 x ‾ \overline x x和 x ‾ ∗ \overline x^* x∗分布不同, δ ∗ \delta^* δ∗的分布仍然是 δ \delta δ分布的一个很好的近似,因此以原始样本均值 x ‾ \overline x x为中心,以 δ ∗ \delta^* δ∗的分布计算出误差,最终得到的 μ \mu μ的置信区间是比较准确的。由此可知,经验Bootstrap方法优于百分位法。在实践中,应该使用前者。
下图概括了上文中对二者的比较。
6. Bootstrapped-t 方法
除了上面介绍的两种方法之外,最后我还想再提一种方法:Bootstrapped-t 方法。
这种方法与第一节中介绍的传统方法十分接近。在传统方法中,基于 Normal Theory 假设,我们只需要知道 t 统计量的临界值就可以计算均值的置信区间。传统方法假设待估计的统计量的分布是对称的。
然而在现实中,这个假设可能无法满足,所以假设对称并通过查表找出 t 统计量的临界值会有问题(因为得到的置信区间是对称的)。由此提出了 Bootstrapped-t 方法。
这个方法的核心思想就是,每个Bootstrap样本中计算的统计量转化成一个对应的 t statistics。这样,有多少个Bootstrap样本,我们就有多少个Bootstrapped t statistics。由此,可以计算出Bootstrapped t statistics的分布,用这个分布代替查表来找到计算置信区间所需的 t statistic 的临界值,从而计算置信区间。
[ x ‾ − t α / 2 ∗ s x ‾ , x ‾ − t 1 − α / 2 ∗ s x ‾ ] [\overline x-t^*_{\alpha/2}s_{\overline x}, \overline x-t^*_{1-\alpha/2}s_{\overline x}] [x−tα/2∗sx,x−t1−α/2∗sx]
其中 s x ‾ s_{\overline x} sx是 x ‾ \overline x x的 standard error。
以均值为例,可以通过下面的关系式将每个Bootstrap样本的均值转化为对应的Bootstrapped t statistic(注:如果研究的对象不是均值,则Bootstrapped t statistic会出现不存在解析式的情况):
t i ∗ = x ‾ i ∗ − x ‾ s i ∗ / n t_i^* = \frac{\overline x_i^* - \overline x}{s_i^*/\sqrt{n}} ti∗=si∗/nxi∗−x
其中, x ‾ i ∗ \overline x_i^* xi∗和 s i ∗ s_i^* si∗分别为第i个Bootstrap样本的均值和标准差,n为样本大小。
仍以前面的例子说明这种方法如何计算 μ \mu μ的置信区间。对于每个Bootstrap样本,计算其Bootstrapped t statistic,它们的累积密度函数是:
t
通过Bootstrapped t 统计量,很容易找到临界值是-1.17和1.81。因此,
μ
\mu
μ的置信区间为
[
31.82
,
46.62
]
[31.82, 46.62]
[31.82,46.62]。在本例中,本方法计算出的置信区间的范围大于前两个方法。介绍这种方法的目的是为了给读者开拓思路,在实践中仍然建议使用Empirical Bootstrap 方法。
7. 远远不止均值
到目前未知,本文的例子中均已均值作为目标统计量,这便于将不同的 Bootstrap 方法得到的置信区间进行比较。然而,Bootstrap 方法在计算置信区间时可以考虑各种传统方法无能为力的统计量。
下面就来看看中位数的例子。仍然以第三节中的十个数(30,37,36,43,42,48,43,46,41,42)作为来自某个未知总体的一组样本。采用经验 Bootstrap 方法,我们来计算中位数的 95% 的置信区间。
使用之前用到的 200 个 Bootstrap 样本,可以得到中位数误差的临界值。由于考虑的是 95% 的置信区间,因此临界值为 2.5% 和 97.5% 分位对应的误差:-5.0 和 2.5。从原始数据易知,样本的中位数是 42。因此,中位数的 95% 的置信区间为:[39.5, 47]。