数据异常值处理-下

简介: 数据异常值处理-下

大家好啊,今天承接上篇给大家介绍一下数据异常值相关知识,在原理这块需要点数学基础。


上篇文章传送门


异常值概念

最早的定义由 Hawkins 提出:“异常是在数据集中与众不同的数据,使人们怀疑这些数据并非随机产生的,而是产生于完全不同的机制;常见称呼由孤立点、离群点、噪音等。


以我近期操作的气象数据为例(见下图)


在日降雨量中出现32766数值,结合数据自带相关特征值说明,很容易理解32766不可能代表实际意义;



除说明外,还需从数据整体上判断数值是否存在异常(如x地x年x天出现百年一遇暴雨事件,会让该值偏离其他数据,但此时数据是真实的,这时需对数据进行异常值检测。)


  • 勿忘数据缺失、重复(根据具体意义核定)、数据格式不一致(参与运算的数字,格式却为文本型)。

  • 异常值有时有用,如时序数据的监控、网络入侵监测、医学诊断分析、欺诈监测、故障诊断等;

    但有时我们并不需要它,因为它会干扰正常分析结果。

异常值检测常用方法

统计分析

该方法需要一定经验,可通过简单查看最值判断是否在合理方法(亦有帖子写为:业务经验)

3σ原则/拉依达准则

(三倍标准差)

  • 前提:
    数据满足正态分布

  • 原理:
    若数据服从正态分布,落在平均值3σ之外的值为0.3%,属于极个别小概率事件

3σ原理

  • 操作:

利用excel计算数据平均值,标准差,3倍标准差等,判断数据范围是否在值域即可;可先判最值是否在该值域,从而快速筛选异常值

在Excel中使用3σ原则

  • 正态分布的参数μ和σ极易受到个别异常值的影响,从而影响判定的有效性

Z-score(同n倍标准差法则)

前提:服从正态分布(也称高斯分布),公式为

xi是一个数据点,μ是所有点xi的平均值,δ是所有点xi的标准偏差


  • 原理:
    异常值是分布尾部的数据点,因此远离数据的平均值。

    距离的远近取决于使用公式计算的归一化数据点z i的设定阈值Zthr(通常z-score绝对值>3则被认为异常值)

Zthr值一般设置为2.5、3.0和3.5

  • 操作:
    我用spss讲解哈

Spss操作示意图

Spss结果图

箱型图/箱式图

  • 原理:
    异常值被定义为超出上下边缘的值,该图可显示最值、四分位数情况

摘自网络

优点:数据无任何限制性要求如正态分布等;识别依赖于上四分数和下四分位数,因此异常值极其偏差不会影响异常值识别的上下边缘,优于3倍标准差


操作:使用excel/spss均可,注意离群值的标注

注:

  • l除以上方法,还有DBSCAN聚类方法、孤立森林等,请自行尝试

  • l异常值产生可由自然原因如数据缺测、人为因素如数据值丢失、手动输入失误、来源不可靠等造成;
    其产生原因会影响处理方法;

  • l异常值常用处理方法为:
    设为空;
    填补;
    不处理


目录
相关文章
|
7月前
|
前端开发
12 # 根据 x 值来判断是成功还是失败
12 # 根据 x 值来判断是成功还是失败
17 0
|
6天前
|
存储 弹性计算 运维
错误次数保存到变量
【4月更文挑战第30天】
12 0
|
6天前
|
存储 弹性计算 运维
错误次数保存到变量2
【4月更文挑战第30天】
4 0
|
3月前
|
算法 数据可视化 API
使用PyOD进行异常值检测
异常值检测各个领域的关键任务之一。PyOD是Python Outlier Detection的缩写,可以简化多变量数据集中识别异常值的过程。在本文中,我们将介绍PyOD包,并通过实际给出详细的代码示例
49 0
|
3月前
|
数据采集 数据挖掘 数据管理
如何发现和解决无效数据?
如何发现和解决无效数据?
32 2
|
3月前
|
小程序 区块链
血常规常见判断参数
血常规常见判断参数
16 0
|
4月前
|
网络安全
GetSmartHandleJob服务返回了"RecordNotExist"错误
【1月更文挑战第13天】【1月更文挑战第62篇】GetSmartHandleJob服务返回了"RecordNotExist"错误
17 2
|
9月前
|
数据挖掘 数据处理
人人都会点数据分析 | 了解统计指标与异常值的简单处理
人人都会点数据分析 | 了解统计指标与异常值的简单处理
判断Object中数据类型(已知类型、未知类型))
判断Object中数据类型(已知类型、未知类型))
110 0