Computational Statistics

Chapter 9 - Jackknife-after-Bootstrap

Dr. Mehdi Maadooliat

Marquette University
MATH 4750 - Spring 2025

Jackknife-after-Bootstrap

Introduction to Jackknife-after-Bootstrap

  • Explanation of the jackknife-after-bootstrap method
  • Used to estimate bias and standard errors after bootstrap
library(boot)
library(bootstrap)
set.seed(1111)

# Function to compute the patch ratio statistic
theta.boot <- function(patch, i) {
  y <- patch[i, "y"]
  z <- patch[i, "z"]
  mean(y) / mean(z)
}

# Bootstrap the patch dataset
boot.out <- boot(bootstrap::patch, statistic = theta.boot, R=2000)
boot.out

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = bootstrap::patch, statistic = theta.boot, R = 2000)


Bootstrap Statistics :
      original      bias    std. error
t1* -0.0713061 0.008458915   0.1009777

Applying Jackknife-after-Bootstrap

  • Example: Using the jackknife-after-bootstrap method
  • Checking the bootstrap array
# Check the bootstrap array
A <- boot.array(boot.out)
head(A, 3)
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,]    0    1    2    1    2    0    0    2
[2,]    0    2    1    0    1    4    0    0
[3,]    1    1    0    1    0    1    0    4
# Proportion of cases that are not resampled
mean(A[, 1] == 0)
[1] 0.3455

Visualizing Results

# Plotting the bootstrap results
plot(boot.out, index=1)

Conclusion

  • Recap of jackknife-after-bootstrap technique
  • Importance of combining jackknife and bootstrap for robust estimates
  • Practice: Apply jackknife-after-bootstrap to other datasets