简而言之,我的问题是boot.ci是否为type =“basic”返回正确的间隔端点。
我使用boot和boot.ci计算基于启动包的置信区间。我注意到当我使用boot.ci函数的“基本”类型时,一些置信区间看起来很奇怪。相比之下,“bca”或“perc”产生了我的预期。我的第一个猜测是,当减去较低/较高的终点时,“基本”会混淆一些东西。 但我可能错了,例如,错过了解释这种行为的“基本”和“bca”类型之间的一些重要区别。
参见,例如,以下代码示例。为了说明的目的,我创建了一些高度偏斜的随机数据。我尝试计算中位数的置信区间。我所期望的是一个积极的置信区间(因为数据是)。我得到的(参见第一个图,基于type =“basic”)是一个强烈负面的低端点,并且间隔偏向错误的方向。第二个图(基于type =“bca”)显示了如果一切正常,我期望发生的事情。
require(boot)
set.seed(1)
x <- 10^runif(100,0,5)-1 #sample data
medw <- function(x,i){ #statistic for bootstrap
mm <- median(x[i])
}
resb <- boot(x,medw,R=1000) #bootstrap
ci <- boot.ci(resb,0.95,type = "basic") #confidence
require(plotrix) #for plotting
par(mfrow=c(1,2))
plotCI(ci$t0,li=ci$basic[4],ui=ci$basic[5]) #confidence plot
boxplot(x) #boxplot, just for some visual context
ci <- boot.ci(resb,0.95,type = "bca") #confidence
plotCI(ci$t0,li=ci$bca[4],ui=ci$bca[5]) #confidence plot BCA
boxplot(x) #boxplot, just for some visual context