pymc.WishartBartlett#

pymc.WishartBartlett(name, S, nu, is_cholesky=False, return_cholesky=False, initval=None)[源代码]#

Wishart 分布的 Bartlett 分解。由于 Wishart 分布要求矩阵为对称半正定矩阵,因此 MCMC 永远无法提出可接受的矩阵。

相反,我们可以使用 Barlett 分解,它采样一个下三角矩阵。具体来说:

\[ \begin{align}\begin{aligned}\begin{split}如果 \( L \sim \begin{pmatrix} \sqrt{c_1} & 0 & 0 \\ z_{21} & \sqrt{c_2} & 0 \\ z_{31} & z_{32} & \sqrt{c_3} \end{pmatrix} \)\end{split}\\其中 \( c_i \sim \chi^2(n-i+1) \) 且 \( n_{ij} \sim \mathcal{N}(0, 1) \),则\\\( L \times A \times A.T \times L.T \sim \text{Wishart}(L \times L.T, \nu) \)\end{aligned}\end{align} \]

更多信息请参见 http://en.wikipedia.org/wiki/Wishart_distribution#Bartlett_decomposition

参数:
Sndarray

p x p 正定矩阵 或者:p x p 下三角矩阵,它是协方差矩阵的 Cholesky 因子。

nu : 类似张量intpython:int 的 tensor_like

自由度, > dim(S).

is_cholesky : 布尔值, 默认=Falsebool, 默认=False

输入矩阵 S 已经被 Cholesky 分解为 S.T * S

return_cholesky : bool, 默认值=Falsebool, 默认=False

仅返回 Cholesky 分解后的矩阵。

initvalndarray

p x p 正定矩阵用于初始化

注释

这不是一个标准的分布类,但遵循类似的接口。除了Wishart分布外,它还会向您的模型中添加RVs name_c和name_z,这些构成了矩阵。

通常不建议将此分布用作多元正态分布的先验。相反,您应该使用 LKJCholeskyCov 或 LKJCorr。