【问题标题】:Multivariate Normal Distribution fitting dataset多元正态分布拟合数据集
【发布时间】:2021-07-20 03:26:33
【问题描述】:

我正在阅读一些关于 RNN 网络的论文。在某些时候,我遇到了以下解释:

在 sN 上训练的预测模型用于计算误差向量 验证和测试序列中的每个点。误差向量被建模 拟合多元高斯分布 N = N (μ, Σ)。可能性 p(t) 观察误差向量 e(t) 的值由 e(t) 处的 N 值给出(类似于 标准化创新平方 (NIS) 用于使用卡尔曼进行新奇检测 基于滤波器的动态预测模型[5])。点的误差向量来自 vN1 用于使用最大似然估计参数 μ 和 Σ 估计。

还有:

多元高斯分布拟合误差 验证集上的向量。是的 (t) 是错误的概率 矢量 e (t) 应用多元高斯分布后 N = N (µ, ±)。最大似然估计用于 为 vN 中的点选择参数 µ 和 Σ。

vN 或 vN1 是验证数据集。 sN 是训练数据集。

它们来自 2 篇不同的文章,但描述的是同一件事。通过将多元高斯分布拟合到数据中,我并没有真正理解它们的含义。什么意思?

非常感谢,

纪尧姆

【问题讨论】:

    标签: python probability distribution normal-distribution data-fitting


    【解决方案1】:

    让我们先从一维数据开始。如果您的数据分布在一维线中,则它们具有均值 (µ) 和方差 (sigma)。然后对它们进行建模就像使用 (µ, sigma) 来根据您的主要分布生成一个新数据点一样简单。

    # Generating a new_point in a 1D Gaussian distribution
    import random
    
    mu, sigma = 1, 1.6
    new_point = random.gauss(mu, sigma)
    # 2.797757476598497
    

    现在在N 维空间中,多元正态分布是一维的推广。总体目标是找到N 平均µN x N 协方差这次由Σ 记录,以对N 维空间中的所有数据点进行建模。拥有它们,您可以根据主要分布生成任意数量的随机数据点。在 Python/Numpy 中,你可以这样做:

    import numpy as np
    new_data_point = np.random.multivariate_normal(mean, covariance, 1)
    

    【讨论】:

    • 您好 aminrd,感谢您的回答。这是我的理解:所以基本上,我将在 sN 上训练我的 RNN 网络,然后使用 vN 数据集计算误差向量。将这些误差向量用作数据集并应用最大似然估计来获得均值和协方差。然后,我可以使用 numpy 函数,例如,使用上一步计算的均值和协方差生成多元正态分布。
    猜你喜欢
    • 2020-12-04
    • 2013-03-06
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 2015-01-29
    • 2023-03-13
    • 2020-03-09
    • 2017-11-02
    相关资源
    最近更新 更多