哪种 Bootstrap 方法最受青睐?

机器算法验证 r 置信区间 引导程序
2022-03-21 19:49:35

也许这个问题取决于给定的数据,但有没有比其他方法“更好”的引导方法?我只是使用一个变量数据集(由过去 15 周内足球比分(2 支球队)之间的差异组成)..

首先注意这些数据的正确偏差,我觉得这将考虑到我会推荐哪种引导程序“更好”或最准确地表示数据。

在此处输入图像描述

首先是标准引导间隔

N <- 10^4
n <- length(Differences)
Differences.mean <- numeric(N)
for(i in 1:N)
{
x <- sample(Differences, n, replace = TRUE)
Differences.mean[i]<- mean(x)
}

lower = mean(Differences.mean)-1.96*sd(Differences.mean) #Lower CI
upper = mean(Differences.mean)+1.96*sd(Differences.mean) #Upper CI
= (8.875, 10.916)

 mean(Differences.mean)-m  #The bias is fairly small also
= -.0019

这是一个引导百分位区间

 quantile(Differences.mean,c(.025,.975)
 = (8.893, 10.938) 

最后是 Bootstrap T 区间

Tstar = numeric(N)
for(i in 1:N)
{
y =sample(Differences, size = n, replace = TRUE)
Tstar[i] = (mean(y)-m) / (sd(y)/sqrt(n))
}
q1 = quantile(Tstar,.025) #empirical quantiles for bootstrap t (lower)
q2 = quantile(Tstar,.975) #empirical quantiles for bootstrap t (upper)

mean(Differences)-(q2*sd(Differences/sqrt(n)))
mean(Differences)-(q1*sd(Differences/sqrt(n)))
= (8.925, 10.997)

此外,即使 t 置信区间似乎也相当准确

 t.test(Differences, conf.level = .95, alternative = "two.sided")
 = (8.867, 10.928)

我的结论是选择 bootstrap t 区间,因为它反映了数据的正确偏斜,它比其他任何一个都向右延伸得更远。我的样本量是 224。我认为样本量在我的结论中起着重要作用,但我最初的问题是“有没有比其他方法更好的引导方法?”.. 也许它确实取决于数据和样本量。希望这不是太宽泛。

1个回答

正如Michael Chernick 指出的那样,查看偏差校正 (BC) 和偏差校正和加速 (BCa)引导程序也会很有用。

BCa 变体特别尝试处理数据中的偏度,正如您显然拥有的那样。DiCiccio & Efron (1996, Statistical Science )发现它表现良好,Davison & Hinkley, Bootstrap Methods and their Applications (1997) 也是如此。

为什么我的引导间隔覆盖率很差?是相关的,我特别推荐Canto 等人的文章。(2006)我在那里引用。最后,我同意答案可能与样本量、您的潜在分布以及您正在引导的统计数据的关键性或非关键性有关。