For example, if we have a 95% confidence interval for a parameter of interest then we will have an interval such that if we were to take a large number of such intervals, about 95% of them will contain the parameter of interest and about 5% won't. So why is it that we don't just take some respectable number of such intervals, say 20, and in order to mitigate the effect of the problematic $\approx$5%, average them?

Intuition tells me that if it was possible to make so many intervals, then we'd be better off just taking a sample that's 20 times as big as our original one and therefore getting a better interval due to our significantly bigger sample size, but that wouldn't help us avoid the problem that we might have an interval from the 5% that doesn't contain the parameter of interest, which I suspect that averaging would mitigate the effect of (therefore giving us an interval that should contain the parameter of interest with high probability).


The issue here is that the average of CIs are simply not “efficient” (not the appropriate use of this word from a statistical perspective, but reasonable in an informal sense for this context).  If you take the average of the boundaries of the CIs, you will end up with a new interval that has about the same length as the intervals used to find the averages.  Thus, you end up with a new interval that is (1) better centered on the population mean (i.e., it has higher probability that it “captures” the mean), and (2) is much larger than it would need to be to capture the mean 95% of the time (upon hypothetical replication).

However, as you suggest in your query, if you aggregate your data into one larger data set, then you obtain a much narrower interval.  So, at the heart of this question is what is more important:  ¿confidence or precision?  If you are willing to sacrifice precision for confidence, then you can take the much larger interval.  If you want more precision, then you have to sacrifice some level of confidence.

Here is a small bit of R code that helps demonstrate this:

rep.int(NA,100) -> lens.S -> lens.L

for(ijk in 1:100) {
   n <- 20;   m <- 50;

   t.cv.s <- qt(1-0.05/2,n-1)
   t.cv.l <- qt(1-0.05/2,n*m-1)

   x <- rnorm(n*m,50,10)
   grps <- ceiling(1:{n*m}/n)

   Ms <- aggregate(x ~ grps,FUN=mean)[,2]
   SDs <- aggregate(x ~ grps,FUN=sd)[,2]
   CI.lo <- Ms - t.cv.s*SDs/sqrt(n)
   CI.hi <- Ms + t.cv.s*SDs/sqrt(n)
   new.CI.L <- mean(x) + c(-1,1)*t.cv.l * sd(x)/sqrt(n*m)
   new.CI.Savg <- c(mean(CI.lo),mean(CI.hi))
   lens.L[ijk] <- diff(new.CI.L)
   lens.S[ijk] <- diff(new.CI.Savg)

lens <- data.frame(lens.L,lens.S)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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