1

For generating correlated normal random variables from independent normals, I know that you can use Cholesky/SVD.

Is there a general method that applies for other random variables, e.g., uniformly distributed ones?

The above is a bit vague, so for discussion purposes, let's constrain this a bit more. How about, for each pair of the dependent random variables, we want to achieve a predefined correlation coefficient.

  • What is your goal? If you take $X$ and $Y=X$ they are clearly correlated. Generally, if you take any two functions from independent variables $F_1(X,Y)$ and $F_2(X,Y)$, $F_1$ and $F_2$ are likely to be correlated except for some rare cases. – Vasily Mitch May 08 '21 at 16:07
  • @VasilyMitch I edited the OP to constrain the problem a bit more. How about we want to generate a set of correlated random variables that adhere to a prescribed correlation matrix. – student010101 May 08 '21 at 16:17

1 Answers1

2

In general, generating distributions with given properties is a hard problem. However, if you aim to creat a uniform distribution with a given correlation matrix, you can use Gaussian Copula for that.

In particular, given $u_i\sim U_{[0,1]}$ independently, construct $x_i=\Phi^{-1}(u_i)$, transform $y_i = R^{1/2}_{ij}x_j$, where $R_{ij}$ is a desirable correlation matrix, and finally have $v_i=\Phi(y_i)$. Variables $v_i$ are uniformly distributed with correlation matrix $R$ (since homomorphism of each of the variable doesn't change the correlation).

Vasily Mitch
  • 10,414