Maybe this question depends on the given data, but is there a "better" bootstrap method than the others? I'm simply using a one variable dataset (that consists of the differences between football scores (2 teams) over the past 15 weeks)..
First note the right skew of this data, I feel like this will take into consideration which bootstrap I would recommend as being "better" or most accurate for the representation of the data.
First here is the standard bootstrap interval
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
Here is a bootstrap percentile interval
quantile(Differences.mean,c(.025,.975)
= (8.893, 10.938)
Lastly here is the Bootstrap T interval
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)
In addition even the t confidence interval seems pretty accurate
t.test(Differences, conf.level = .95, alternative = "two.sided")
= (8.867, 10.928)
My conclusion would be to choose the bootstrap t interval because it reflects the right skew of the data, it is stretched further to the right than any of the others. My sample size is 224. I think sample size plays a huge role in my conclusion, but my initial question was "is there a better bootstrap method than the others?".. Maybe it really does depend on the data and sample size. Hopefully this isn't too broad.