2

我正在使用多变量高斯分布来分析异常。 这是训练集的外观如何在多变量高斯分布中处理其中一个特征的零标准偏差

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 = mean(X)' 

计算σ-2作为

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

概率是使用标准高斯公式作为

guassian

对于计算一个特定的功能,如果一个ll值为零,则平均值(mu)也为零。随后sigma2也将为零。因此,当我通过高斯分布计算概率时,我会得到一个“零器件”问题。

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

回答

1

所以 - 每当你有一个恒定的变量时就会出现问题。但是通过正态分布近似它绝对没有意义。关于这样的变量的全部信息只包含在一个值中 - 这是直觉,为什么这种除0的现象发生。

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

+0

感谢您的意见。我会尝试更新结果。 –

+0

而且?我的回答对你有帮助吗? –

+0

再次感谢您的建议。对于迟到的回复,我很抱歉。是的,它确实有效。我从你的理解中得到的建议是(请确认)我们试图在该特征中加入一个小的“方差”(如果平均值/标准偏差为零,我可能会加上这个“差异”),以便从这个值(eps)可以被称为异常。 EPS(按照定义)将是“机器”浮点系统中相邻两个数字之间的间隔。我认为这应该可以做到。 :-) –