Generating correlated random variables

I have two compund distributions S1 = Sum{i=1:N1} Xi, where N1 is Poisson(lambda1) and X is say LogNormal(1,2) and S2 =Sum{i=1:N2} Yi, where N2 is Poisson(lambda2) and Y is say LogNormal(2,3).I wish to generate correlated random numbers from this distribution such that the linear correlation is say rho. Any thoughts?

Réponses (1)

Oleg Komarov
Oleg Komarov le 13 Mar 2012

0 votes

EDIT
Thread with links on how to generate random numbers from given distributions other than mulitvariate normal: http://www.mathworks.com/matlabcentral/newsreader/view_thread/115379

4 commentaires

Trambak
Trambak le 13 Mar 2012
Thanks! But this does not work all the time especially when there is no guarantee that there are no cross correlations. Try this and you will notice it does not give back Rho.
X=lognrnd(10,3.5,100,1);
Y = exprnd(2,100,1);
Rho = 0.2;
A=X;
B=sqrt(Rho^2)*X + sqrt(1-Rho^2)*Y;
corrcoef(A,B)
Oleg Komarov
Oleg Komarov le 13 Mar 2012
Yes you're right, the approach proposed is limited to multivariate normal. I am unsure how to proceed with arbitrary distributions.
Oleg Komarov
Oleg Komarov le 13 Mar 2012
See my edit.
Trambak
Trambak le 13 Mar 2012
Yeah, I saw the paper. Even there, the claim is that the method works best when the marginals are symmetric (or lets say marginals are from elliptical distributions). I have not seen anything which allows to simulate correlated random numbers from fat tailed compound distributions. Copulas are an answer but then with copulas, one cannot jump from the rank correlations to the linear correlations easily without making very strong assumptions. May be I should just stick with the rank correlations only.

Connectez-vous pour commenter.

Tags

Question posée :

le 13 Mar 2012

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by