如何生成两个相关的标准正态随机变量

  统计/机器学习 概率分布 抽样方法 Python    浏览次数: 194
0

假如有两个标准正态分布$D_1$和$D_2$,并且它们的协方差是0.5。

怎么分别从$D_1$和$D_2$生成随机变量呢?

求思路。如果有python的代码更好,谢谢!

 

Gakki   2018-08-12 08:33



   2个回答 
2

先生成两个标准差为1的独立随机变量的采样$z_1,z_2$,假如要求的协方差为$\rho$,则相关的随机变量的采样$x_1=z_1$,$x_2=\rho z_1+\sqrt{1-\rho^2}z_2$。需要注意此时每个变量的标准差为1,也就是协方差矩阵的对角线都是1,此时两变量间的协方差等于相关系数。

扩展到生成N维相关随机变量$X~ \sim N(\mu,\Sigma)$,先生成N维独立随机变量$Z$,假设$CC^T=\Sigma$,则$X=\mu+CZ$。$C$可以由 Cholesky decomposition生成。

比如$N=2$时,$C=\begin{bmatrix} 1& 0 \\  \rho & \sqrt{1-\rho^2} \end{bmatrix}$

$CC^T=\begin{bmatrix} 1& \rho \\ \rho & 1 \end{bmatrix}$


Zealing   2018-08-13 09:55

1


import numpy as np
mean = [0, 0]
cov = [[1, 0], [0, 100]] 
x, y = np.random.multivariate_normal(mean, cov, 5000).T


threecifanggen   2018-08-12 17:28



  相关主题

关于两个正态总体抽样分布的独立性问题   1回答

python产生一个随机置换?   1回答

python对给定的集合进行有放回抽样?   2回答

bootstrap 一般用在哪些方面   1回答

Jackknife vs Bootstrap   1回答

parametric bootstrap和nonparametric bootstrap的区别是什么?   0回答

蓄水池抽样算法的问题   1回答

滚雪球抽样算法的实现   0回答

自助法(bootstrap)的0.632是怎么来的?   1回答

cooks距离是什么?有什么含义?怎么计算?   1回答

什么是SMOTE sampling方法?   3回答

SMOTE对于categorical feature如何处理?   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!