0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍一种基于中位数的离群值检测方法

冬至子 来源:菜J数据分析 作者:菜J数据分析 2023-06-20 17:13 次阅读

Hampel滤波器是一种基于中位数的离群值检测方法,它可以用于消除在数据中存在的离群值。Hampel滤波器是由John Hampel在1974年提出的,他是一位德国数学家和统计学家,因其在离群值检测领域的贡献而闻名。

在统计学中,离群值是指与其他值明显不同的异常值。这些异常值可能是由于数据损坏或错误导致的,也可能是由于真实数据的异常情况而导致的。无论原因如何,离群值都会对数据分析和建模产生负面影响。

一、基本原理

Hampel滤波器通过将中位数作为估计量来检测和替换离群值。该方法的主要步骤如下:

(1)计算数据中每个数据点的中位数。

(2)计算每个数据点与中位数之间的差异。

(3)计算差异的中位数和标准差。

(4)根据中位数和标准差确定离群值的阈值。

(5)将超过阈值的值替换为中位数。

图片

Hampel滤波器可以通过调整阈值来平衡过滤离群值和保留异常值之间的折衷。较小的阈值会更有效地检测离群值,但可能会错误地移除真实的异常值。较大的阈值可能会忽略一些离群值,但也可能会保留一些真实的异常值。

二、特点

与其他离群值检测方法相比,Hampel滤波器具有以下优点:

(1)它是一种鲁棒性较强的方法,对数据的分布不太敏感。

(2)它可以在不需要事先了解数据分布的情况下进行离群值检测。

(3)它可以检测并替换多个离群值,而不是只能处理单个异常值。

虽然Hampel滤波器在某些情况下可能不是最佳选择,但它是一种简单而有效的方法,可用于许多数据分析任务中。

三、用法

hampel(x, window_size=3, n_sigmas=3, imputation='padded')

其中,x是待处理的一维数据数组,window_size是用于计算中位数和标准差的窗口大小,默认为3,表示使用当前数据点及其相邻的前后两个数据点计算中位数和标准差。n_sigmas是判断异常值的阈值,它表示数据点与中位数之间的偏差超过多少个标准差时被认为是异常值,默认为3。imputation参数用于指定处理数据边缘(即数组的第一个和最后一个数据点)时采用的方法,默认为'padded',表示使用填充方式进行处理。

例如,下面的代码演示了如何使用Hampel函数对一组数据进行异常值检测:

import numpy as np
from statsmodels.robust.scale import hampel


# 生成一组随机数据
x = np.random.normal(0, 1, 100)


# 在数据中添加几个异常值
x[10] = 10
x[20] = -10


# 使用Hampel函数检测异常值
y = hampel(x, window_size=5, n_sigmas=3)


# 输出结果
print(x)
print(y)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19133

    浏览量

    228900
  • 滤波器
    +关注

    关注

    160

    文章

    7714

    浏览量

    177537
收藏 人收藏

    评论

    相关推荐

    介绍一种基于分级的RFID隐私保护方法

    介绍一种基于分级的RFID隐私保护方法
    发表于 05-26 06:17

    介绍一种按键检测电路

    介绍一种按键检测电路
    发表于 01-18 07:41

    如何去缓冲STM32F401上ADC噪声的输入呢

    过程中始终是室温,万用表没有改变个毫伏,而变化由 ADC 记录。接下来,我设置了个过滤器,以从中位数中删除 +/- 2 摄氏度以外的所有,并删除了 555 个
    发表于 12-26 07:10

    基于置信区间的偏离群数据检测方法

    异常数据检测与处理是数据仓库系统中数据清洗领域的研究热点。该文提出一种基于置信区间的偏离群数据检测方法,从总体中筛选出有效样本,利用遗传算法
    发表于 04-11 09:13 11次下载

    一种基于混合模式的密码协议入侵检测方法

    本文结合特征入侵检测和异常入侵检测技术,提出了一种在密码协议运行中,能动态监视安全协议运行,实时检测其上攻击的方法,详细
    发表于 07-08 09:36 18次下载

    一种多点脉搏信号检测方法

    一种多点脉搏信号检测方法:
    发表于 03-30 15:41 22次下载
    <b class='flag-5'>一种</b>多点脉搏信号<b class='flag-5'>检测</b><b class='flag-5'>方法</b>

    局部密度离群检测算法

    已有的密度离群检测算法LOF不能适应数据分布异常情况离群检测,INFLO算法虽引入反向五近邻点集有效地解决了数据分布异常情况的离群
    发表于 11-25 09:34 6次下载
    局部密度<b class='flag-5'>离群</b>点<b class='flag-5'>检测</b>算法

    一种散乱点云近离群点的识别算法

    针对原始曲面变化度的局部离群系数( SVLOF)无法有效滤除三维实体的棱边或棱角处的离群点问题,提出了一种散乱点云近离群点的滤除算法。该算法首先将SVLOF定义在类K邻域上,并将SVL
    发表于 01-12 16:44 0次下载

    一种新的图像局部模糊区域检测方法

    针对当前相关图像模糊测量方法不能有效检测纹理平坦清晰区域的问题,提出一种新的图像局部模糊区域检测方法,将其应用于存在运动模糊的静态图像运动目
    发表于 02-05 14:00 2次下载

    数据科学家需要知道的5个基本统计概念,如何才能最有效地应用它们

    中间的那条线是数据的中位数。由于中位数离群的鲁棒性更强,因此中位数比平均值用得更多。第个四
    的头像 发表于 11-07 10:57 2298次阅读
    数据科学家需要知道的5个基本统计概念,如何才能最有效地应用它们

    一种新型的高维数据流离群点快速检测算法

    现有数据流离群检测算法在面对海量高维数据流时普遍存在运算时间过长的问题。为此,提出一种引入局部向量点积密度的高维数据流离群点快速检测算法。
    发表于 03-17 16:18 12次下载
    <b class='flag-5'>一种</b>新型的高维数据流<b class='flag-5'>离群</b>点快速<b class='flag-5'>检测</b>算法

    高阶多视图离群检测及其研究综述

    由于数据在不同视图之间的分布比较复杂,传统的单视图离群检测方法不再适用于多视图离群点的检测,使得多视图
    发表于 05-07 11:22 16次下载

    基于离群检测算法的电力市场异常行为辨识

    为了监管电力市场中存在的各类违规行为,保证市场的公平竟争,提岀了一种基于分阶段离群检测算法的电力市场异常行为辨识方法。梳理不同交易阶段异常行为的特征,提取相应的特征指标,采用主成分分
    发表于 06-01 10:43 4次下载

    有关中位数计算是什么

     中位数是数理统计中个重要的指标,它可以自动忽略数据极差带来的影响,   能够很好的评估数据,在数理统计中很常用。本文主要介绍在Python中和Mysql 中如何来求中位数,重点
    的头像 发表于 02-23 16:22 574次阅读
    有关<b class='flag-5'>中位数</b>计算是什么

    基于一种用于JumpStarter的抗离群的采样算法

    了长时间的初始化时间,以获得足够的培训数据。本文压缩感测技术引入了多元时间序列异常检测,以快速初始化。为了构建跳跃异常检测器,提出了一种名为Jumpstarter的方法。基于域特异性见
    的头像 发表于 07-05 10:30 654次阅读
    基于<b class='flag-5'>一种</b>用于JumpStarter的抗<b class='flag-5'>离群</b>的采样算法