箱线图与箱线图有何不同?

问题描述 投票:0回答:2

我想知道为什么我们在海生图书馆中有箱线图时却有箱线图。
我知道一件事是箱线图优化了表示数据的方式,特别是对于大型数据集,但我不知道为什么,除此之外,我没有任何充分的理由使用箱线图。

python matplotlib data-visualization seaborn
2个回答
27
投票

箱线图将中位数显示为中心线(第 50 个百分位数),然后将第 25 个百分位数和第 75 个百分位数显示为框边界。然后使用 IQR 方法计算离群值边界(例如,上边界为 1.5 * IQR + Q3)。 Q3 是数据的第三个四分位数或第 75 个百分位数(75% 的数据低于此值)。异常值胡须之外的异常值显示为不同的点。

Boxenplots(实际上在原始论文和 lvplot R 包中称为字母值图)以不同的方式显示分布,并且更适合较大的数据集。经典箱线图可能有太多离群值,并且不能显示尽可能多的有关分布的信息。字母值图(箱线图)以中位数(Q2,第 50 个百分位)作为中心线。向外的每个连续级别都包含剩余数据的一半。因此,从中心线开始的前两个部分包含 50% 的数据。之后,接下来的两个部分包含 25% 的数据。这种情况一直持续到我们处于异常值水平。每个级别的阴影都变浅。有 4 种计算离群值的方法(论文中描述并在 seaborn 中可用)。默认情况下,每个尾部都会有大约 5-8 个异常值。

我用Diziet的好身材来插画:

原始论文(来自包括 Hadley Wickham 在内的作者)在seaborn boxenplot 文档中链接。

公式

每层外部的数据量为

outside = 2^(-l)
,其中
l  = 1, 2, 3...
,每层内部的数据量为
inside = 1-outside
。对于前几个级别,四舍五入到 3 位有效数字:

l   inside  outside
-------------------
1    50.0%    50.0%
2    75.0%    25.0%
3    87.5%    12.5%
4   93.75%    6.25%
5  96.875%   3.125%
6  98.438%   1.562%
7  99.219%   0.781%
8  99.609%   0.391%
9  99.805%   0.195%

23
投票

根据我对描述“boxenplot”(或作者所说的“字母值图”)概念的论文的理解,目标是提供比boxplot

更好的数据分布表示(特别是当存在大量离群值时),但无需选择特定参数,例如 
violinplot
 使用的 KDE 函数,如果选择不当,可能会扭曲分布的外观

以下是三种类型图的比较:

© www.soinside.com 2019 - 2024. All rights reserved.