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?

回答 (1 件)

Oleg Komarov
Oleg Komarov 2012 年 3 月 13 日

0 投票

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 件のコメント

Trambak
Trambak 2012 年 3 月 13 日
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 2012 年 3 月 13 日
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 2012 年 3 月 13 日
See my edit.
Trambak
Trambak 2012 年 3 月 13 日
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.

サインインしてコメントする。

タグ

質問済み:

2012 年 3 月 13 日

Community Treasure Hunt

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

Start Hunting!

Translated by