Friday, July 8, 2016

monte carlo - generating a correlated RV which has the same correlation to existing samples


Suppose I have generated a collection of correlated sequences of samples (Si)ni=1 from random variables x_=xi.


Let's fix a sequence of reals (σi)ni=0. Suppose that I want to generate a sample Si+1 such that Correlation(Sk,Si+1)=σk for any k.


So basically I want to append one result on to collection of correlated samples and dictate what its correlation to each of the pre-existing ones should be. What are good ways of doing this?



Answer



As Richard says, this is really hard to do in a general setting. But if we make extra assumptions about the distribution of the variables, it might be doable.


Assume for instance that your variables are following a multivariate normal distribution. This is interesting because



  • The distribution is characterized exclusively by the means, variances and covariances.


  • The marginals of the distribution are again multivariate normal.

  • There is a simple formula for the conditional distributions of variables that are multivariate normal.


Using the conditional distribution, you could easily generate a new sample Sn+1 assuming that the sample is from a random variable, part of a n+1-size multivariate normal set of random variables.


No comments:

Post a Comment

technique - How credible is wikipedia?

I understand that this question relates more to wikipedia than it does writing but... If I was going to use wikipedia for a source for a res...