生成随机数的原理,生成多元分布随机数

如何生成随机数及多元分布的随机数,发现佐治亚理工的一个课件,讲的特别详细,包括多种方法,以及如何生成多元正态分布的随机数:

https://www2.isye.gatech.edu/~sman/courses/6644/Module07-RandomVariateGenerationSlides_171116.pdf

打开速度慢的话可从百度网盘下载:链接:https://pan.baidu.com/s/1X4IVcA-lgAq9Ya95rnGq_A
提取码:k9gv

时间有限,慢慢整理吧。现在知道,一般的随机分布用逆函数法生成随机数,对于泊松分布,则用 “接受拒绝法” 生成随机数。

下面整理一下如何生成多元分布的随机数:

1. 假设有一个多元变量

X=(x1,x2,,xn)T\textbf{X}=(x_1, x_2, \dots, x_n)^T

它的均值向量为 μ\boldsymbol {\mu},协方差矩阵为 Σ\bf\Sigma.

由于协方差矩阵为半正定矩阵,它可以三角分解,即 Σ=CCT\bf\Sigma=CC^T,其中,CC 为一个下三角矩阵,并且对角线元素为非负实数。

2. 对于多元正态分布,有下面关系:

X=μ+CZ \bf X=\boldsymbol \mu+CZ

其中,Z\bf Z 为标准正态分布的 nn 个变量:(z1,z2,,zn)(z_1, z_2, \dots, z_n)

可以验证,μ+CZ\bf\boldsymbol \mu+CZ 的均值向量也为 μ\boldsymbol {\mu},协方差矩阵也为 Σ\bf\Sigma

3. 生成多元正态分布随机数的步骤:

(1)生成标准正态分布随机数
(2)求出协方差矩阵的三角分解矩阵 C\bf C
(3)根据 X=μ+CZ\bf X=\boldsymbol \mu+CZ,将第一步生成的随机数转化为普通多元正态分布的随机数

若两个分布相互独立,则对于它们联合分布的随机数,每个分布分别生成随机数,然后组合在一起就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章