基于 bootstrap 的参数估计和假设检验的方法,相比于传统的基于抽样分布的参数估计和假设验证的方法的使用范围更广。很多情况下总体分布未知,或则统计量的分布没有简单的解析形式,参数估计的枢变量和假设检验中的检验统计量的分布也没有简单的解析形式,这是传统的方法不太好处理。这时可以采用蒙特卡洛算法近似计算。但遇到的问题是总体的分布 F 未知,因此也就无法从F总采样,无法使用蒙特卡洛算法。
我们具有一个从总体中采样得到的样本 D,根据格里纹科定理,样本 D 的经验分布在样本容量 时等于总体的分布,也就是说当 n 较大时,样本 D 的经验分布是总体分布的很好的近似。因此蒙特卡洛算法从总体分布 F 中的采样的方法,可以近似的从样本 D 中采样来代替,方法是从样本 D 中随机采样一个样本然后放回,如此放回采样进行多次,得到一个新的样本集合,我们称之为 bootstrap 样本。进行多次 bootstrap 采样,得到多个 bootstrap 的样本集合,就可以依赖这些 bootstrap 样本集合进行统计推断。
基于 bootstrap 的参数点估计和区间估计原理比较简单,就是 bootstrap 的蒙特卡洛算法,计算样本的统计量来估计总体的参数,这里先省略,重点记录一下基于 boostrap 的假设检验。首先回忆基于 p 值的传统假设检验。
假设总体服从正态分布,均值未知, σ = 1.0 \sigma = 1.0 σ=1.0,现有检验问题: H 0 : μ ≤ μ 0 = 0 , H 1 : μ > μ 0 H_0:\mu \le\mu_0=0,H_1:\mu > \mu_0 H0:μ≤μ0=0,H1:μ>μ0,构造检验统计量 Z = x ‾ − μ 0 σ / n ∼ N ( 0 , 1 ) Z = \frac{\overline{x}-\mu_0}{\sigma/\sqrt{n}} \sim \mathcal{N}(0, 1) Z=σ/nx−μ0∼N(0,1), 容量为n的样本 D 带入公式,计算统计量的观测值 z 0 = 1.86 z_0 = 1.86 z0=1.86. 计算概率 P ( Z ≥ z 0 ) = 1 − P ( Z < 1.86 ) = 1 − Φ ( 1.86 ) = 1 − 0.9686 = 0.0314 P(Z\ge z_0) = 1 - P(Z < 1.86) = 1 - \Phi(1.86) = 1 - 0.9686 = 0.0314 P(Z≥z0)=1−P(Z<1.86)=1−Φ(1.86)=1−0.9686=0.0314.
当检验显著性水平 α ≤ P ( Z ≥ z 0 ) \alpha \le P(Z\ge z_0) α≤P(Z≥z0)时,检验统计量观测值落入拒绝域之外,因此接受原假设。当检验显著性水平 α > P ( Z ≥ z 0 ) \alpha > P(Z\ge z_0) α>P(Z≥z0)时,检验统计量观测值落入拒绝域,因此拒绝原假设。可以看出 是拒绝原假设的最小检验显著性水平,具有特殊的含义,因此将概率定义为检验统计量的 p 值。
这是基于抽样分布定理的假设检验方法,依赖的假设是所选择的检验统计量在原假设成立的条件下服从不含参数的特定分布,比如正太分布、t分布、卡方分布等等。bootstrap 提出了一类新的假设检验的方法,不依赖检验统计量的分布假设。
假设检验问题 1:总体均值记为,原假设和对立假设分别是 H 0 : μ = μ 0 = 0 , H 1 : μ > μ 0 H_0:\mu=\mu_0 = 0, H_1:\mu > \mu_0 H0:μ=μ0=0,H1:μ>μ0
采用样本均值 X ‾ = 1 n ∑ i = 1 n X i \overline{X} = \frac{1}{n}\sum_{i=1}^nX_i X=n1∑i=1nXi作为检验统计量,目前只有一个样本 D = { x 1 , x 2 , . . . , x n } D = \{x_1,x_2,...,x_n\} D={x1,x2,...,xn},称之为原始样本,样本均值为 x ‾ = 1 n ∑ i = 1 n x i \overline{x} = \frac{1}{n}\sum_{i=1}^n x_i x=n1∑i=1nxi . 采用 p 值检验法,假设检验问题 1 的 p 值的定义为,如何求得此 p 值呢?我们并不想引入样本均值 X ‾ \overline{X} X的任何分布假设,解题的方向是如何设计蒙特卡洛算法近似计算 p 值:
- 从总体中采样出多个样本集合 D j ∗ , j ∈ [ B ] D^*_j, j \in[B] Dj∗,j∈[B],每个样本集合对应的检验统计量,也就是样本均值记为: x ‾ j ∗ , j ∈ [ B ] \overline{x}^*_j,j\in[B] xj∗,j∈[B]
- p ≜ P H 0 ( X ‾ ≥ x ‾ ) ≈ p ^ = ∑ b = 1 B I ( x ‾ j ∗ ≥ x ‾ ) B ( 1 ) p \triangleq P_{H_0}(\overline{X}\ge \overline{x}) \approx \hat{p}=\frac{\sum_{b=1}^B I(\overline{x}^*_j\ge \overline{x})}{B} \quad\quad (1) p≜PH0(X≥x)≈p^=B∑b=1BI(xj∗≥x)(1)
公式 (1)也就是蒙特卡洛近似计算算法。上面的计算步骤其实是有些问题的,因为 p 值的定义是在原假设H_0成立的条件下计算的,上面第一步从总体中采样并不能满足原假设一定成立,因此依据这里采样的样本计算的并不能近似 p 值。纠正的方式是基于原始总体,构造一个新的总体,满足 ,其他保持不变,因此整体的计算步骤修正为:
- 依据原始总体,构造新的总体,新总体分布满足条件 μ = μ 0 \mu = \mu_0 μ=μ0
- 从新的总体中采样出多个样本集合 D j ∗ , j ∈ [ B ] D^*_j, j \in[B] Dj∗,j∈[B],每个样本集合对应的检验统计量,也就是样本均值记为: x ‾ j ∗ , j ∈ [ B ] \overline{x}^*_j,j\in[B] xj∗,j∈[B]
- p ≜ P H 0 ( X ‾ ≥ x ‾ ) ≈ p ^ = ∑ b = 1 B I ( x ‾ j ∗ ≥ x ‾ ) B ( 1 ) p \triangleq P_{H_0}(\overline{X}\ge \overline{x}) \approx \hat{p}=\frac{\sum_{b=1}^B I(\overline{x}^*_j\ge \overline{x})}{B} \quad\quad (1) p≜PH0(X≥x)≈p^=B∑b=1BI(xj∗≥x)(1)
上述计算步骤还是有些问题,很多情况下总体的分布未知,也就无法构造新的满足条件 的总体,因此无法从新的总体中抽样样本。这个问题的解法需要引入bootstrap的思想:从现有的样本中放回采样的的结果,近似从总体中的采样结果。整体计算步骤更新为:
-
对原始样本 D 做改造,生成新的样本 D’,新的样本 D’ 满足条件 E [ X ′ ] ≈ x ′ ‾ = μ 0 E[X']\approx\overline{x'} = \mu_0 E[X′]≈x′=μ0
-
- 改造方式为对原始样本分布做平移 x i ′ = x i − x ‾ + μ 0 x'_i = x_i - \overline{x} + \mu_0 xi′=xi−x+μ0: ,可以看出改造后的样本满足条件 x ′ ‾ = 1 n x i ′ = μ 0 \overline{x'} = \frac{1}{n}x'_i = \mu_0 x′=n1xi′=μ0
-
从新的样本 D’ 中放回采样出多个样本集合 D j ∗ , j ∈ [ B ] D^*_j, j \in[B] Dj∗,j∈[B],每个样本集合对应的检验统计量,也就是样本均值记为: x ‾ j ∗ , j ∈ [ B ] \overline{x}^*_j,j\in[B] xj∗,j∈[B]
-
p ≜ P H 0 ( X ‾ ≥ x ‾ ) ≈ p ^ = ∑ b = 1 B I ( x ‾ j ∗ ≥ x ‾ ) B ( 1 ) p \triangleq P_{H_0}(\overline{X}\ge \overline{x}) \approx \hat{p}=\frac{\sum_{b=1}^B I(\overline{x}^*_j\ge \overline{x})}{B} \quad\quad (1) p≜PH0(X≥x)≈p^=B∑b=1BI(xj∗≥x)(1)
目前为止完成了假设检验问题 1 的 p 值计算,得到近似值 ,后续按标准检验步骤,依据 p 值与检验置信度 的关系接受或者拒绝原假设。