【问题标题】:Understanding multidimensional full covariance of normal multivariate distribution in TensorFlow理解 TensorFlow 中正态多元分布的多维全协方差
【发布时间】:2017-08-11 15:59:06
【问题描述】:

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

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

在这种情况下,我认为全协方差为 [(2 + 3 + 4) x (2 + 3 + 4)] 方阵(张量秩为 2),其中对角线元素是标准差,非对角线元素是交叉其他向量的其他分量之间的协方差。我如何才能将注意力转移到多维协方差的术语上?这是什么?

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

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

【问题讨论】:

    标签: tensorflow normal-distribution


    【解决方案1】:

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

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

    【讨论】:

    • 如果我采用 3 个独立的正态分布来对这些向量进行建模,这不能保证它们之间的交叉协方差为零,对吗?
    • @konstunn 它确实保证零协方差,因为在一个向量中具有高值或低值不可能告诉您有关其他向量的任何信息。事实上,例如,具有对角协方差矩阵的多维高斯分布(如果所有对角线值都相同,有时称为“椭圆形”或“球形”)与具有多个一维高斯分布完全相同。
    猜你喜欢
    • 1970-01-01
    • 2019-03-11
    • 2012-03-12
    • 2016-05-22
    • 2020-02-12
    • 1970-01-01
    • 2015-09-05
    • 2020-09-25
    • 2015-03-05
    相关资源
    最近更新 更多