我可以使用 Cholesky 方法生成具有给定均值的相关随机变量吗?

机器算法验证 相关性 随机变量 胆汁分解
2022-03-02 17:47:21

我想生成具有给定相关矩阵、均值和方差的相关随机变量。Cholesky 分解是否仅在初始随机变量是具有相同均值和方差的 iid 时才有效?

2个回答

令 Z 为正态分布的不相关随机变量,均值为 0,方差为 1。这意味着 如果进行仿射变换 ,则具有分布 在我们的例子中,我们想要,因此将 cholesky 分解应用于是找到合适的的一种方法。因此,要从进行模拟,您将模拟,设置,并应用上述转换。

ZN(0,I)
XA+BZ
X
XN(A,BB)
BB=ΣΣBXN(μ,Σ)ZA=μB=chol(Σ)

因此,要回答您的问题,可以通过使用仿射变换将均值 0 和方差 1 的不相关变量转换为通用多元正态分布,具体取决于协方差矩阵的均值向量和 cholesky 分解。这就是多元正态随机数生成器通常的工作方式。

为了解决您在评论中的另一点,假设您模拟并进行转换 以便您仍然可以正如我在评论中所讨论的,您可以通过将单变量分布乘以各自的标准偏差并添加各自的平均值来轻松做到这一点。Z

Ychol(C)Z
YN(0,C)XY

更正式地说,你可以认为这是另一个仿射变换 但是,由于不是不相关的,所以仿射变换将给出 在这种情况下,要得到,您需要将设置为等于对角线上的标准差和其他位置为零的矩阵。这相当于在单变量基础上应用变换。

XA+SY
Y
XN(A,SCS)
SCS=ΣS

附加项目:

如上所述,我们需要将协方差矩阵 Σ 分解为正交矩阵乘积。

得到正交矩阵 B 的方法有很多种,Cholesky 就是其中之一。我们还可以使用 SVD(奇异值分解)得到 B,相当于计算 PDM 的特征值/向量。

如果您想使用分解来模拟随时间变化的布朗曲线,您还可以使用带有 Haar 变换的布朗桥。