当数据看板的数据来自多个异构数据源,需要根据细粒度数据进行统计计算时,由于网络、服务器、数据库、传感器等的影响,数据更新中断,数据不完整。如果不及时处理,显示的异常数据会延迟或误导用户的决策。及时处理的前提是及时准确地报警。及时准确报警的前提是设置正确的阈值。
阈值设置有固定和动态两种。
在一个项目中,我们开始为每个指标(不同的累积流量)设置固定的上下限作为阈值,并在低于下限或高于上限时报警。在实际操作中,发现有太多的异常值报警,例如有一天有22条消息,其中9条超过阈值。
现在决定使用动态阈值。动态阈值是比较前三天的平均移动值,超过一定阈值的报警。这里有一个阈值设置方法。
首先,收集历史数据作为样本数据进行分析。每天选择9个累计流量指标:

其次,分别计算样本数据中的报警样本数量。预设报警标准有两个:1。偏差值是平均偏差值的两倍;2.报警数量为总样本数据的10%。
1、
计算样本中每个值与前三天移动平均值的偏差值D,再次获得D的平均值AD,按倍率系数为2(阈值系数为2)=2xAD)阈值的标准设置T,报警超过阈值。
根据实际数据计算,本标准阈值的报警样本数约占总样本数的10%。以下是9个指标实际数据的计算结果:
2、
设置了10%、5%、2%三种报警样本,分别计算阈值T相应高于和低于AD绝对值倍数。
根据上表的计算,将报警样本数设置为10%,阈值是偏差平均值的两倍。
如果10%的报警过于频繁,可以设置为5%或2%,数为4倍和6-7倍。
以上是每日累计数据的阈值设置。对于实时数据,阈值和判断数据异常是根据数据更新时间对应前三天同一时间数据的移动平均值计算的。如果时间间隔为分钟,则每天共有24分钟*60 = 需要计算1440个阈值。