Tensorflow 理解张量流中正态多元分布的多维全协方差

Tensorflow 理解张量流中正态多元分布的多维全协方差,tensorflow,normal-distribution,Tensorflow,Normal Distribution,假设我有3个相同分布的随机向量:w,v和x,通常长度不同w是长度2,v是长度3,x是长度4 对于tf.contrib.distributions.multivariationormalfullconvariance(mean,sigma),我应该如何定义这些向量的完整协方差矩阵sigma 我认为这种情况下的完全协方差是[(2+3+4)x(2+3+4)]平方矩阵(张量秩2),其中对角元素是标准偏差,非对角元素是相互向量的相互分量之间的交叉协方差。我怎样才能把注意力转移到多维协方差的术语上呢?这是什

假设我有3个相同分布的随机向量:
w
v
x
,通常长度不同
w
是长度2,
v
是长度3,
x
是长度4

对于
tf.contrib.distributions.multivariationormalfullconvariance(mean,sigma)
,我应该如何定义这些向量的完整协方差矩阵
sigma

我认为这种情况下的完全协方差是[(2+3+4)x(2+3+4)]平方矩阵(张量秩2),其中对角元素是标准偏差,非对角元素是相互向量的相互分量之间的交叉协方差。我怎样才能把注意力转移到多维协方差的术语上呢?这是什么

或者,我应该通过将其从片段(例如,特定协方差和,例如,假设这些向量独立,我应该构建分区块对角矩阵)连接起来来构建完整协方差矩阵,并将采样结果剪切(分割)到我想要得到的特定向量中?(我是用R做的)还是有更简单的方法


我想要的是完全控制所有随机向量,包括它们的协方差和互协方差。

没有特别考虑维度,因为随机变量分布在多个向量上。从概率角度来看,大小为2、3和4的三个正态分布向量、大小为9的正态分布向量和大小为3x3的正态分布矩阵都是相同的:9维正态分布。当然,你可以有2维、3维和4维的三个分布,但那是另一回事,它不允许你对不同向量的变量之间的相关性进行建模(就像每个数字有一个一维正态分布不允许你对任何相关性进行建模一样);对于您的用例来说,这可能足够,也可能不够


如果要使用单个分布,只需在问题域(例如大小为2、3和4的三个向量的元组)和分布域(例如9维向量)之间建立一个双射。在这种情况下,很明显,只需展平(如有必要)并连接向量以获得分布样本,然后将样本分为大小为2、3和4的三部分以获得向量。

如果我采用3个独立的正态分布对这些向量建模,这将不能保证它们之间的交叉协方差为零,rigtht?@konstunn它确实保证零协方差,因为在一个向量中有高或低的值不可能告诉你关于其他向量的任何信息。事实上,例如,具有具有对角协方差矩阵的多维高斯分布(如果所有对角值相同,则有时称为“椭球”或“球形”)与具有多个一维高斯分布完全相同。