如何在多元高斯分布中处理其中一个特征的零标准偏差

Posted

技术标签:

【中文标题】如何在多元高斯分布中处理其中一个特征的零标准偏差【英文标题】:How should zero standard deviation in one of the features be handled in multi-variate gaussian distribution 【发布时间】:2016-11-06 10:12:05 【问题描述】:

我正在使用多变量高斯分布来分析异常。 这就是训练集的样子

19-04-16    05:30:31    1   0   0   377816  305172  5567044 0   0   0   14  62  75  0   0   100 0   0
<Date>      <time>     <--------------------------- -------   Features --------------------------->

假设上述特征之一没有改变,它们保持为零。

计算平均值 = mu

mu = mean(X)'

计算 sigma2 为

sigma2 = ((1/m) * (sum((X - mu') .^ 2)))'

每个数据集中单个特征的概率是使用标准高斯公式计算的

对于特定特征,如果所有值都为零,则均值 (mu) 也为零。随后 sigma2 也将为零。 因此,当我通过高斯分布计算概率时,我会得到一个“零设备”问题。

但是,在测试集中,此特征值可能会波动,我想将其称为异常。这个,应该怎么处理?我不想忽略这样的功能。

【问题讨论】:

如果一个特征在所有实例中真正保持不变,那么它对分类毫无用处,可以删除 【参考方案1】:

所以 - 每次当您有一个恒定的变量时都会出现问题。但是用正态分布来近似它是完全没有意义的。关于此类变量的全部信息仅包含在一个值中 - 这就是为什么会发生这种除以 0 现象的直觉。

如果您知道在训练集中未观察到变量中存在这些波动 - 您可以简单地将此类变量的方差设置为不小于某个值。您可以应用函数 max(variance(X), eps) 而不是经典的方差定义。然后 - 您将确定不会发生除以 0。

【讨论】:

感谢您的意见。我会尝试更新结果。 然后呢?我的回答对你有帮助吗? 再次感谢您的建议。对于迟到的回复,我深表歉意。是的,它确实有效。我从您的建议中了解到(请确认)我们正在尝试将一个小的“方差”纳入该特征(如果平均值/标准差为零,我可能会添加),以便最小的偏差这个值(eps)可以称为异常。 EPS 将是(根据定义)将是“机器”浮点系统中 2 个相邻数字之间的间距。我认为这应该可以解决问题。 :-)

以上是关于如何在多元高斯分布中处理其中一个特征的零标准偏差的主要内容,如果未能解决你的问题,请参考以下文章

随机过程8 - 多元高斯分布及其线性性质

随机过程8 - 多元高斯分布及其线性性质

随机过程8 - 多元高斯分布及其线性性质

多元高斯分布

np.random.multivariate_normal方法浅析

主成分分析(PCA)简介