Can someone point me to some reference for theory on bootstrapping a sample took from a population of known size?

I am used to use Bootstrap to calculate confidence intervals of a sample when the population size is considered way larger than the sample (therefore a random selection with repetition should emulate well the sampling process).

Now say I know the population is 1000, and I sampled 800 (and let's assume the sampling is in fact random). Random selection with repetition does not seem to be appropriate. By pigeonhole principle, if I truly take another random sample of size 800, it is guaranteed that at least 600 values will be the same as the original sample, something traditional bootstrap cannot replicate (and might miss by a lot).

Any solutions? I thought of:

  • Sampling 1000 with repetition, then randomly picking 800 (seems to be an equivalent approach of traditional bootstrap)
  • Sample 600 without repetition, than sampling 200 more using all 800 samples with repetition. This would account for the effect I described earlier.

Any thoughts on what is good and bad with those approaches? Or any alternative approach?


1 Answer 1


Bootstrap sampling should resemble the process of sampling the data from the population. In case of finite population you sampled fraction $f$ out of population of size $N$, i.e. $n = fN$ cases. There are two problems with using bootstrap in such scenario: (1) if you used traditional bootstrap, you'd be sampling with replacement rather than without replacement, (2) if you sampled without replacement $fn$ cases, then you'd end up with sample smaller than $n$. The first scenario is a bad idea since in such case bootstrap would not resemble the original sampling process. For using bootstrap in finite population case you have three alternatives:

  1. Sample without replacement samples of size $fn$ and then rescale the results. Finding the appropriate rescaling factor can be more complicated then it sounds, so this may not be the best alternative.
  2. First sample without replacement $N-n$ cases out of your sample, concatenate them to the sample, and then sample without replacement $n$ cases out of it. This is called mirror-match bootstrap.
  3. First sample with replacement $N$ cases out of your sample, and then sample out of it $n$ cases without replacement. This is called superpopulation bootstrap.

To learn more about those methods you could check the following resources:

Davison, A. C. & Hinkley, D. V. (2009). Bootstrap methods and their application. New York, NY: Cambridge University Press.

Sitter, R. R. (1992). A resampling procedure for complex survey data. Journal of the American Statistical Association, 87(419), 755-765.

Sitter, R. R. (1992). Comparing three bootstrap methods for survey data. Canadian Journal of Statistics, 20(2), 135-154.

  • $\begingroup$ Thanks a lot for the answer and the references. I guess I was not too far from the answer, and will sure benefit a lot from the references. $\endgroup$
    – Inox
    Jun 22, 2016 at 18:15
  • $\begingroup$ @Inox yes you were very close :) $\endgroup$
    – Tim
    Jun 22, 2016 at 19:10
  • $\begingroup$ There is now an R package that has many of these ideas implemented for those looking.. cran.r-project.org/web/packages/bootstrapFP/index.html $\endgroup$ Dec 30, 2022 at 3:31
  • $\begingroup$ I think the Sitter mirror match method should be: Sample with replacement 𝑁−𝑛 cases out of your sample.. In most cases people won't have enough sample to sample without replacement. $\endgroup$ Jan 24 at 16:58
  • $\begingroup$ Finally, the Canty Davison method (1999) is also useful: repeat your dataset N/n times so that it is the same size as the population. Then SWOR from that superpopulation. $\endgroup$ Jan 24 at 16:59

Your Answer

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

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