Statistics 多元正态分布的抽样复杂性

Statistics 多元正态分布的抽样复杂性,statistics,complexity-theory,sampling,Statistics,Complexity Theory,Sampling,多元正态分布抽样的计算复杂度是多少 协方差矩阵是否需要先求逆,从而得到一个O(n^3)算法 或者存在复杂度为O(n^2)的算法?如果C是协方差矩阵,C=LLT是其Cholesky分解,那么Lx将具有所需的协方差结构。这里,x是标准正态变量的n向量 Cholesky分解需要O(n^3)时间进行计算。然而,如果你预先做了,然后只使用L,你将在你计算的所有随机样本中分摊成本。大概你想用给定的协方差结构生成许多随机向量,所以任何分解等只需要在开始时做一次。或者我误解了你的问题?我正计划使用numpy.r

多元正态分布抽样的计算复杂度是多少

协方差矩阵是否需要先求逆,从而得到一个O(n^3)算法 或者存在复杂度为O(n^2)的算法?

如果C是协方差矩阵,C=LLT是其Cholesky分解,那么Lx将具有所需的协方差结构。这里,x是标准正态变量的n向量


Cholesky分解需要O(n^3)时间进行计算。然而,如果你预先做了,然后只使用L,你将在你计算的所有随机样本中分摊成本。

大概你想用给定的协方差结构生成许多随机向量,所以任何分解等只需要在开始时做一次。或者我误解了你的问题?我正计划使用numpy.random.multivariable\u normal函数。所以,我确实需要很多样品,摊销成本很有趣。但是,如果我每次都要确保尽可能多地取样以分摊成本,那么我就一直在犹豫。如果它是一个O(n^2)算法,我不必担心这一点。查看numpy的mtrand.pyx文件,您可以看到它们使用的是复杂度为O(n^3)的svd分解。其他的操作只是矩阵乘法和复杂度为O(n^2)的加法。因此,值得对每个函数调用进行大批量抽样,以分摊成本。