首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异常检测阈值问题

异常检测阈值问题
EN

Data Science用户
提问于 2019-10-28 18:46:23
回答 1查看 512关注 0票数 2

我正在研究Python中的异常检测开发。

更多细节,我需要分析时间序列,以检查是否存在异常。

异常值通常是峰值,因此与其他值相比,异常值非常高或非常低。

其主要思想是预测时间序列值,并使用阈值检测异常。

阈值是使用错误(即实际值减去预测值)计算的。

然后,进行误差的均值和标准差。

上限等于平均值+ (5 *标准差)。

较低的阈值等于平均值- (5 *标准差)。

如果错误超过阈值,则标记为异常。

这种方法不起作用的是,如果我一天中有一个以上的异常值,就不会检测到它们。这是因为误差、均值和标准差受到异常值的影响太大。

我怎样才能解决这个问题?是否有另一种方法可以用于识别阈值而不存在此问题?

谢谢

EN

回答 1

Data Science用户

回答已采纳

发布于 2019-10-28 19:56:31

而不是均值和标准差,你可以估计中位数和平均绝对偏差。中位数不受离群值的影响,而且MAD至少应该比标准偏差公式更稳健。

您可能需要将临界值更改为5以外的值,以获得相同的覆盖范围。根据维基百科,如果你的数据是iid高斯的话,你会希望新的临界值是5\sqrt{\frac{\pi}{2}}

另一种可能更难实现,但在统计上可能更合适的方法是,对均值和标准差使用修整估计器。使用修剪后的估计器,您可以丢弃数据中的最极端值(其比例是事先指定的),并对其余数据进行统计估计。

平均值的估计器将是截尾平均,而维基百科页面中用于裁剪估计器的页面提到了如何为偏离四分位数范围的标准差获得一个体面估计量

我希望这能帮到你!

票数 5
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/62325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档