如何生成随机数及多元分布的随机数,发现佐治亚理工的一个课件,讲的特别详细,包括多种方法,以及如何生成多元正态分布的随机数:
https://www2.isye.gatech.edu/~sman/courses/6644/Module07-RandomVariateGenerationSlides_171116.pdf
打开速度慢的话可从百度网盘下载:链接:https://pan.baidu.com/s/1X4IVcA-lgAq9Ya95rnGq_A
提取码:k9gv
时间有限,慢慢整理吧。现在知道,一般的随机分布用逆函数法生成随机数,对于泊松分布,则用 “接受拒绝法” 生成随机数。
下面整理一下如何生成多元分布的随机数:
1. 假设有一个多元变量
它的均值向量为 ,协方差矩阵为 .
由于协方差矩阵为半正定矩阵,它可以三角分解,即 ,其中, 为一个下三角矩阵,并且对角线元素为非负实数。
2. 对于多元正态分布,有下面关系:
其中, 为标准正态分布的 个变量: 。
可以验证, 的均值向量也为 ,协方差矩阵也为 。
3. 生成多元正态分布随机数的步骤:
(1)生成标准正态分布随机数
(2)求出协方差矩阵的三角分解矩阵
(3)根据
,将第一步生成的随机数转化为普通多元正态分布的随机数
若两个分布相互独立,则对于它们联合分布的随机数,每个分布分别生成随机数,然后组合在一起就可以了。