本篇博客的目的:记录 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2019-04-15 数据编码
2019-04-15 缺失值处理