{
"InputTimeSeries": {
"0": 100, //请求时间 阈值
"1": 120,
"2": 150,
"3": 200,
"4": 180,
"5": 220,
"6": 300,
"7": 280,
"8": 240,
"9": 190
}
}
如果使用静态阈值,我们首先需要通过历史数据来判断该组件以往的请求值,设置阈值为 200 ,而被检测出来的异常是 t5-t8 。
而动态阈值选择前后对比的方式,通过对比值结果去进行检测:
[ol]
[/ol]
它的差异是[20, 30, 50, -20, 40, 80, -20, -40, -50],根据差异的统计信息,例如均值为 15 ,标准差为 41.13 ,我们可以将动态阈值设置为均值加上两倍的标准差,即 15 + 2 * 41.13 = 97.26 。
也就说,差异值如果超过了 97.26 ,就会被认为是异常值,这里加入一个新的值 t10: 300 ,差异值超过 97.26 ,则认为 t10 是一个异常点。
97.26 是否可以理解成一个动态阈值算出来的固定阈值呢? 这是我对动态阈值的理解: 动态阈值是根据算法进行对比,比如说前后两个值的差异超过了阈值就会被认为是异常,但是阈值应该是不断变化的吧?