偏差的引导估计何时有效?

机器算法验证 引导程序 偏见
2022-01-21 16:57:33

人们经常声称,自举可以提供对估计器中偏差的估计。

如果是某个统计量的估计值,并且是引导副本(使用),那么偏差的引导估计是 这似乎非常简单和强大,以至于令人不安。t^t~ii{1,,N}

biast1Nit~it^

如果没有对统计数据的无偏估计,我无法理解这是如何可能的。例如,如果我的估计器简单地返回一个独立于观察的常数,那么上述偏差估计显然是无效的。

虽然这个例子是病态的,但我看不出关于估计器的合理假设是什么,以及保证引导估计是合理的分布。

我尝试阅读正式的参考资料,但我不是统计学家也不是数学家,所以没有任何澄清。

任何人都可以提供估计何时有效的高级摘要吗?如果您知道有关该主题的良好参考资料,那也很棒。


编辑:

估计器的平滑度通常被引用为引导程序工作的要求。会不会也需要某种局部的变换可逆性?常数映射显然不能满足这一点。

4个回答

我认为你的公式是错误的。最后一个应该有一个星号而不是一个帽子: t

biast1Nit~it

您想使用根据经验分布评估的实际统计量(这通常很容易,因为原始样本是有限集),而不是估计值。在某些情况下,这些可能是相同的(例如,经验平均值与样本平均值相同),但它们通常不会相同。您给出了一种不同的情况,但一个不那么病态的例子是通常的无偏方差估计量,当应用于有限分布时,它与总体方差不同。

如果统计量在经验分布上没有意义(例如,如果它假设一个连续分布),那么您不应该使用 vanilla bootstrapping。您可以将经验分布替换为核密度估计(平滑引导),或者如果您知道原始分布位于某个特定族中,则可以将经验分布替换为该族的最大可能估计(参数引导)。t

TL/DR:引导方法并不神奇。要获得偏差的无偏估计,您需要能够在有限分布上精确计算感兴趣的参数。

您描述的问题是解释问题,而不是有效性问题。您的常数估计器的引导偏差估计并非无效,它实际上是完美的。

偏差的引导估计介于估计量和参数其中是某个未知分布,的样本如果您手头有人口,您原则上可以计算函数有时我们取使用经验分布代替的插件估计这大概就是你上面描述的。在所有情况下,偏差的引导估计为 其中θ^=s(x)θ=t(F),FxFt(F)s(x)=t(F^),t(F)F^F

biasF^=EF^[s(x)]t(F^),
x的引导样本x

常数是对同一常数的完美插件估计:c 总体是,样本是经验分布,它近似于如果你可以评估,你会得到当您计算插件估计时,您还会得到如您所料,没有偏见。FF^Ft(F)=cct(F^)=cc

插件估计中存在偏差的一个众所周知的情况是估计方差,因此是 Bessel 校正。下面我演示一下。引导偏差估计还不错: t(F^)

library(plyr)

n <- 20
data <- rnorm(n, 0, 1)

variance <- sum((data - mean(data))^2)/n

boots <- raply(1000, {
  data_b <- sample(data, n, replace=T)
  sum((data_b - mean(data_b))^2)/n
})

# estimated bias
mean(boots) - variance 
#> [1] -0.06504726

# true bias:
((n-1)/n)*1 -1
#> [1] -0.05

我们可以取而代之,将作为总体均值和,在大多数情况下应该存在明显偏差的情况: t(F)s(x)=c

library(plyr)

mu <- 3
a_constant <- 1

n <- 20
data <- rnorm(n, mu, 1)

boots <- raply(1000, {
  # not necessary as we will ignore the data, but let's do it on principle
  data_b <- sample(data, n, replace=T)

  a_constant
})

# estimated bias
mean(boots) - mean(data) 
#> [1] -1.964877

# true bias is clearly -2

同样,自举估计也不算太糟糕。

你犯了一个错误,也许这就是它令人困惑的原因。你说:

如果我的估计器只是返回一个独立于观察的常数,那么上述偏差估计显然是无效的

Bootstrap 不是关于您的方法有多少偏差,而是考虑到您的数据有偏差,您通过某个函数获得的结果有多少。

如果您选择了适当的统计方法来分析您的数据,并且该方法的所有假设都得到满足,并且您的数学计算正确,那么您的统计方法应该为您提供可以使用您的数据获得的“最佳”可能估计值。

bootstrap 的想法是从您的数据中采样,就像您从总体中采样您的案例一样 - 所以它是您采样的一种复制。这使您可以获取您的价值的近似分布(使用 Efron 词),从而评估您的估计的偏差。

但是,我认为您的示例具有误导性,因此它不是讨论引导程序的最佳示例。由于双方存在误解,让我更新我的答案并以更正式的方式写出来以说明我的观点。

的估计的偏差定义为:θ^θ

bias(θ^n)=Eθ(θ^n)θ

在哪里:

θ^n=g(x1,x2,...,xn)

其中是估计量。g()

正如拉里·瓦瑟曼在他的“所有统计数据”一书中所说:

对估计器的一个合理要求是,随着我们收集越来越多的数据,它应该收敛到真实的参数值。该要求由以下定义量化:
6.7 定义。如果 ,则参数的点估计量一致的。θ^nθθ^nPθ

常数估计量,作为的常数函数: g (这个要求,因为它独立于数据并且越来越多的观察不会使其接近真实值的非常可靠的先验假设 )。xg(X)=λθλλ=θ

常数估计量不满足成为合理估计量的基本要求,因此,不可能估计它的偏差,因为即使使用也不会接近使用 bootstrap 和任何其他方法都无法做到这一点,因此 bootstrap 没有问题。θ^nθn

我发现根据它们所运行的发行版的功能来考虑引导程序很有用——我在这个答案中给出了一个不同引导问题的例子。

你给出的估计就是它的样子——一个估计。没有人说它没有遭受统计估计可能存在的问题。例如,它将为您提供样本均值的非零偏差估计,我们都知道它一开始是无偏的。这种偏差估计器的一个问题是,当引导程序被实现为蒙特卡洛而不是所有可能的子样本的完整枚举时,它会受到采样可变性的影响(无论如何,在实践中没有人使用这种理论引导程序)。

因此,引导程序的蒙特卡洛实现是无法修复的,您必须使用不同的引导程序方案。戴维森等。人。(1986)演示了如何创建一个不同的引导方案来限制随机抽取以产生平衡的样本:如果你创建Bbootstrap 复制,然后每个原始元素都需要准确使用B一阶余额的倍数。( Graham et. al. (1990)进一步讨论了对估计的二阶矩更有效的二阶平衡。)