如何检测异常点
数据挖掘
统计数据
可视化
异常检测
离群值
异常
2022-03-03 15:48:00
4个回答
在您的示例中,区分集群的不是原始值,而是与先前点的快速偏离。我可能会研究变化点检测。非参数,但仍需要调整参数。
我会推荐一个滚动平均值,它可以非常稳健,并且不会因随着时间的缓慢变化而不安。然后,您可以使用现有数据来确定您希望在哪个偏差级别发出警报。这种优化取决于您是想要捕获大部分偏差还是最小化误报警报的数量。
EDIT1:最后你总是需要调整参数。没有真正的基本事实。异常总是一个主观的东西。
一种解决方案是使用 DBSCAN 算法对数据进行聚类。然后,如果您为 DBSCAN 算法设置适当的半径,您将获得三个集群。因此,您可以将某些集群检测为成员数小于阈值的异常。
尝试使用中点估计(每次的预期值)和波段估计(任何给定中点的允许分布)对时间序列进行建模。那么成为异常只是在乐队之外的问题。
如何估计中点取决于问题。例如,如果您的时间序列有一个或多个季节性,您可以使用时间序列分解(例如,使用黄土的季节性趋势分解)。频带估计也取决于问题。
我为预订数据时间序列做了一些这样的工作。我在这里写过:https ://techblog.expedia.com/2016/07/28/applying-data-science-to-monitoring/
其它你可能感兴趣的问题
