IQR法(四分位距法)

简介: IQR法(四分位距法)

IQR法,即四分位距法,是一种用于识别异常值的统计技术。它基于数据的分位数,特别是第一四分位数(Q1)和第三四分位数(Q3),以及它们之间的距离(即四分位距,IQR)。IQR是描述统计学中衡量数据分散程度的一个方法,它表示在不考虑数据极端值的情况下,数据集中中间50%的数据的范围。

四分位距(IQR)的计算步骤如下:

  1. 将数据集按照数值大小排序。
  2. 计算第一四分位数(Q1),即数据集中25%的数据点的小值。
  3. 计算第三四分位数(Q3),即数据集中75%的数据点的小值。
  4. 计算IQR:( IQR = Q3 - Q1 )。

识别异常值:

一旦有了IQR,就可以设定异常值的阈值,通常使用以下规则:

  • 低于 ( Q1 - 1.5 \times IQR ) 或高于 ( Q3 + 1.5 \times IQR ) 的数据点被认为是异常值。

这个1.5的系数是一个常用的选择,但有时也会根据具体情况使用不同的系数,例如1.0或3.0。

IQR法的优点:

  • 不受极端值的影响,因为它使用的是分位数而不是平均值。
  • 容易理解和计算。
  • 对于不对称数据分布,它通常比基于标准差的方法更有效。

IQR法的缺点:

  • 对于具有重尾分布的数据,可能会将实际的正常值误判为异常值。
  • 在数据集非常小的情况下,四分位数可能会受到少数数据点的强烈影响。

应用示例:

假设有一个数据集 [12, 15, 18, 20, 22, 25, 27, 100]:

  1. 排序后的数据集:[12, 15, 18, 20, 22, 25, 27, 100]。
  2. ( Q1 = 18 )(数据集中第50%的数据点小值)。
  3. ( Q3 = 25 )(数据集中第75%的数据点小值)。
  4. ( IQR = Q3 - Q1 = 25 - 18 = 7 )。
  5. 异常值阈值:( Q1 - 1.5 \times IQR = 18 - 1.5 \times 7 = 5.5 ) 和 ( Q3 + 1.5 \times IQR = 25 + 1.5 \times 7 = 38.5 )。
  6. 根据阈值,数据集中的100将被识别为异常值。

IQR法是一种非常实用的工具,可以帮助我们在数据清洗过程中识别和处理异常值。

相关文章
|
机器学习/深度学习 算法 数据可视化
JAMA | 机器学习中的可解释性:SHAP分析图像复刻与解读
JAMA | 机器学习中的可解释性:SHAP分析图像复刻与解读
5450 1
|
机器学习/深度学习 算法 搜索推荐
精确率(Precision)和召回率(Recall)
精确率(Precision)和召回率(Recall)是用于评估分类模型性能的指标。它们通常用于二分类问题,例如判断一个样本是正例(Positive)还是负例(Negative)。
8505 0
|
8月前
|
机器学习/深度学习 数据可视化 算法
Python | 网格搜索参数优化的XGBoost+SHAP可解释性分析回归预测及可视化算法
本教程将推出Python实现的XGBoost回归预测,结合网格搜索调参与SHAP可解释性分析,涵盖数据处理、模型训练、可视化及结果保存,助力科研论文提升模型可解释性,附完整代码与保姆级环境配置指南。
1210 1
|
数据可视化
如何使用四分位距方法来识别数据中的异常值?
如何使用四分位距方法来识别数据中的异常值?
|
机器学习/深度学习 安全 算法
《联邦学习:打破数据孤岛,实现隐私保护下的跨机构协作》
联邦学习是一种分布式机器学习技术,核心理念为“数据不动模型动”,即在不交换原始数据的前提下,各机构基于本地数据独立训练模型,并通过加密方式上传模型参数更新至中央服务器进行聚合,从而提升全局模型性能。它分为横向、纵向和联邦迁移学习三种类型,分别适用于不同场景下的数据协作。联邦学习有效解决了数据隐私保护与跨机构协作的难题,在医疗、金融等领域展现出巨大潜力,推动了智能化变革。尽管仍面临通信效率、安全性和可解释性等挑战,但其前景广阔。
1810 25
|
Java C# C++
如何简单地理解Python中的if __name__ == '__main__'
本文介绍了Python中`__name__ == '__main__'`的作用和原理,解释了它如何作为程序入口控制代码执行。当.py文件直接运行时,`if __name__ == '__main__'`下的代码块会被执行;而当文件作为模块被导入时,该代码块不会执行。此外,文章还探讨了`__name__`变量在包结构中的作用,以及`__main__.py`文件与`python -m`命令的关系,详细说明了不同运行方式对模块路径的影响。
1321 18
|
数据采集 存储 安全
Pandas数据类型转换:astype与to_numeric
在数据分析中,Pandas的`astype`和`to_numeric`是两种常用的数据类型转换方法。`astype`可将DataFrame或Series中的数据转换为指定类型,支持单一列或多列转换;常见问题包括无效字面量和精度丢失。`to_numeric`主要用于字符串转数值,容错能力强,能自动识别缺失值并优化内存占用。掌握这两种方法及其错误处理技巧,可提高数据分析的效率与准确性。
1200 23
|
Python
Python实现因子分析(附案例实战)
Python实现因子分析(附案例实战)
3358 0
Python实现因子分析(附案例实战)
|
数据挖掘 Python
四分位距方法
四分位距方法