If we had two confidence intervals overlap for two parameters, can we say that these two parameters are equal to each other? I read in some articles that this doesn't always hold, so what would be the proper confidence interval construction?

  • 1
    $\begingroup$ This page discusses this issue extensively. This answer has a table illustrating, under reasonable assumptions, the approximate relationship between non-overlap of confidence intervals and p-values for the significance of differences between means. For example, non-overlap of 95% confidence intervals could represent p < 0.005 for the difference in means. $\endgroup$
    – EdM
    Mar 7, 2021 at 22:26
  • $\begingroup$ Thank you for the suggestions given. I'll go over them and check. $\endgroup$ Mar 7, 2021 at 22:41

2 Answers 2


Suppose you have $n=20$ observations from $\mathsf{Norm}(\mu = 1,\sigma=1.2),$ as sampled in R below:

x = rnorm(20, 1, 1.2)
a = mean(x); a
[1] 0.8973074
s = sd(x); s
[1] 1.218098

Commonly used 95% CIs for $\mu$ and $\sigma,$ respectively, are $(.327,1.467)$ and $(.926, 1.799),$ which overlap even though $\mu= 1 \ne \sigma = 1.2.$

CI.mu = t.test(x)$conf.int;  CI.mu
[1] 0.3272197 1.4673950
[1] 0.95

CI.sg = sqrt(19*var(x)/qchisq(c(.975,.025), 19));  CI.sg
[1] 0.9263522 1.7791201

However, for $n = 200$ observations, both confidence intervals are shorter. For my choices of $\mu$ and $\sigma,$ the following sample gives non-overlapping CIs (on either side of $1.1.$

x = rnorm(200, 1, 1.2)
a = mean(x); a
[1] 0.8943602
s = sd(x); s
[1] 1.252382

CI.mu = t.test(x)$conf.int;  CI.mu
[1] 0.7197301 1.0689903             # below 1.1
[1] 0.95

CI.sg = sqrt(199*var(x)/qchisq(c(.975,.025), 199));  CI.sg
[1] 1.140497 1.388797               # ab0ve 1.1

I'm not sure exactly what you are trying to do. Your asked for a 'proper' kind of CI. I think what's below may be better than comparing two CIs. I'll put this in a separate answer in case it misses your point, and we'll want to delete it.

If you are trying to get a CI for the difference between the two parameters, you might consider a 95% parametric bootstrap confidence interval for the difference and see whether it includes $0.$

Specifically, to distinguish between normal $\mu$ and $\sigma,$ you might do something like the procedure below:

#sample of size n
n = 150
x = rnorm(n, 1, 1.2)
a.obs = mean(x); a.obs; s.obs = sd(x); s.obs
[1] 0.8825818
[1] 1.151906
d.obs = s.obs - a.obs;  d.obs
[1] 0.2693245

# parametric bootstrap CI for d = sg - mu
B = 3000;  d.re = numeric(B)
for(i in 1:B) {
 x.re = rnorm(n, a.obs, s.obs)
 d.re[i] = sd(x.re)- mean(x.re) }
q = quantile(d.re, c(.025,.975));  q
      2.5%      97.5% 
0.04791377 0.48916711 

enter image description here

hdr = "Simulated Dist'n of D (SD - Mean)"
hist(d.re, prob=T, col="skyblue2", main=hdr)
 abline(v = q, col="red", lwd=2, lty="dotted")

Note: For the normal case there may be a suitable CI or test for the difference between $\sigma$ and $\mu$ that I don't know about. But something similar to the bootstrap above might work, and might work even for non-normal distributions with more than one parameter. This is almost the most elementary type of bootstrap, and for various kinds of data other styles of bootstraps might be more appropriate


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.