当前位置: 首页 > article >正文

数据分析中的异常值处理:MAD

在数据处理尤其是金融、生物统计、信号处理等中极值异常值会严重影响均值、方差、相关系数等统计量的估计并扭曲模型训练。MAD法Median Absolute Deviation绝对中位差法是一种稳健的去极值方法比基于均值和标准差的方法如3σ法则对异常值更不敏感。下面为你详细介绍MAD法的原理、计算步骤、特点及实际应用。1. 什么是MAD法MAD定义为数据点与其中位数之差的绝对值的中位数。其公式为MAD median ( ∣ X i − median ( X ) ∣ ) \text{MAD}\text{median}(\big|X_i−\text{median}(X)\big|)MADmedian(​Xi​−median(X)​)核心思想先找到数据中心位置中位数然后计算每个点偏离中心的程度再取这些偏离程度的中位数作为“典型偏离尺度”。为什么用中位数中位数本身不受极值影响因此MAD也能抵抗高达50%的异常值理论上而标准差受单个极值影响会急剧增大。2. 使用MAD法去极值的步骤通常我们会将MAD转化为与标准差可比的形式然后设定一个阈值如 n 倍修正后的MAD来判断是否为极值。步骤详解步骤1计算数据的中位数M median ( X ) M \text{median}(X)Mmedian(X)步骤2计算每个数据点与中位数的绝对偏差d i ∣ X i − M ∣ d_i |X_i − M|di​∣Xi​−M∣步骤3计算这些绝对偏差的中位数即 MADMAD median ( d 1 , d 2 , . . . , d n ) \text{MAD} \text{median} (d_1,d_2,...,d_n)MADmedian(d1​,d2​,...,dn​)步骤4将MAD转换为对正态分布下标准差的稳健估计若数据服从正态分布则σ robust ≈ 1.4826 × MAD \sigma_{\text{robust}} \approx 1.4826 \times \text{MAD}σrobust​≈1.4826×MAD其中1.4826是一个比例常数因为对于正态分布MAD ≈ 0.6745 σ \text{MAD} \approx 0.6745\sigmaMAD≈0.6745σ所以σ ≈ MAD / 0.6745 ≈ 1.4826 × MAD \sigma \approx \text{MAD} / 0.6745 \approx 1.4826 \times \text{MAD}σ≈MAD/0.6745≈1.4826×MAD。步骤5设定阈值识别并处理极值常用标准温和异常值超出中位数± 2 × 1.4826 × MAD \pm 2 \times 1.4826 \times \text{MAD}±2×1.4826×MAD极端异常值超出中位数± 3 × 1.4826 × MAD \pm 3 \times 1.4826 \times \text{MAD}±3×1.4826×MAD处理方式截断Winsorizing将超出阈值的点强制设为阈值边界值。删除直接剔除异常值适用于对样本量要求不严的场景。填充用中位数或邻近值替换谨慎使用。3. 举例说明假设数据集[10, 12, 13, 15, 16, 18, 200]200是异常值中位数 M 15排序后第4个数绝对偏差[5, 3, 2, 0, 1, 3, 185]这些偏差的中位数 $ 3 \implies \text{MAD} 3$稳健标准差≈ 1.4826 × 3 ≈ 4.4478 \approx 1.4826 \times 3 \approx 4.4478≈1.4826×3≈4.4478设阈值为3 × 4.4478 ≈ 13.34 3 \times 4.4478 \approx 13.343×4.4478≈13.34则正常范围15 ± 13.34 ⟹ ( 1.66 , 28.34 ) 15 \pm 13.34 \implies (1.66, 28.34)15±13.34⟹(1.66,28.34)200超出上界被判定为极值。可截断为28.34。4. 与3σ法的对比重要特性MAD法3σ法均值±3倍标准差中心趋势度量中位数稳健均值易受极值拉动离散度量MAD稳健标准差易受极值扩大对异常值容忍度可达50%单个极值就会严重干扰适用分布任何单峰分布默认正态修正时要求数据近似正态实际效果不易漏掉真实极值不易误判正常值易把正常值判为异常当数据非正态举例数据[1,2,2,2,3,3,100]均值≈ 16.14 ≈ 16.14≈16.14标准差≈ 35.7 ⟹ 3 σ ≈ 35.7 \implies 3σ≈35.7⟹3σ区间为[ 16.14 − 107.1 , 16.14 107.1 ] [ − 91 , 123 ] [16.14-107.1, 16.14107.1] [-91, 123][16.14−107.1,16.14107.1][−91,123]几乎包含所有值漏掉100是极值。MAD中位数2MAD1稳健σ ≈ 1.48 σ≈1.48σ≈1.483倍区间≈ [ 2 − 4.45 , 2 4.45 ] [ − 2.45 , 6.45 ] ≈[2-4.45, 24.45][-2.45, 6.45]≈[2−4.45,24.45][−2.45,6.45]正确判定100为极值。5. 注意事项样本量要求当数据量很小如10时MAD可能不稳定。非对称分布MAD法假设对称性或至少使用对称阈值对于偏态分布可考虑使用调整后的阈值或分位数法。正态性假设的修正常数1.4826仅在希望MAD近似标准差时使用。若仅用于排序截断可直接使用原始MAD倍数如3倍MAD但不乘以1.4826。多模态分布需谨慎可能将部分正常模式误判为异常。6. 代码实现Python示例importnumpyasnpdefmad_based_outlier(data,threshold3,robust_sigmaTrue): data: 一维数组 threshold: 阈值倍数如3 robust_sigma: 是否转换为与标准差可比的尺度 mediannp.median(data)madnp.median(np.abs(data-median))ifrobust_sigma:madmad*1.4826# 转换为稳健标准差upper_boundmedianthreshold*mad lower_boundmedian-threshold*mad# 截断处理data_cleanednp.clip(data,lower_bound,upper_bound)# 识别异常值位置可选outliers(datalower_bound)|(dataupper_bound)returndata_cleaned,outliers# 测试datanp.array([10,12,13,15,16,18,200])cleaned,flagmad_based_outlier(data,threshold3)print(cleaned)# 输出: [10. 12. 13. 15. 16. 18. 28.34]总结MAD法去极值的核心优势在于稳健性——它不会被少量极端值带偏因此非常适合于金融收益率序列常有极端波动生物/医学数据测量误差或个体差异大任何含有未知或大量异常值的真实数据集在实际使用中建议先可视化数据分布再选择合适的阈值通常24倍MAD或24倍稳健标准差并明确最终采用截断、删除还是替换策略。

相关文章:

数据分析中的异常值处理:MAD

在数据处理(尤其是金融、生物统计、信号处理等)中,极值(异常值) 会严重影响均值、方差、相关系数等统计量的估计,并扭曲模型训练。MAD法(Median Absolute Deviation,绝对中位差法&am…...

Windows 11系统优化终极指南:如何用Win11Debloat让你的电脑重获新生

Windows 11系统优化终极指南:如何用Win11Debloat让你的电脑重获新生 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to dec…...

如何通过社交媒体来提升网站的 SEO 表现

如何通过社交媒体来提升网站的 SEO 表现 在当今互联网时代,社交媒体已经成为了人们获取信息、交流互动的重要平台。越来越多的企业和个人发现,社交媒体不仅仅是一个交流工具,它还能为网站带来巨大的 SEO 价值。本文将探讨如何通过社交媒体来…...

Mem Reduct内存清理工具:掌握20+语言切换的终极技巧

Mem Reduct内存清理工具:掌握20语言切换的终极技巧 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduct 你是否…...

技术对业务的赋能

技术对业务的赋能 技术不只是实现需求,更是提升效率、降低成本、放大增长、控制风险,最终帮业务赚到更多、跑得更快、活得更稳。 1. 提升效率,降本增效 自动化流程:表单、审批、报表自动生成,减少人工重复劳动组件化/低…...

测试数据管理:告别“脏数据”的困扰

在软件测试的日常实践中,测试数据是驱动一切验证活动的血液。然而,这至关重要的“血液”却常常受到“脏数据”的污染,导致测试用例失效、结果失真,最终侵蚀产品质量的基石。所谓“脏数据”,并非字面意义上的污秽&#…...

文档即测试:我们如何用Markdown写自动化用例

在软件测试领域,沟通的鸿沟、文档的滞后性与维护的复杂性,一直是阻碍自动化测试效率提升的痛点。传统的测试脚本虽然功能强大,但可读性往往局限于开发与少数资深测试人员,业务方与项目管理者难以直观理解测试意图与覆盖范围。随着…...

前端日常快速开发必备工具库

一、通用工具库(任何项目都能用) lodash 最常用 JS 工具库:防抖、节流、深拷贝、数组/对象处理、判空等。dayjs 轻量时间格式化,替代 moment,体积小、API 一样。axios 请求封装、拦截器、取消请求、统一错误处理。qs 对…...

代码审查实战:如何写出有建设性的评论

在当今追求快速交付的软件开发流程中,代码审查(Code Review)已成为保障产品质量、促进知识共享和提升团队协作不可或缺的关键环节。然而,代码审查的价值并不仅仅在于“发现错误”,更在于通过有建设性的评论&#xff0c…...

AI大模型系统学习指南:掌握大模型,从入门到精通

随着技术的进步,大模型如OpenAI的GPT-4和Sora、Google的BERT和Gemini等已经展现出了惊人的能力-从理解和生成自然语言到创造逼真的图像及视频。所以掌握大模型的知识和技能变得越来越重要。 下面是学习大模型的一些建议,供大家参考。 必备基础知识 **数学…...

Simulink电气系统建模遇阻?一文详解powergui模块缺失报错与修复

1. 为什么你的Simulink电气模型总是报错? 最近在技术论坛上看到不少电气工程师吐槽:"明明是按照教程搭建的Simscape电机模型,一运行就弹出红色报错框,说什么必须包含powergui模块..." 这让我想起自己刚接触Simulink电气…...

大厂P9:从P5到P9的关键跃迁 (原始ppt)

来源:基于最近一下线下分享,一并粘贴过来分享给大家。 https://mp.weixin.qq.com/s/C0WaiedJslkg1KZwtsNmkA...

ADS124S08高精度数据采集系统实战:从寄存器配置到SPI驱动解析

1. ADS124S08核心功能与工业场景适配 ADS124S08这颗24位Δ-Σ ADC芯片在工业现场堪称"信号放大镜",特别适合处理微弱的传感器信号。我去年在开发热电偶温度监测系统时,实测发现它128倍PGA增益下能稳定捕捉到0.15μV的电压变化,这相…...

如何建立机制,制度和流程,机制,先有的机制还是先有的制度?

一、机制 vs 制度:先有谁? 结论:通常先有制度(规则),后有机制(运行方式);但实践中常交替形成。 制度(静态规则)是明文规定、硬约束:能…...

微博内容备份工具:让数字记忆永久保存的高效方案

微博内容备份工具:让数字记忆永久保存的高效方案 【免费下载链接】Speechless 把新浪微博的内容,导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 当你精心整理的旅行见闻、重要的行业观察…...

3种核心能力解锁网页资源捕获:猫抓浏览器工具全解析

3种核心能力解锁网页资源捕获:猫抓浏览器工具全解析 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓(cat-catch)是一款专业的浏览器…...

手把手教你调用MiniMax API:快速集成聊天、语音合成到你的应用(Python示例)

手把手教你调用MiniMax API:快速集成聊天、语音合成到你的应用(Python示例) 在AI技术快速落地的今天,将大模型能力集成到自己的应用中已成为开发者的刚需。MiniMax作为国内领先的大模型服务提供商,其API平台提供了对话…...

4个维度解析OpenArm:开源7自由度机械臂的创新价值与实践路径

4个维度解析OpenArm:开源7自由度机械臂的创新价值与实践路径 【免费下载链接】openarm A fully open-source humanoid arm for physical AI research and deployment in contact-rich environments. 项目地址: https://gitcode.com/GitHub_Trending/op/openarm …...

前端骨架搭建

一、安装UI与功能库在终端运行以下命令npm install arco-design/web-vuenpm install lucide-vue-nextnpm install md-editor-v3npm install pinia axios分别安装预计项目所需的UI库、图标库、编辑器、状态管理功能。检查node版本,发现其为过时的v16版本,…...

AI 术语通俗词典:置信度

置信度是统计学、机器学习、人工智能和信息检索中非常常见的一个术语。它通常用来描述一个模型、系统或方法对自己输出结果“有多确定”的程度。换句话说,置信度是在回答:这个结果看起来有多像是对的。如果说预测结果回答的是“模型给出的答案是什么”&a…...

轻松掌握XUnity自动翻译器:从入门到精通的高效无忧实用指南

轻松掌握XUnity自动翻译器:从入门到精通的高效无忧实用指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为玩不懂外语游戏而烦恼吗?XUnity自动翻译器就是你的救星&#xff…...

Pandas 操作指南(五):表格重塑与数据整合

在数据分析中,并不是所有表格一开始都具有合适的结构。有时,一张表虽然保存了所需数据,但其组织方式并不利于统计与比较;有时,信息分散在多张表中,需要先整合后分析。由此可见,分析不仅依赖于数…...

如何高效使用Zotero PDF翻译插件:完整教程与实用指南

如何高效使用Zotero PDF翻译插件:完整教程与实用指南 【免费下载链接】zotero-pdf2zh PDF2zh for Zotero | Zotero PDF中文翻译插件 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-pdf2zh Zotero PDF2zh是一款专为学术研究者设计的开源PDF翻译插件&am…...

visjs实战:5分钟搞定动态关系图,前端小白也能轻松上手

vis.js实战:5分钟从零构建动态关系图 第一次接触关系图可视化时,我被那些错综复杂却又井然有序的节点连线震撼到了。作为前端开发者,我们经常需要展示组织结构、社交网络或系统架构,而vis.js正是解决这类需求的瑞士军刀。不同于D3…...

2025最权威的五大AI写作网站实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在学术研究范畴之内,AI论文写作器件正渐渐趋于普遍,而免费的资源给研…...

2025届学术党必备的六大AI辅助写作平台横评

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 尽管人工智能技术正以迅猛之势发展着,可AI论文网站在学术写作圈子里已然摇身成为…...

2025届必备的六大降重复率工具解析与推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在人工智能技术以迅猛之势发展的当下,AI辅助毕业论文写作已然成为学术研究范畴里…...

2026届毕业生推荐的AI学术神器实测分析

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在当下的学术环境之中,那样的AI论文网站已然变成了研究辅助方面极具关键作用的工…...

2026届学术党必备的AI学术工具实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术写作范畴之内,论文AI工具已然成了提升研究效率的至关重要的辅助方式&#…...

VSCode Markdown预览字体太小?3步搞定Markdown Preview Enhanced样式自定义

VSCode Markdown预览字体太小?3步搞定Markdown Preview Enhanced样式自定义 作为一名长期使用VSCode编写技术文档的开发者,我经常遇到Markdown预览字体过小或过大的问题。特别是在使用Markdown Preview Enhanced这款强大的预览插件时,默认的字…...