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 Center および File ExchangeProbability Distributions についてさらに検索

製品


リリース

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by