What is the correlation of a bivariate normal distribution after truncating the tails of both variables at $\alpha$ standard deviations?

In symbols, what is $$E\left[XY\Big|X| \leq z_{\alpha/2}, |Y| \leq z_{\alpha/2}\right]\ ?$$

I’d like a formula for this; for now, here is a computation in R with $\alpha = .1$ and $\rho = .9$.

# generating the data set
n <- 5000
R <- matrix(c( 1,.9,
              .9, 1), 2, 2)
jd <- MASS::mvrnorm(empirical = TRUE,
                    mu = c(0,0),
                    Sigma = R,
                    n = n)

# remove truncated values
alpha <- .10
crit <- qnorm(alpha/2, lower.tail = FALSE)
jd[abs(jd)>(crit)] <- NA
jd <- na.omit(jd)

# Correlation

The original correlation was .9 and the truncated correlation is .8382. This is not simply sampling variation; with a high sample size I also found find approximately the same difference (.837).

Can this correlation be derived analytically for any $\alpha$ and any correlation $\rho$?

  • 2
    $\begingroup$ This answer maybe helpful: stats.stackexchange.com/questions/517347 It provides links to discussion about truncated nultivariate normals. The answer contains a link to paywalled papers, but the last one is on arXiv and is very thorough: arxiv.org/abs/1206.5387. $\endgroup$ Jul 12, 2023 at 16:53
  • $\begingroup$ Can you state the problem in math expression? Is $E[XY||X| \leq z_\alpha, |Y| \leq z_\alpha]$ what you want to compute? $\endgroup$
    – Zhanxiong
    Jul 12, 2023 at 17:16
  • $\begingroup$ Thank you @Zhanxiong. Yes, it is. $\endgroup$
    – POC
    Jul 12, 2023 at 17:18
  • 1
    $\begingroup$ The solution comes down to finding integrals of the type stats.stackexchange.com/questions/498851 and with the same integrand multiplied by $x^2,$ which can be found by differentiating the result twice with respect to $b.$ Yes, it's messy, but taking that derivative is elementary. $\endgroup$
    – whuber
    Jul 18, 2023 at 18:06
  • $\begingroup$ @whuber, an expression with Owen’s T would not be much simpler than the original integral. One could make the “analytical” requirement in the question precise by asking: Does the truncated correlation have an expression in terms of well-known functions of one argument, like $\text{erf}$ or $\Phi$? Then I think the answer would be no. $\endgroup$
    – Matt F.
    Jul 20, 2023 at 9:42

1 Answer 1


Thank you for everyone in the comments, I finaly understood how to compute the answer. From Manjunath & Wilhelm and their R package R package, we can get the solution.

alpha <- .10
crit <- qnorm(alpha/2, lower.tail = FALSE)
a <- -c(crit, crit); b <- c(crit,crit)
mu <- c(0,0); sigma <- R
moments <- tmvtnorm::mtmvnorm(mean=mu, sigma=sigma,
                    lower=a, upper=b)

> moments
[1] 0 0

          [,1]      [,2]
[1,] 0.5747640 0.4811731
[2,] 0.4811731 0.5747640

> cov2cor(moments$tvar)
          [,1]      [,2]
[1,] 1.0000000 0.8371664
[2,] 0.8371664 1.0000000
  • 1
    $\begingroup$ This is just a numerical calculation. Your question explicitly asks for an "analytical solution." $\endgroup$
    – whuber
    Jul 20, 2023 at 20:14

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.