Как и в случае с R, где некоторые утилиты распространяются повсеместно между пакетами, было простое решение, но мне потребовались часы поиска, поэтому я отвечу на свой вопрос для всех, кто можетискал что-то подобное.
Используя данные примера в вопросе, функция bca
в пакете "coxed" R дает скорректированные смещения и ускоренные доверительные интервалы для вектора результатов начальной загрузки.И мы можем сравнить их с другими доверительными интервалами.
library(fGarch)
library(coxed)
set.seed(15438)
#simulate bootstrap statistics
lambdaBS = rsnorm(9999,mean=lambda-0.04,sd=0.11,xi=2.5)
#bias-corrected and accelerated
bca(lambdaBS)
1.002437 1.452525
#confidence intervals using standard error (inappropriate)
c(lambda-(sd(lambdaBS)*2),lambda+(sd(lambdaBS)*2))
0.9599789 1.4000211
#percentile confidence intervals
quantile(lambdaBS, c(0.025,0.975))
2.5% 97.5%
0.9895892 1.4016528
Кажется, это работает хорошо.Я не уверен, как он исправляет смещение, не требуя начальной оценки рассматриваемой статистики, но я еще не читал статью, на которой основан этот метод.
Другое моделирование показывает, как это сравнивается с результатами, использующими boot
и boot.ci
.
library(boot)
#generate data
set.seed(12345)
dat = rsnorm(500,mean=1.6,sd=0.5,xi=3.0)
#bootstrap the median
meanfun = function(x,id){ mean(x[id])}
test = boot(data=dat,R=999,statistic=meanfun)
#BCa using boot.ci
boot.ci(test,type="bca")
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 999 bootstrap replicates
CALL :
boot.ci(boot.out = test, type = "bca")
Intervals :
Level BCa
95% ( 1.537, 1.626 )
Calculations and Intervals on Original Scale
#BCa using bca function from coxed package
bca(test$t)
1.536888 1.625524
И в этом случае обе функции дают одинаковые результаты.