Jin*_*ing 8 matlab probability matrix
我想知道如何在matlab中绘制样本,其中我有精度矩阵和mean作为输入参数.
我知道mvnrnd是一种典型的方法,但它需要协方差矩阵(即精度的倒数)作为参数.
我只有精确矩阵,由于计算问题,我无法反转我的精度矩阵,因为它需要太长时间(我的尺寸约为2000*2000)
小智 8
好问题.请注意,您可以使用标准正态分布中的样本,通过相关维基百科文章中描述的过程,从多变量正态分布生成样本.
基本上,这归结为评估从标准正态分布中采样的独立随机变量的向量A*z + mu在哪里z,mu是均值的向量,并且A*A' = Sigma是协方差矩阵.因为你有后一个数量的倒数,即inv(Sigma)你可以做一个Cholesky分解(见chol)来确定倒数A.然后你需要评估A * z.如果您只知道inv(A)这仍然可以在不执行矩阵求逆的情况下通过改为求解线性系统(例如通过反斜杠运算符)来完成.
A*z + mu
z
mu
A*A' = Sigma
inv(Sigma)
chol
A
A * z
inv(A)
Cholesky分解可能仍然存在问题,但我希望这会有所帮助.
归档时间:
12 年,5 月 前
查看次数:
9629 次
最近记录:
8 年,6 月 前