• SC-Bootstrap&Jackknife


    这篇来谈谈 Bootstrap 和 Jackknife。先来一个总括:在之前的 MC in Statistic Inference 中,我们假定已知了 population 的分布,并基于此进行样本生成,对于估计的 se、MSE 、置信水平进行估计,或做假设检验;然而这种方法的应用显然有点窄——很多情况下,我们是不知道总体分布,甚至我们能采集到的样本就只有这些,限于种种原因无法采集更多的样本——那么,在不知道总体分布,或者样本量较少的情况下,我们如何对于上述这些进行估计呢?这里就用了 Bootstrap 方法,本质是上一种重抽样的方法:既然我们只知道这些数据,那么我们就把这些数据看做整体(Empirical dist.),基于这些数据再进行多次抽样并计算得我们想要的内容(更加充分运用了这些数据)。补充:1. 我们也把 MC in Statistic Inference 中的方法叫做参数 Bootstrap(因为它也涉及到了重新的多次抽样,不过是从 population 中抽取的);而这里的方法则叫做非参数 Bootstrap,我们一般讲的 Bootstrap 就是这里的;2. Jackknife 实际上是 Bootstrap 的一种特例:一种类似于「leave-one-off」的思想。

    Two Approximations, "Plug-in" Priniciple

    理解整个过程:从 population (Xsim F(x)) 中,我们观测到了 n 个样本 (X=(x_1,...,x_n));我们把这些样本看作一个整体再次抽样,实际上是从 Empirical dist. 中进行抽样 (X^*sim F_n(x));这些新的样本又有分布 (F_n^*(x))。这里就涉及到了两个近似:

    [F ightarrow Xoverset{(x_i)}{ ightarrow} hat F\hat F ightarrow X^*overset{(x_i^*)}{ ightarrow} hat F^* ]

    在进入 Bootstrap 之前,还需要对统计量和分布的关系;以及 "Plug-in" Priniciple 进行理解。

    • 对于一个 parameter ( heta) 来说,我们可以把它看作是分布 F 上的一个函数 ( heta=t(F))
    • 这是对于 population 的,而在 sample level,我们认为 statistic/estimator 是 sample((hat F)) 的一个函数 (hat heta=t(hat F))

    例如,对于期望来说是在 F 上的一个积分;而其估计则是样本的均值。

    "Plug-in" Priniciple ,简单的理解就是对于我们要估计的参数/统计量,我们用 sample level 上的数来代替 population level 上的数,给出两个例子:

    对于均值来说

    [ heta=mu=E_F[X]=int xdF(x)\hat heta=hatmu={1over n}sum x_i=int xdhat F(x)=E_{hat F}(X) ]

    注意这里我们给出了期望和估计值的另一种表示:用(E_{hat F}(X)) 来估计(E_{ F}(X))

    对于 standard error of the mean estimator

    [Fsim(mu,sigma^2), E_F(X)=mu, Var_F(X)=sigma^2 ]

    因为有

    [sigma^2=E_F[(X-E_F[X])^2]\hat sigma^2=E_{hat F}[(X-E_{hat F}[X])^2]={1over n}sum(x_i-ar x)^2\ ]

    (注意,这里我们用了两次 "Plug-in" Priniciple ,并给出了其具体的表达形式。)所以对于 (se(ar X)={sigma oversqrt{n}}) 我们有估计 (hat {se}(ar X)={hatsigma oversqrt{n}})

    Bootstrap

    接下来正式进入 Bootstrap,我们先用它来估计 se, bias:

    前面讲过,Bootstrap 就是多次抽样,这样就得到了 Empirical dist. (hat F(x)) ,而我们的估计量则是 (t(hat F)) 。我们先来看 se,考虑

    [Var(hat heta)=E[(hat heta -E[hat heta])^2]=E_Fig[(t(hat F)-E_F[t(hat F)])^2ig] ]

    我们使用 "Plug-in" Priniciple,则

    [hat{Var}(hat heta)=E_hat Fig[(t(hat F^*)-E_hat F[t(hat F^*)])^2ig]={1over B-1}sum(hat heta^{(i)}-ar{hat heta^{*}})^2 ]

    其中的 (ar{hat heta^*}) 为 B 个 Bootstrap 估计量的均值;分母用了(B-1) 是为了无偏。于是我们得到了 se 的 Bootstrap 估计公式

    [hat{se}(hat heta)=sqrt{{1over B-1}sum(hat heta^{(i)}-ar{hat heta^{*}})^2} ag{1} ]

    对于 bias,由于

    [bias(hat heta)=E[hat heta- heta]=E_F[t(hat F)-t(F)]\ ]

    [hat{bias}(hat heta)=E_hat F[t(hat F^*)-t(hat F)]=E_hat F[hat heta^*]-hat heta= ar{hat heta^*}-hat heta ag{2}\ ]

    注意从第一行到第二行(其估计)中,我们用了三次 "Plug-in" Priniciple。 其中的 (ar{hat heta^*}) 为 B 个 Bootstrap 估计量的均值。

    还讲了 Bootstrap 方法来估计置信区间,我们把这部分放到后面去讲,接下来,看看一个特例:Jackknife。

    Jackknife

    这里,我们用了两个例子,来说明该公式与 Bootstrap 下的区别。我们给出 Jackknife 的流程为:对于一个大小为 n 的样本,每次去除第 i 个样本,将剩下的其余样本作为第 i 次重抽样得到的数据;也就是说,在 Jackknife 下,我们只能有 n 个重抽样结果(而在 Bootstrap 下是不限制的);每个抽样结果的大小为 (n-1)(在 Bootstrap 下为 n)。

    来看 bias,以 ( heta=sigma^2) 为例,估计量为(hat heta={1over n}sum(x_i-ar x)^2) 。注意到有

    [bias(hat heta)=E[hat heta- heta]=...={1over n}sigma^2 ]

    我们考虑

    [E[hat heta^{(j)}-hat heta]=E[hat heta^{(j)}- heta]-E[hat heta- heta]\=(-{sigma^2over n-1})-(-{sigma^2over n})={1over n-1}bias(hat heta) ]

    上式第一行到第二行成立,是因为,我们把 (x_j) 去除,也可以把剩余的观测看做是 population 的(n-1) 此 realization,因此和总体的估计在形式上是一致的。另,上式只是考虑了编号为 j 的一组抽样,我们将 n 组式子相加,容易得到

    [hat{bias}_{Jack}(hat heta)=(n-1)(ar{hat heta^*}-hat heta) ag{3} ]

    其中 (ar{hat heta^*})为 n 个估计量的均值。

    再来看 se,以 ( heta=EX)为例,(hat heta=ar X)。注意到

    [se(hat heta)=sqrt{Var(ar{X})}={sigmaoversqrt{n}} ]

    另外,我们仔细看这几个估计量,

    [hat heta^{(j)}={1over n-1}(nar{x}-x_i),\ar{hat heta^*}={1over n}sum{nar{x}-x_iover n-1}=ar{x} ]

    则有

    [sum(hat heta-ar{hat heta^*})^2=sum ({nar{x}-x_iover n-1}-ar{x})^2={1over(n-1)^2}sum(x_i-ar{x})^2={s^2over n-1} ]

    显然 ({soversqrt{n}})(se(hat heta)={sigmaoversqrt{n}}) 的无偏估计,比较形式,我们可以得到最终的形式

    [hat{se}_{Jack}(hat heta)=sqrt{{n-1over n}sum(hat heta-ar{hat heta^*})^2} ag{4} ]

    比较(3)(4)和(1)(2),我们可以发现 Jackknife 估计要比 Bootstrap 估计在分子上多一个(n-1),这可以理解为,the Jackknife sample (x^{(i)}) is very similar to (x) compared with Bootstrap replicates。

    Bootstrap CI

    下面回过头来继续介绍使用 Bootstrap 方法来估计置信区间。主要介绍了 5 中方法:

    1. Standard normal
    2. Basic CI
    3. Percential CI
    4. Bootstrap t CI
    5. Better BCa CI

    第一种 Standard normal 中,引入了 pivot quantity

    [Z={hat heta-E[hat heta]over se(hat heta)} ]

    显然,该量在 n 很大情况下由 CLL 可知是近似标准正态;那么1. 再假设该统计量是无偏的,即( heta=E[hat heta]) ;2. 使用 Bootstrap 方法估计 se,我们就可以得到 ( heta) 的一个置信区间

    [[hat hetapm z_{alpha/2}hat{se}(hat heta)] ag{5} ]

    其中 (z_{alpha/2}=Phi(1-alpha/2)) ,即标准正态的上 (alpha /2)分位数。

    第二种 Basic CI中,我们对于偏差进行考虑:

    [P((hat heta- heta)_{alpha/2}<hat heta- heta< (hat heta- heta)_{1-alpha/2})=1-alpha ]

    我们用 (hat heta^*-hat heta) 来估计 (hat heta- heta) ,就有

    [P((hat heta^*-hat heta)_{alpha/2}<hat heta- heta< (hat heta^*-hat heta)_{1-alpha/2})approx 1-alpha ]

    整理可得结果

    [[2hat heta-hat heta^*_{1-alpha/2}, 2hat heta-hat heta^*_{alpha/2}] ag{6} ]

    第三种 Percential CI 仅和 Basic CI 有微小的区别:直接使用了 (hat heta) 的分布来估计 ( heta) ,因此形式为

    [[hat heta^*_{alpha/2}, hat heta^*_{1-alpha/2}] ag{7} ]

    注意到,这里没有出现 (hat heta)

    第四种 Bootstrap t CI 是对 Standard normal 的改进——显然,后者的要求过高了(1. 无偏;2. 近似正态)。在 Bootstrap t CI 中,我们引入了一个 t-type statistic ,作为对于(1)中 pivot quantity (Z) 的改进:

    [t^{(b)}={hat heta^{(b)}-hat hetaoverhat{se}(hat heta^{(b)})} ]

    注意到,在(1)中,我们仅需要用 Bootstrap 方法来估计 (se(hat heta)) 。而在这里,我们需要使用 Bootstrap 生成 B 个 t-type statistic;对于每一个 (t^{(b)}),我们都需要估计(hat{se}(hat heta^{(b)})) ,也就是说,我们要在内部再嵌套一个 Bootstrap。显然,Bootstrap t CI 提高了计算的成本,但也避免了简单的 Standard normal 所具有的一些不足;并且带来了后面讲到的二阶性质。

    参考(1)中的结果,其最终的形式是

    [[hat heta-t_{1-alpha/2}^*hat{se}(hat heta), hat heta-t_{alpha/2}^*hat{se}(hat heta)] ag{8} ]

    第五种 Better BCa CI,太过复杂了不做展开,感兴趣可自行搜索。它主要的思想是对于 Percential CI 进行提升。最终形式为

    [[hat heta^*_{1-alpha/2}, hat heta^*_{alpha/2}] ag{9} ]

    最后,我们从两个维度来比较这些 CI:1. Transformation respecting: given (t(.)) , whether CI for ( heta) can be t-transformed directly to CI for (t( heta)) ; 2. Second order accuracy

    第一点,变换性指出了,在一定的变换下,我们直接对 CI 的 upper 和 lower 进行相应的变换就可以得到 (t( heta)) 的 CI(似乎是说,upper 和 lower 似乎和分位数相关?)。第二点,二阶精准意味着

    [P( heta<hat heta_{lower})={alphaover 2}+{C_{lower}over n}\P( heta<hat heta_{upper})={alphaover 2}+{C_{upper}over n} ]

    这是相较于一阶,也就是说下面的 (n) 变为 (sqrt{n}) ,借助数值的內容刻画了某种「收敛速度」。

    Trans Second order
    Standard normal
    Basic
    Percentile
    Bootstrap t
    Better BCa
  • 相关阅读:
    shell学习(4)- awk
    shell学习(3)- grep
    职场社交软件脉脉职言区最近一个星期在聊什么?
    shell学习(2)- sed
    shell学习(1)
    aws cli command line interface的安装与使用
    linux定时任务报错mysql: command not found
    如何做技术积累
    基于php的AWS存储服务
    机器学习:卷积神经网络
  • 原文地址:https://www.cnblogs.com/easonshi/p/12122470.html
Copyright © 2020-2023  润新知