Given two probability density functions and correlation matrix, how to generate two correlated random sequences?

2 次查看(过去 30 天)
Given two probability density functions:
  • "ExponentialPower": px = exp( -0.5*abs((x-mu)/sigma).^(2/(1+beta) ))/( 2^((3+beta)/2)*sigma*gamma((3+beta)/2) ), where mu = 0.0015; sigma = 0.0065; beta = 1.2135;
  • "tLocationScale": py = gamma((nu+1)/2)/(gamma(nu/2)*sqrt(pi*nu*sigma^2)) * (1+(y-mu).^2/(nu*sigma^2)).^(-(nu+1)/2), where mu=4.48738e-4; sigma=0.0095; nu=2.202;
and the correlation matrix: C = [1,0.5556;0.5556,1].
I can use importance sampling + randsrc() to random generate two uncorrelated random sequences, can anyone tell me how to generate two correlated random sequences?

回答(1 个)

Jeff Miller
Jeff Miller 2018-8-2
This question is difficult because there are lots of ways to generate sequences from different bivariate distributions that all have those marginals and all have the same linear correlation. There is no way to guess which of those bivariate distributions is appropriate for your simulation (and maybe you aren't sure either). To start, have a look at the help pages for the various MATLAB routines dealing with copulas.

类别

Help CenterFile Exchange 中查找有关 Probability Distributions 的更多信息

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by