小提琴图
小提琴图(violin plot)把一组数值的平滑密度曲线沿中轴镜像,排在类别位置上,便于在有限宽度内比较几组分布。外轮廓宽的地方表示所估计的密度较高,而不是“这一水平的确切人数”。它比箱线图保留更多形状信息,却继承了核密度估计图对带宽和边界处理的依赖。
从一条密度曲线折成左右两半
设某组十七个有序数为 ,记为 B 组。这是合成教学数据。先沿纵轴计算核密度 ,本页配图选高斯核、带宽 ;再把横向轮廓画在 ,其中 是该组在图上的中心, 只控制显示宽度。同一纵坐标左右两边采用同一个密度值,所以轮廓对称。
B 组在 0、2、6、8 都有重复,因此图的这些高度附近较宽;4 只有一次,附近较窄。由于高斯核在整个数轴上有非零尾部,图形在最小值 0 以下或最大值 8 以上仍可能延伸一小截。这段不是负数或大于八的真实观察。若数值有硬边界,例如时间不得小于零,须说明是否截断、反射或变换密度,而不能默默把平滑尾巴当成数据。
五数概括一样,内部形状仍不同
再取 A 组十七个数 ,相邻值间隔 0.5。按本例的顺序统计量位置,A 与 B 的最小值都为 0、第 5 个数为 2、第 9 个数为 4、第 13 个数为 6、最大值为 8。因此两组的五数概括相同:。单看这五个位置,很难看出 A 的观察覆盖中间多数位置,而 B 集中在少数四个位置。
两幅小提琴都画了原始点;没有它们,B 的四个宽部容易被误认成连续区间里都有许多真实记录。图中每组都缩放到相同的最大宽度,这种画法只适合比较形状,不能从轮廓面积推断样本量。本例两组恰好都是 ;若换成一组十七人、另一组一百七十人,应同时标出 ,并说明采用“等最大宽度”“等面积”还是“宽度随样本量变化”的约定。
小样本与带宽
带宽缩小时,B 组的四处集中会分得更尖,A 组的半分钟间距也可能变成一串不必要的小波纹;带宽增大时,B 的几个峰会相互合并。样本量很少时,直接排成堆叠点图或画箱线图加原始点,通常比一张看似精细的小提琴更诚实。小提琴图适合在确有足够观察值、需要比较分布形状时使用;它不会使正态性、组间差异或因果关系自动成立。
参考资料
- ggplot2:小提琴图,带宽、截尾以及
scale的面积、样本量和最大宽度约定。 - Hintze, J. L. 与 Nelson, R. D.(1998),Violin Plots: A Box Plot-Density Trace Synergism,The American Statistician,52(2):181–184。
- 相关:箱线图、核密度估计图、经验分布函数图。