多峰分布的箱须图

机器算法验证 分布 数据可视化 箱形图
2022-03-20 01:40:46

我是否可以将盒须图也用于多峰分布或仅用于单峰分布?

2个回答

问题是通常的箱线图* 通常无法指示模式的数量。尽管在某些(通常很少见)情况下,可以清楚地表明最小模式数超过 1,但更常见的是,给定的箱线图与一个或任何更大数量的模式一致。

* 建议对常用箱线图进行一些修改,这些修改更多地表明密度的变化,并且可以用于识别多种模式,但我认为这些不是这个问题的目的。

例如,虽然该图确实表明存在至少两种模式(生成的数据恰好有两种)-

在此处输入图像描述

相反,这个分布有两种非常清晰的模式,但你根本无法从箱线图中看出这一点:

在此处输入图像描述

箱线图不一定传达有关分布的大量信息。在胡须之外没有任何标记点的情况下,它们仅包含五个值,并且五个数字摘要并不能确定分布但是,上面的第一个图显示了 cdf 被充分“固定”以基本上排除单峰分布的情况(至少在样本大小为n=100) -- 在这种情况下,没有单峰 cdf 与 cdf 的约束一致,这需要在第一季度相对急剧上升,在中半部分趋于平缓(平均)小幅增长,​​然后变化上季度再次大幅上涨。

实际上,这里的图 1 (我相信这是后来发表在 [1] 中的工作论文)显示了具有相同箱线图的四个不同数据集。

我手头没有这些数据,但是制作一个类似的数据集是一件小事——如上面与五数摘要相关的链接所示,我们只需将分布限制在矩形框内五个数字摘要限制了我们。

这是 R 代码,它将生成与论文中的数据相似的数据:

x1 = qnorm(ppoints(1:100,a=-.072377))
x1 = x1/diff(range(x1))*18+10
b = fivenum(x1)  # all of the data has this five number summary
x2 = qnorm(ppoints(1:48));x2=x2/diff(range(x2))*.6
x2 = c(b[1],x2+b[2],.31+b[2],b[4]-.31,x2+b[4],b[5])
d = .1183675; x3 = ((0:34)-34/2)/34*(9-d)+(5.5-d/2)
x3 = c(x3,rep(9.5,15),rep(10.5,15),20-x3)
x4 = c(1,rep(b[2],24),(0:49)/49*(b[4]-b[2])+b[2],(0:24)/24*(b[5]-b[4])+b[4])

这是与论文中类似的显示,上面的数据(除了我在这里显示所有四个箱线图):

四个不同的直方图 - (a) 大致正常,(b) 双峰,(c) 平尾峰值,(d) 倾斜 - 但有四个相同的箱线图

在 Matejka & Fitzmaurice (2017)[2] 中有一组类似的展示,尽管他们似乎没有像 x4 那样非常倾斜的示例(他们确实有一些稍微倾斜的示例)——而且他们确实有一些三峰示例不是在[1]中;示例的基本点是相同的。

但是要当心——直方图也可能有问题事实上,我们在这里看到了它的一个问题,因为第三个“峰值”直方图中的分布实际上是明显的双峰分布;直方图 bin 宽度太宽而无法显示。此外,正如尼克考克斯在评论中指出的那样,核密度估计也可能会影响模式数量的印象(有时会抹掉模式......或者有时会暗示原始分布中不存在的小模式)。必须注意对许多常见显示的解释。

箱线图的修改可以更好地指示多模态(花瓶图、小提琴图和豆子图等)。在某些情况下,它们可能很有用,但如果我对寻找模式感兴趣,我通常会查看不同类型的显示。

当兴趣集中在位置和分布的比较上时(通常可能是偏度),箱线图会更好) 而不是分布形状的细节。如果显示多模态很重要,我建议查看更擅长显示的显示 - 显示的精确选择取决于您最希望它显示的内容。

x4但并非总是如此 -上面示例数据中的第四个数据集 (

[1]:Choonpradub, C. 和 McNeil, D. (2005),
“箱线图可以改进吗?”
Songklanakarin J. Sci。技术。, 27 :3,第 649-657 页。
http://www.jourlib.org/paper/2081800
pdf

[2]:Justin Matejka 和 George Fitzmaurice,(2017),
“相同的统计数据,不同的图表:通过模拟退火生成具有不同外观和相同统计数据的数据集”。
2017 年 CHI 计算系统中的人为因素会议论文集中( CHI '17 )。计算机协会,纽约,纽约,美国,1290–1294。DOI:https ://doi.org/10.1145/3025453.3025912

(请参阅此处的 pdf文件

使用 R 检测多模态有多种选项。以下图表的数据是使用三种模式 (-3,0,1) 生成的。箱线图明显优于其他箱线图(小提琴图看起来有不同的默认内核密度设置),但没有一个真正区分 0 和 1 模式。在计算机时代,几乎没有理由再使用箱线图了。为什么要丢信息?

在此处输入图像描述

dat <- c(rnorm(500, -3, 1), rnorm(200, 0, 1), rnorm(300, 1, 1))

par(mfrow=c(2, 2))
boxplot(dat, horizontal=TRUE, main="Boxplot")

require(beanplot)
beanplot(dat, horizontal=TRUE, main="Beanplot")

require(viopoints)
viopoints(dat, horizontal=TRUE, main="Viopoints")

require(vioplot)
vioplot(dat, horizontal=TRUE)
title("Violin Plot")