您描述的问题是解释问题,而不是有效性问题。您的常数估算器的自举偏差估算值无效,实际上是完美的。
偏差的自举估计在估计器和参数其中是一些未知分布,θ^=s(x)θ=t(F),Fx是的样本。如果您手头有一些人口,则原则上可以计算出函数t (F )。有些时候,我们采取小号(X )= 吨(˚F),插件的估计吨(˚F )使用经验分布˚F中的地方˚FFt(F)s(x)=t(F^),t(F)F^F。大概就是您在上面描述的内容。在所有情况下偏压的自举估计是
其中X *是从自举样本X。
biasF^=EF^[s(x∗)]−t(F^),
x∗x
常数是一个完美的插件估计相同的不变:c 人口和样本〜 ˚F,经验分布,近似于˚F。如果您可以评估t (F )= c,您将得到c。当你计算插件估计牛逼(˚F)= c ^你也可以得到Ç。如您所料,没有偏见。∼F∼F^Ft(F)=cct(F^)=cc
其中存在插件估计的偏置的公知的情况下在估计方差,因此贝塞尔校正。下面我演示一下。引导偏差的估计值还不错:
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
我们可以取作为总体平均值,而s (x )= c,即在大多数情况下应该存在明显偏差的情况:
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
同样,引导估计也不算太差。