【数据处理】箱线图(boxplot)的绘制

您所在的位置:网站首页 excel箱线图制作 【数据处理】箱线图(boxplot)的绘制

【数据处理】箱线图(boxplot)的绘制

2023-03-12 08:24| 来源: 网络整理| 查看: 265

1.概述

boxplot是在1977年由美国的统计学家约翰·图基(John Tukey)发明的,其包含五个基本元素:

最小值(Q0,第0四分位): 去除离群点后的最小数值最大值(Q4): 去除离群点后的最大数值中位数: 样本中所有数值由小到大排列后第50%的数字第一四分位数 (Q1): 又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。第三四分位数 (Q3): 又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。

除了上述5个基本元素,四分位距(InterQuartile Range,IQR)也常被用于boxplot的构造,其定义为第三四分位数与第一四分位数的差值,即 IQR=Q3-Q1。

boxplot的图形如下所示,其由箱(box)与须(whiskers )构成,其中,箱的上下边界由Q3、Q1构成,箱的中间用中位数隔开。须(whiskers )的上下边界则有多种变体。

一种标准的须定义方式为:数据集中的最大最小值; 另外也有:采用上限=Q3+1.5IQR,下限=Q1-1.5IQR,作为须的上下边界,在该边界外的点视为异常值。 此外还有例如如下几种须的边界定义方式:

The minimum and the maximum value of the data setOne standard deviation above and below the mean of the data setThe 9th percentile and the 91st percentile of the data setThe 2nd percentile and the 98th percentile of the data set 2.计算

前提:对数据进行排序

设数据长度为n

中位数Q2:就是一般的统计意义上的中位数计算(n为奇数取中间,n为偶数取中间两值的平均值)第一四分位数Q1: 计算第一四分位置pos,再计算第一四分位数值。其中,第一四分位位置的计算方式并无统一标准,但通常有两种计算方式:方式一: p o s = 1 + n − 1 4 pos=1+\frac{n-1}{4} pos=1+4n−1​;方式二: p o s = n + 1 4 pos=\frac{n+1}{4} pos=4n+1​。四分位数值计算为简单的线性插值。第三四分位数Q3: 计算第三四分位置pos,再计算第三四分位数值。其中,第三四分位位置的计算方式并无统一标准,但通常有两种计算方式:方式一: p o s = 1 + 3 ∗ ( n − 1 ) 4 pos=1+\frac{3*(n-1)}{4} pos=1+43∗(n−1)​;方式二: p o s = 3 ( n + 1 ) 4 pos=\frac{3(n+1)}{4} pos=43(n+1)​。四分位数值计算为简单的线性插值。 3.例子(以方式一为例):

数据为:num=[1,2,3,4,5,6,7,8],数据长度n=8

中位数Q2=(num[4]+num[5])/2=(4+5)/2=4.5第一四分位数Q1: p o s = 1 + n − 1 4 = 2.75 pos=1+\frac{n-1}{4}=2.75 pos=1+4n−1​=2.75; Q 1 = n u m [ 2 ] + 0.75 ∗ ( n u m [ 3 ] − n u m [ 2 ] ) = 2 + 0.75 ∗ ( 2 − 1 ) = 2.75 Q1 = num[2]+0.75*(num[3]-num[2]) =2+0.75*(2-1)=2.75 Q1=num[2]+0.75∗(num[3]−num[2])=2+0.75∗(2−1)=2.75第三四分位数Q3: p o s = p o s = 1 + 3 ∗ ( n − 1 ) 4 = 6.25 pos=pos=1+\frac{3*(n-1)}{4}=6.25 pos=pos=1+43∗(n−1)​=6.25; Q 3 = n u m [ 6 ] + 0.25 ∗ ( n u m [ 7 ] − n u m [ 6 ] ) = 6 + 0.25 ∗ ( 7 − 6 ) = 6.25 Q3= num[6]+0.25*(num[7]-num[6]) =6+0.25*(7-6)=6.25 Q3=num[6]+0.25∗(num[7]−num[6])=6+0.25∗(7−6)=6.25

代码: 中位数、第一四分位数Q1、第三四分位数Q3,计算过程如上所示,pandas中须的展示为:利用Q3+1.5IQR、Q1-1.5IQR确定异常值,将剩余数值中的最大最小值作为须得上下界:

import pandas as pd num =[1,2,3,4,5,6,7,8] df = pd.DataFrame(num) boxplot = df.boxplot() print(df.describe())

import pandas as pd num =[-5,2,3,4,5,6,7,13] df = pd.DataFrame(num) boxplot = df.boxplot() print(df.describe())

参考:wiki



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3