Tencent / Metis

Metis is a learnware platform in the field of AIOps.
Other
1.68k stars 495 forks source link

验证Metis时发现几个问题,请指教 #76

Closed aaron077 closed 4 years ago

aaron077 commented 5 years ago
  1. 通过python API 来验证实际值 2.通过python API 做随机值验证 3.通过http API来验证实际值 4.通过http API做随机值的验证。

    • 随机值波动范围:
  2. 按实际值的0.8-1.2倍波动范围取值。 2.按实际值的0.9-1.1倍波动范围取值。 3.波动范围是10%,按实际值的0.7-0.8,1.2-1.3倍直接取随机值来验证结果 4.波动范围是10%,按实际值的0.6-0.7,1.3-1.4倍直接取随机值来验证结果 5:波动范围是10%,按实际值的0.5-0.6,1.4-1.5倍直接取随机值来验证结果 6:波动范围是10%,按实际值的0.2-0.3,1.7-1.8倍直接取随机值来验证结果 7:波动范围是10%,按实际值的0.2-0.3,1.7-1.8倍之间,用http restful接口来验证结果 8:按实际值的2.7-2.8倍之间取随机值来验证结果

这样的验证结果,变成Metis不好用于做异常检测了。因为如果按1.7-1.8倍于正常值取数,传统的阈值都会检测出来是异常,但这边变成了1:1。

  1. 波动范围是10%,按实际值的0.2-0.3,1.7-1.8倍直接取随机值,用python APi调用来验证结果 image image 可以看到每次置信度P都是返回1,这是有问题的。 2:按实际值的2.7-2.8倍之间取随机值来验证结果 image

以上的困惑请指教

wanghuaway commented 5 years ago

可否提供几个有疑问的样本数据

aaron077 commented 5 years ago

可否提供几个有疑问的样本数据

我这两天把数据整理好,再发给你分析下

aaron077 commented 5 years ago

以下是样本数据的链接: 链接: https://pan.baidu.com/s/1KE0fACpNpZBjMyqxG8HZ6Q 提取码: 6xjd 复制这段内容后打开百度网盘手机App,操作更方便哦 对样本数据的几点说明: 1:都是通过python api发送样本数据,可以看到当ret值是0(异常)是,P永远是0,当ret值是1时,p永远是1 2:check_time_value,代表原来待检测点的真正值,这些真正值发送请求时,返回的结果都是ret:1,正常。 3:value_now就是随机波动的值。这个样本数据的随机波动范围是原值1.7倍多或者0.2倍多的随机值。 4:DataC、DataB、DataA就是发送请求的数据,DataB、DataC的值都没改动,只有DataA的最后一个值,改成了value_now。最后返回的结果是类似1:1 5:但是按预估,如果都改成原值的1.7倍多或者0.2倍多。应该都是大部分检测结果都是要异常了

aaron077 commented 5 years ago

可否提供几个有疑问的样本数据

数据已经提供了,请指教

zr9558 commented 5 years ago

image 属于异常,这个检测是合理的; image 属于异常; image 属于异常; image 属于异常;

解决方案:

如果默认模型没有检测出来,可以从源代码出发,进行必要的改动;

  1. 查看第一层:统计判别,多项式检测是否能够检测出异常;
    • 如果能够检测出来,那就看第2步;
    • 如果没有检测出来,把以上算法的阈值调整一下,看看是否能够检测出来; PS:这个用多项式拟合算法应该可以搞定;如果只有这种数据,那么只用多项式拟合就足够了。
  2. 查看第二层:如果有监督没有判断出来, 人工标注部分样本数据,添加到模型里面重新训练即可;