快速理解箱型图!!!

箱形图

箱形图(英文:Box plot),又称为盒须图、盒式图、盒状图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因型状如箱子而得名。在各种领域也经常被使用,常见于品质管理,快速识别异常值。

箱形图最大的优点就是不受异常值的影响,能够准确稳定地描绘出数据的离散分布情况,同时也利于数据的清洗。

想要搞懂箱形图,那么一定要了解...

五大因“数”

我们一组序列数为例:12,15,17,19,20,23,25,28,30,33,34,35,36,37讲解这五大因“数”

1、下四分位数Q1

(1)确定四分位数的位置。Qi所在位置=i(n+1)/4,其中i=1,2,3。n表示序列中包含的项数。

(2)根据位置,计算相应的四分位数。

例中:

Q1所在的位置=(14+1)/4=3.75,

Q1=0.25×第三项+0.75×第四项=0.25×17+0.75×19=18.5;

2、中位数(第二个四分位数)Q2

中位数,即一组数由小到大排列处于中间位置的数。若序列数为偶数个,该组的中位数为中间两个数的平均数。

例中:

Q2所在的位置=2(14+1)/4=7.5,

Q2=0.5×第七项+0.5×第八项=0.5×25+0.5×28=26.5

3、上四分位数Q3

计算方法同下四分位数。

例中:

Q3所在的位置=3(14+1)/4=11.25,

Q3=0.75×第十一项+0.25×第十二项=0.75×34+0.25×35=34.25。

4、上限

上限是非异常范围内的最大值。

首先要知道什么是四分位距如何计算的?

四分位距IQR=Q3-Q1,那么上限=Q3+1.5IQR

5、下限

下限是非异常范围内的最小值。

下限=Q1-1.5IQR

讲了这么多的“数学知识”,那么箱形图到底如何通过BDP应用到实际的工作呢?我们还是用一个实例来帮助大家理解。

现在有“2017年各季度各地区分公司销售业绩”工作表,我们想要找出各季度哪些分公司业绩属于不正常范围内。

数据示例如下图:

BDP箱形图结果:

从上图可以清晰的找出异常点,例如第二季度北京分公司的销售额为22147元,该值比上限10759元还要大,所以定义为异常值。

箱形图的价值

1.直观明了地识别数据批中的异常值

上文讲了很久的识别异常值,其实箱线图判断异常值的标准以四分位数和四分位距为基础,四分位数具有一定的耐抗性,多达25%的数据可以变得任意远而不会很大地扰动四分位数,所以异常值不会影响箱形图的数据形状,箱线图识别异常值的结果比较客观。由此可见,箱线图在识别异常值方面有一定的优越性。

2.利用箱线图判断数据批的偏态和尾重

对于标准正态分布的样本,只有极少值为异常值。异常值越多说明尾部越重,自由度越小(即自由变动的量的个数);

而偏态表示偏离程度,异常值集中在较小值一侧,则分布呈左偏态;异常值集中在较大值一侧,则分布呈右偏态。

3.利用箱线图比较几批数据的形状

同一数轴上,几批数据的箱线图并行排列,几批数据的中位数、尾长、异常值、分布区间等形状信息便昭然若揭。如上图,可直观得看出第三季度各分公司的销售额大体都在下降。

但箱形图也有他的局限性,比如:不能精确地衡量数据分布的偏态和尾重程度;对于批量比较大的数据,反映的信息更加模糊以及用中位数代表总体评价水平有一定的局限性。

### 箱型图的概念 箱形图(Box-plot),是一种用来显示一组数据分散情况资料的统计图。这种图形因形状像箱子而得名,在多个领域广泛应用,特别是在质量管理和数据分析方面。其核心用途在于反映原始数据分布的特点,并支持不同组间的数据分布特性对比[^2]。 具体来说,箱形图通过五个重要的统计数据点——最小值、第一四分位数(Q1)、中位数(Median/Q2)、第三四分位数(Q3)以及最大值来描绘数据集的整体趋势和离散程度。这使得观察者能够快速理解数据集中是否存在异常值(outliers),并直观感受到数据的核心位置及变异性。 ### 使用 `matplotlib` 和 `seaborn` 库绘制箱型图的方法 #### Matplotlib 实现方式 对于简单的单变量或多变量箱线图绘制,可以采用如下 Python 代码片段: ```python import matplotlib.pyplot as plt data = [[...], [...]] # 替换为实际的一维或二维数组形式的数据 plt.boxplot(data) plt.show() ``` 此段代码展示了如何利用 `matplotlib` 的 `boxplot()` 函数创建基础版的箱线图。为了增强图表的表现力,还可以调整诸如颜色、线条宽度等视觉属性,甚至结合其他绘图工具进一步定制化设计[^1]。 #### Seaborn 实现方式 Seaborn 是基于 Matplotlib 构建的一个高级接口库,提供了更加简洁易用且美观大方的数据可视化解决方案。以下是使用 seaborn 创建更复杂箱线图的例子: ```python import seaborn as sns sns.set_theme(style="whitegrid") tips = sns.load_dataset("tips") # 加载内置的小费数据集作为演示材料 ax = sns.boxplot(x=tips["total_bill"]) ``` 这段代码不仅实现了基本的功能需求,还自动应用了一套预设的主题风格,让最终呈现出来的图像既专业又吸引眼球。 ### 自定义与扩展 无论是哪种实现途径,都可以借助额外参数来自由调节外观细节,比如改变填充色、边框样式或是添加标签说明等操作。更重要的是,当面对更为复杂的场景时,如需同时展现多维度的信息或者与其他类型的图表组合展示,则应考虑综合运用这些强大的第三方库所提供的丰富资源来进行创新性的探索[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值