首页 > 其他 > 详细

异常检测 - 方法汇总 与 grubbs test

时间:2020-04-15 20:16:27      阅读:108      评论:0      收藏:0      [点我收藏+]

本篇博客的目的:记录 grubbs test 的用法;

其实 用法 没啥难度,只是这个 模块安装的 模块名 有些特殊,做个记录;

 

import numpy as np
from OUTLIERS import smirnov_grubbs as grubbs


################################### grubbs test ###################################
#添加包 pip install outlier_utils

##### 缺点
# 1、只能检测单维度数据
# 2、无法精确的输出正常区间
# 3、它的判断机制是“逐一剔除”,所以每个异常值都要单独计算整个步骤,数据量大吃不消。
# 4、需假定数据服从正态分布或近正态分布


################# 均匀分布 #################
data = np.random.uniform(1, 100, 100)
data = np.concatenate((data, [5000]), 0)
print(data.shape)       # (101,)
out = grubbs.test(data, 0.05)
print(out)              ### 输出正常数据

def func_error(value):
    error = set(value) - set(list(grubbs.test(value,alpha=0.05)))
    return error
print(func_error(data))     # {5000.0}


################# 正态分布 #################
data_norm = np.random.normal(0, 1, 100)
data_norm = np.concatenate((data_norm, [50]), 0)
print(data_norm.shape)              # (101,)
print(func_error(data_norm))        # {50.0}

至于 grubbs test 的原理,请参考下面的链接;

 

下面的链接 总结了 一些 异常检测的 方法,有原理,有代码,有空看看

 

 

参考资料: 

https://www.zhihu.com/question/280696035    知乎还是最好的资源,理论不错

https://zhuanlan.zhihu.com/p/76281678    知乎还是最好的资源,理论 加 代码

 

http://www.manongjc.com/article/59928.html  代码 + 理论

https://www.cnblogs.com/Bang-cansee/p/4954129.html  纯理论,板书很差

https://blog.csdn.net/weixin_33906657/article/details/86130660  时间序列异常检测算法S-H-ESD

异常检测 - 方法汇总 与 grubbs test

原文:https://www.cnblogs.com/yanshw/p/12693351.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!