四分位距IQR_ interquartile range

四分位距IQR_ interquartile range

  • 1 IQR(Interquartile Range)四分位距的含义
  • 2 如何计算IQR
  • 参考:

1 IQR(Interquartile Range)四分位距的含义

官方定义: 四分位距(interquartile range, IQR),又称四分差。是描述统计学中的一种方法,以确定第三四分位数第一四分位数的差距。与方差、标准差一样,表示统计资料中各变量分散情形,但四分差更多为一种稳健统计。

盒须图使用四分位数(将数据划分为大小相等的四组点)来绘制数据的形状。盒子代表第 1 个和第 3 个四分位数,它们等于第 25 个和第 75 个百分点。盒子内的线代表第二个四分位数,即中间值。

四分位距(该离群值检测方法正是因此而得名)是第一个和第三个四分位数(盒子边缘)之间的间距。Tukey 认为,如果数据点比第一个四分位数低 1.5 乘 IQR,或比第三个四分位数高 1.5 乘 IQR,就属于离群或极度离群。在经典的盒须图中,须线一直延伸到界限内的最后一个数据点。

四分位距 (IQR) 是一种衡量变异性的方法,它通过将数据集划分为四分位数来实现。四分位数将一个按等级排序的数据集划分为四个相等的部分。即 Q1(第 1 个四分位数)、Q2(第 2 个四分位数)和 Q3(第 3 个四分位数)。IQR 定义为 Q3–Q1,位于 Q3+1.5IQR 或 Q1-1.5IQR 之外的数据被视为离群值。

image.png

2 如何计算IQR

计算 IQR:分步指南 要计算四分位距,请按照下列步骤操作:

第 1 步:按升序排列数据首先按升序排列数据集。
第 2 步:求中位数Q2确定数据集的中位数,即中间值。 如果数据集有奇数个值,则中位数是中间的值。 对于偶数个值,取中间两个值的平均值。
步骤 3:找到下半部分 (Q1) 的中位数 确定数据集下半部分的中位数,排除总体中位数。 这是第一个四分位数 (Q1)。
步骤 4:找到上半部分的中位数 (Q3) 同样,找到数据集上半部分的中位数,排除整体中位数。 这是第三个四分位数 (Q3)。
第 5 步:**计算 IQR **最后,从 Q1 中减去 Q3,即可得到四分位数间距:IQR = Q3 – Q1

举例说明:图表中的数据:

数列参数四分差
1102
2104
3105Q1
4107
5108
6109Q2(中位数)
7110
8112
9115Q3
10118
11118



从这个图示中,我们可以算出四分差的距离为115−105=10

用python代码实现:
用python实现当然可以一个一个循环去计算,但是python的numpy库提供了非常好用的封装函数,这里就不再去一个一个计算了,而是直接使用numpy库进行处理了,实现代码如下

import numpy as npdef get_iqr_data(datas):q1=np.quantile(datas,0.25)q2=np.median(datas)q3=np.quantile(datas,0.75)iqr=q3-q1down=q1-1.5*iqrup=q3+1.5*iqrreturn [q1,q2,q3,iqr,down,up]if __name__=="__main__":x=[1,2,3,4,5,6,7,8,9,10,11]rs=get_iqr_data(x)print(rs)

执行结果如下:

[3.5, 6.0, 8.5, 5.0, -4.0, 16.0]

通过这里的执行结果可以看住,在数据列表 [1,2,3,4,5,6,7,8,9,10,11] 中,四分之一的点的数据为3.5,这是因为总共11个数,四分之一落在了两个数之间,四分之二的点恰好就是第6个数了,四分之三的点又落在了两个数据之间,所以是8.5,那么这里IQR就是q3-q1即5.0,通过公式计算此时有效范围为(-4.0,16.0),超出此范围的数据为无效数据。

参考:

https://blog.csdn.net/redrose2100/article/details/130211842
https://zh.wikipedia.org/wiki/%E5%9B%9B%E5%88%86%E4%BD%8D%E8%B7%9D

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/478021.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解4大C语言内存函数【超详细建议点赞收藏】

目录 1. memcpy----内存拷贝1.1 函数介绍1.2 函数使用1.3 模拟实现 2. memmove----重叠内存的数据拷贝2.1 函数介绍2.2 函数使用2.3 模拟实现 3. memcmp----内存比较3.1 函数介绍3.2 函数使用 4.memset----内存设置4.1 函数介绍4.2 函数使用 注意:以下4个内存函数在…

什么是 Sepolia 测试网以及如何从 Faucet 获取 Sepolia ETH

如何通过水龙头领取 Sepolia 测试网 ETH 代币 Sepolia 测试网需要 Sepolia ETH 代币来测试即将推出的 dApp,然后再在以太坊主网上线。您可以从 Alchemy、QuickNode 和 Infura 水龙头领取 Sepolia 测试网 ETH。 要点 您可以从官方水龙头和其他一些独立水龙头获取 S…

面试题:链表相交

链表相交 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 思路 这个题目有2个思路,我先说容易想到的思路 对齐链表…

有人总结了浅色系可视化大屏优点,我要是小白,我就信了。

浅色系适合在电脑上展示,不适合在大屏展示,有人总结了浅色系大屏优点,我捡要点说下。 浅色系可视化大屏幕在数据可视化中具有多个优点: 首先,浅色系色彩明亮清新,能够提升人们的视觉感受和心情&#xff0c…

[Flink04] Flink部署实践

Flink部署支持三种模式:本地部署、Standalone部署、Flink on Yarn部署。 独立(Standalone)模式由Flink自身提供资源,无需其他框架,这种方式降低了和其他第三方资源框架的耦合性,独立性非常强。但Flink 是大…

遇到问题(二) 中文乱码

例如这样: 原本是这样: 解决方法:点击扳手工具设置——Editor——Encoding——选chinese GB2312(有的是UTF-8)

同学在外包干了两年的点点点,24岁人就快废了

前言 简单的说下,我大学的一个同学,毕业后我自己去了自研的公司,他去了外包,快两年了我薪资、技术各个方面都有了很大的提升,他在外包干的这两年人都要废了,技术没一点提升,学不到任何东西&…

在ubuntu中制作ubuntu的U盘启动盘

概要: 本篇演示在ubuntu22.04中制作ubuntu22.04的U盘启动盘 一、下载ubuntu22.04的iso文件 访问ubuntu官网https://ubuntu.com自行下载ubuntu官网 二、制作U盘启动盘 打开系统自带软件Startup Disk Creator 软件会自动检测iso文件和U盘 点击Make Startup Disk…

Java 线程通信模型小案例

Java 线程通信模型小案例 package com.zhong.thread.usethread;import java.util.ArrayList; import java.util.List;/*** ClassName : CookAndFood* Description : 锁的应用厨师和包子问题* Author : zhx* Date: 2024-02-19 15:43*/ public class CookAndFood {public static …

一分钟学会如何查看Python内置函数的用法及其源码

在用Python进行各种分析的时候,我们会用到各种各样的函数,比如,我们用SQL时,经常使用join、max等各种函数,那么想看Python是否有这个函数,这个时候可能大部分人会百度,那么如何不使用百度&#…

【设计模式】4、策略模式

文章目录 一、问题二、解决方案2.1 真实世界的类比2.2 策略模式结构2.3 适用场景2.4 实现方式2.5 优缺点2.6 与其他模式的关系 三、示例代码3.1 go3.2 rust3.2.1 通过 trait 实现3.2.2 function closure 策略模式是一种行为设计模式,它能定义一系列算法&#xff0c…

第五次作业:LMDeploy 的量化和部署

参考文档:https://github.com/InternLM/tutorial/blob/main/lmdeploy/lmdeploy.md 基础作业: 使用 LMDeploy 以本地对话、网页Gradio、API服务中的一种方式部署 InternLM-Chat-7B 模型,生成 300 字的小故事(需截图) …