数据异常值处理-下

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

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


上篇文章传送门


异常值概念

最早的定义由 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异常值常用处理方法为:
    设为空;
    填补;
    不处理


目录
相关文章
|
Ubuntu 数据安全/隐私保护 芯片
M1/M2芯片Parallels Desktop虚拟机安装Ubuntu系统
M1/M2芯片Parallels Desktop虚拟机安装Ubuntu系统
1010 0
M1/M2芯片Parallels Desktop虚拟机安装Ubuntu系统
|
10月前
|
机器学习/深度学习 存储 人工智能
人工智能的伦理困境与挑战
在本文中,我们将探讨人工智能技术的快速发展所带来的一系列伦理问题和挑战。随着AI技术的不断进步和应用范围的扩大,如何确保其发展符合道德标准、保护个人隐私以及避免潜在的社会不公成为了亟待解决的问题。本文旨在通过分析当前AI领域面临的主要伦理困境,并提出可能的解决方案或缓解措施,以促进更加负责任地使用和发展人工智能技术。
955 1
|
12月前
|
数据采集 机器学习/深度学习 算法
利用Python进行数据预处理的实用指南
【9月更文挑战第15天】在探索数据科学之旅时,数据预处理是不可或缺的一环。本文将引导你通过Python实现数据清洗、转换和归一化等关键步骤,确保你的数据集为后续分析做好准备。我们将一起学习如何去除空值、异常值,以及如何标准化数据格式,从而让数据变得更加“乖巧”。让我们开始吧,将原始数据转化为洞察力量的旅程!
|
存储 负载均衡 API
部署大模型API的实战教程
部署大模型API的实战教程可以分为以下步骤:
|
12月前
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
安装Git、配置用户信息、生成SSH密钥以及在Gitee上创建项目仓库等。
207 0
|
数据采集 机器学习/深度学习 数据挖掘
从混乱到有序,Python数据清洗术,让你的数据分析之路畅通无阻!
【7月更文挑战第20天】数据清洗在数据分析中至关重要,它确保数据质量,影响分析准确性和效率。Python的Pandas库是数据预处理的得力工具。基本步骤包括:导入数据(如`pd.read_csv()`)、检查概况(`head()`, `info()`, `describe()`)、处理缺失值(`fillna()`或`dropna()`)、转换数据类型(`pd.to_numeric()`)、去除重复项(`drop_duplicates()`)、排序和筛选数据,以及对分类变量编码(如使用`LabelEncoder`)。
202 3
|
数据采集 Python 数据可视化
[Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念](三)
[Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念](三)
|
NoSQL Java 大数据
介绍redis分布式锁
分布式锁是解决多进程在分布式环境中争夺资源的问题,与本地锁相似但适用于不同进程。以Redis为例,通过`setIfAbsent`实现占锁,加锁同时设置过期时间避免死锁。然而,获取锁与设置过期时间非原子性可能导致并发问题,解决方案是使用`setIfAbsent`的超时参数。此外,释放锁前需验证归属,防止误删他人锁,可借助Lua脚本确保原子性。实际应用中还有锁续期、重试机制等复杂问题,现成解决方案如RedisLockRegistry和Redisson。
162 0
|
SQL 机器学习/深度学习 自然语言处理
【科研新手指南2】「NLP+网安」相关顶级会议&期刊 投稿注意事项+会议等级+DDL+提交格式
【科研新手指南2】「NLP+网安」相关顶级会议&期刊 投稿注意事项+会议等级+DDL+提交格式
1043 0