如何在多变量高斯分布中处理其中一个特征的零标准偏差
How should zero standard deviation in one of the features be handled in multi-variate gaussian distribution
我正在使用多变量高斯分布来分析异常。
这是训练集的样子
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 也将为零。
因此,当我通过高斯分布计算概率时,我会遇到 "device by zero" 问题。
但是,在测试集中,此特征值可能会波动,我想将其称为异常。这应该怎么处理?我不想忽略这样的功能。
所以 - 每当你有一个常量变量时,问题就会出现。但是用正态分布来近似它是完全没有意义的。有关此类变量的全部信息仅包含在一个值中 - 这就是为什么会出现这种除以 0 现象的直觉。
如果您知道在训练集中没有观察到您的变量存在这些波动 - 您可以简单地将此类变量的方差设置为不小于某个值。您可以应用函数 max(variance(X), eps)
而不是经典的方差定义。然后 - 你将确保没有被 0 除。
我正在使用多变量高斯分布来分析异常。 这是训练集的样子
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 也将为零。 因此,当我通过高斯分布计算概率时,我会遇到 "device by zero" 问题。
但是,在测试集中,此特征值可能会波动,我想将其称为异常。这应该怎么处理?我不想忽略这样的功能。
所以 - 每当你有一个常量变量时,问题就会出现。但是用正态分布来近似它是完全没有意义的。有关此类变量的全部信息仅包含在一个值中 - 这就是为什么会出现这种除以 0 现象的直觉。
如果您知道在训练集中没有观察到您的变量存在这些波动 - 您可以简单地将此类变量的方差设置为不小于某个值。您可以应用函数 max(variance(X), eps)
而不是经典的方差定义。然后 - 你将确保没有被 0 除。