python 箱型图算法简介

本文详细介绍了统计学中的四分位数概念,包括第一四分位数(Q1)、第二四分位数(中位数Q2)和第三四分位数(Q3),并解释了四分位距(IQR)的概念。通过四分位数可以有效地界定数据集中的异常值,异常值被定义为小于QL-1.5IQR或大于QU+1.5IQR的值,其中QL是下四分位数,QU是上四分位数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

四分位数(Quartile)是统计学分位数的一种,即把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值就是四分位数。

  • 第一四分位数 (Q1),又称"较小四分位数",等于该样本中所有数值由小到大排列后第25%的数字。

  • 第二四分位数 (Q2),又称"中位数",等于该样本中所有数值由小到大排列后第50%的数字。

  • 第三四分位数 (Q3),又称"较大四分位数",等于该样本中所有数值由小到大排列后第75%的数字。

第三四分位数与第一四分位数的差距又称四分位距(InterQuartile Range, IQR)。

异常值要在上界和下界之外,这个界定值通常定义为小于QL-1.5IQR或大于QU+1.5IQR的值。QL称为下四分位数,表示全部观察值中有四分之一的数据取值比它小;QU称为上四分位数,表示全部观察值中有四分之一的数据取值比它大;IQR称为四分位数间距,是上四分位数QU与下四分位数QL之差,其间包含了全部观察值的一半。

def detectoutliers(data:list):
    """箱型图检测异常值"""
    data = data.tolist()
    outlier_list_col = []
    # Q1为数据占25%的数据值范围
    Q1 = np.percentile(data, 25)
    # Q3为数据占75%的数据范围
    Q3 = np.percentile(data, 75)
    IQR = Q3 - Q1
    #异常值的范围
    outlier_step = 1.5 * IQR
    for n in range(len(data)):
        if float(data[n]) < Q1 - outlier_step or float(data[n]) > Q3 + outlier_step:
            outlier_list_col.append(data[n])
    # print(outlier_list_col)
    return outlier_list_col

参考博客: 

https://blog.csdn.net/u011489887/article/details/78973856

https://blog.csdn.net/marstonyjiang/article/details/76263109

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值