5
$\begingroup$

All of the jackknife methods (JN) I have seen (for example) use the JN to estimate standard errors and then use those estimates in standard normal-assumption symmetric intervals constructions ($ \hat{\mu} \pm z_{1 - \alpha} \cdot \hat{se} $),

Can the jackknife be used to estimate the sample statistic distribution directly a la the bootstrap? In other words, can the values returned from jackknife replication be used as inputs to percentile or BCa-type confidence interval functions to get asymmetric interval? Can Jackknife only be used to find standard errors?

$\endgroup$
1
  • $\begingroup$ The delete-one jackknife is a special case of the m-out-of-n bootstrap, namely the "m-over-n" bootstrap (or "subsampling") with m=n-1. You can find the theory elaborated by Politis & Romano (1994). In short, the answer to your second question is NO, unless in very rare cases. In general you must choose $m\to\infty$, $m/n\to 0$, and must apply an estimator specific rescaling factor (called $\tau_m$ by Poilitis & Romano) to the sampled values. $\endgroup$
    – cdalitz
    Commented Nov 21 at 14:45

2 Answers 2

5
$\begingroup$

Can the jackknife be used to estimate the sample statistic distribution directly a la the bootstrap?

Limiting our discussion to the delete one jackknife, the answer is you "can", but probably shouldn't. It is risky to do so, compared to the bootstrap. Some reasons (this list is not exhaustive) for this include

  • The jackknife is limited to $n$ total resamples (compared to $n^n$ for bootstrapping).
  • The jackknife resamples are far less robust to outliers.
  • In small sample sizes, the behavior of a statistic on $n-1$ data points could be very different from the statistic on $n$ samples. Adjusting via constant multiplication may not fully account for this.

The bootstrap has similar problems, but is far more reliable in most cases.

A case study.

Let's look at the case of inferring the population skewness of an asymmetric distribution.

# Define statistic
sample_skew <- function(xx) mean(((xx-mean(xx))/sd(xx))^3)

# Simulate data
set.seed(12345)
n <- 100 # sample size
x <- rgamma(n, 4.5, 2.5)

# Calculate statistic
theta_hat <- sample_skew(x)
theta_true <- 2/sqrt(4.5) # Gamma theory

Here we get an estimate of $\hat\theta = 0.844$ where the true value is $\theta = 2/\sqrt{4.5} \approx 0.943$. Now we can compare the percentile bootstrap with the percentile and traditional jackknife. Performing a percentile jackknife requires some manipulation.

Tukey proposed studying the psuedo-values $$\tilde\theta_i = n\hat\theta - (n-1)\hat\theta_{-i}$$ where $\hat\theta_{-i}$ is the estimate we obtain after deleting $x_i$ (the original Tukey paper is hard to find, see this paper for an alternative reference). These values are used to estimate the variance of $\hat\theta$ using the equation: $$\text{Var}_J(\hat\theta) = \frac{1}{n(n-1)}\sum_{i=1}^n \left(\tilde\theta_i - \frac{1}{n}\sum_{i=1}^n\tilde\theta_i\right)^2$$ and a $(1-\alpha)$ confidence interval is constructed as $$\hat\theta_{J} \pm z_{\alpha/2} \sqrt{\text{Var}_J(\hat\theta)}$$ where $\hat\theta_J$ is the usual jackknife estimator, i.e. the mean of the $\tilde\theta_i$'s.

This suggests that we can manipulate the pseudo-values to represent samples from the sampling distribution via: $$\hat\theta_{J,i} = \hat\theta_J + (\tilde\theta_i - \hat\theta_J)n^{-1/2}.$$

The problem is that (because of the aforementioned warnings) the variance is often driven by extreme outliers, and so the percentile jackknife can be way too anti-conservative. Consider one instance of the problem described above (code given below):

comparison of bootstrap and jackknife

The 95% CI based on jackknife resamples doesn't account for the heavy tails, and is not well-calibrated. In some problems, this might be improved by using a larger sample size and/or using a delete-$d$ jackknife with $d > 1$. But it's still generally inferior to the bootstrap.

Simulation study:

A quick simulation study gives the following results. I will also include results using the accelerated bootstrap, implemented here. These numbers are nominal coverages on $1000$ replications, with a target of $95\%$.

Sample Size Percentile Bootstrap Accelerated Bootstrap Percentile Jackknife Traditional Jackknife
n = 10 75.3 79.9 68.0 80.4
n = 100 80.7 84.6 68.0 85.0
n = 500 88.2 90.6 65.8 90.3
n = 1000 90.3 90.1 62.5 91.0

For this particular problem, the traditional jackknife is quite competitive while the percentile version is flawed. Moreover, increasing the sample size does not seem to help. This is because of the extremely heavy right tail in the distribution of the jackknife resamples.

R Code.

To reproduce the results of the simulation study.

# Set sample size
n <- 100
# Analysis of coverage properties
M <- 1000 # Replications
cov_boot <- cov_boot_a <- cov_jack1 <- cov_jack2 <- 0
for(m in 1:M){
  x <- rgamma(n, 4.5, 2.5)
  theta_hat <- sample_skew(x)
  
  # Conduct bootstrap
  B <- 2000
  theta_boot <- rep(NA, B)
  for(i in 1:B){
    x_boot <- sample(x, n, replace=TRUE)
    theta_boot[i] <- sample_skew(x_boot)
  }
  
  # Do Jackknife
  theta_jack <- rep(NA, n)
  for(i in 1:n){
    x_jack <- x[-i]
    theta_jack[i] <- n*theta_hat - (n-1)*sample_skew(x_jack)
  }
  # Do correction on pseudo-values
  theta_jack_samples <- mean(theta_jack) + sqrt(qnorm(1-0.05/2))*(theta_jack - mean(theta_jack))/sqrt(n)
  
  # Check coverages
  ci_boot <- quantile(theta_boot, c(0.025, 0.975))
  if(ci_boot[1] < theta_true & ci_boot[2] > theta_true){
    cov_boot <- cov_boot + 1/M
  }
  
  # Accelerated bootstrap github.com/knrumsey/quack
  #ci_boot_a <- quack::boot_accel(x, sample_skew, B=2000, alpha=0.05)
  #if(ci_boot_a[1] < theta_true & ci_boot_a[2] > theta_true){
  #  cov_boot_a <- cov_boot_a + 1/M
  #}
  
  ci_jack1 <- quantile(theta_jack_samples, c(0.025, 0.975))
  if(ci_jack1[1] < theta_true & ci_jack1[2] > theta_true){
    cov_jack1 <- cov_jack1 + 1/M
  }
  
  ci_jack2 <- mean(theta_jack) + c(-1, 1)*qnorm(1-0.05/2)*sd(theta_jack)/sqrt(n)
  if(ci_jack2[1] < theta_true & ci_jack2[2] > theta_true){
    cov_jack2 <- cov_jack2 + 1/M
  }
  if((m %% (M/10)) == 0) print(m)
}

And code to recreate the figure for a single replicate.

xx =c(theta_boot, theta_jack_samples)
xxlim = c(floor(min(xx)), ceiling(max(xx)))
hist(theta_boot, freq=FALSE, breaks=seq(xxlim[1], xxlim[2], by=0.1), 
     xlim=range(c(theta_boot, theta_jack_samples)), ylim=c(0, 4),
     main="")
hist(theta_jack_samples, add=TRUE, col=adjustcolor("dodgerblue", alpha.f=0.3), 
     freq=FALSE, breaks=seq(xxlim[1], xxlim[2], by=0.1))

# 95% confidence intervals
abline(v=quantile(theta_boot, c(0.025, 0.975)), lwd=2)
abline(v=quantile(theta_jack_samples, c(0.025, 0.975)), lwd=2, col='dodgerblue')

abline(v=mean(theta_jack) + c(-1, 1)*qnorm(0.05/2)*sd(theta_jack)/sqrt(n),
       lwd=2, col="dodgerblue", lty=3)

legend("topright", c("Bootstrap Resamples", "Jackknife Resamples"), fill=c('grey', 'dodgerblue'))
legend("right", 
       c("Percentile Bootstrap", "Percentile Jackknife", "Traditional Jackknife"),
       col=c("black", "dodgerblue", "dodgerblue"),
       lwd=2, lty=c(1,1,3))

References

Tukey, John. "Bias and confidence in not quite large samples." Ann. Math. Statist. 29 (1958): 614.

Friedl, Herwig, and Erwin Stampfer. "Jackknife resampling." Encyclopedia of environmetrics 2 (2002): 1089-1098.

$\endgroup$
0
$\begingroup$

Yes, it can. Example: https://influentialpoints.com/Training/log_normal_confidence_intervals.htm

Say you have lognormal-distributed data (this is right-skewed and positive), and you're trying to estimate the mean $D$. If you use a normal assumption, you could get a nonsensical CI which includes negative values. If you use a log-normal assumption, you would still calculate the standard error using the jacknife, but, the way you apply it to generate a CI is different. In the case in the above link, the jacknife SE plugs into a formula for a value called $C$, which is basically a log-scale confidence interval width.

$\endgroup$
1
  • 3
    $\begingroup$ It can give asymmetric confidence intervals when we replace the standard normal assumption, but can it also do the second part of the question "Can the jackknife be used to estimate the sample statistic distribution directly ala the bootstrap?" $\endgroup$ Commented Jan 19, 2023 at 11:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.