以图形方式表示大量配对数据点的好方法是什么?

机器算法验证 广义线性模型 数据可视化 造型 解释 配对数据
2022-03-13 16:08:48

在我的领域中,绘制配对数据的常用方法是一系列细斜线段,将其与两组的中位数和 CI 重叠:

在此处输入图像描述

然而,随着数据点的数量变得非常大(在我的情况下,我有大约 10000 对),这种图变得更难阅读:

在此处输入图像描述

降低 alpha 会有所帮助,但仍然不是很好。在寻找解决方案时,我遇到了这篇论文,并决定尝试实现“平行线图”。同样,它适用于少量数据点:

在此处输入图像描述

很大时,更难让这种情节看起来很好:N

在此处输入图像描述

我想我可以分别显示两组的分布,例如使用箱线图或小提琴,并在顶部绘制一条带有误差线的线,显示两个中位数/CI,但我真的不喜欢这个想法,因为它不会传达数据的配对性质。

我也不太热衷于 2D 散点图的想法:我更喜欢更紧凑的表示形式,理想情况下,两组的值沿同一轴绘制。为了完整起见,以下是二维散点图的数据:

在此处输入图像描述

有谁知道用非常大的样本量表示配对数据的更好方法?你能把我链接到一些例子吗?

编辑

抱歉,我在解释我在寻找什么方面显然做得不够好。是的,2D 散点图确实有效,并且有很多方法可以改进它以便更好地传达点的密度 - 我可以根据核密度估计对点进行颜色编码,我可以制作 2D 直方图,我可以在点等上面绘制轮廓,等等......

但是,我认为这对于我试图传达的信息来说太过分了。我并不真正关心显示点本身的 2D 密度——我需要做的就是以尽可能简单和清晰的方式表明“条”的值通常大于“点”的值,并且不会丢失数据的基本配对性质。理想情况下,我想沿着相同的而不是正交的轴绘制两组的配对值,因为这样可以更容易地在视觉上比较它们。

也许没有比散点图更好的选择,但我想知道是否有任何可能的替代方案。

4个回答

鉴于我对您的目标的理解,我只需计算成对差异(bars - dots),然后在直方图或核密度估计图中绘制这些差异。您还可以添加 (1) 对应于零差异 (2) 任何百分位数选择的垂直线的任意组合。

这将突出显示数据的哪些部分bars超过dots,以及通常观察到的差异是什么。

(我假设您对在同一图中显示 和 的实际原始值不感兴趣。barsdots

人们还可以绘制置信区间或后置可信区间,以表明这些差异是否显着。(H/T @MrMeritology!)

有了这么多对,您就有可能更深入地研究结构,例如差异取决于“起点”yByAyA

你可以拟合一个像 这样的模型 ,你甚至可以添加一个二次项 或者您可以使用广义加法模型(或回归样条)用样条替换线性+二次项。

yB=μ+offset(yA)+Δ(yAy¯A)+ϵ
+Δ2(yAy¯A)2

以图形方式,您可以显示您所显示的线条,减少 alpha 因子 (*),可能通过仅显示随机线条样本来进一步减少。然后你可以根据斜率给线条着色......

对于 Nick Cox 在评论中提到的 Bland-Altman 图,请参阅例如每个人具有多个观察值的方法之间的协议示例 或查看标签.

(*) 这里的 alpha 因子是使绘图中的点透明的图形参数,因此第一个绘制的点不会完全被后来的过度绘制所掩盖。

我更喜欢二维散点图。我会用浅灰色绘制参考线,以便在拥挤的区域增加对比度。为了缓解拥挤,绘制没有边框的标记,进一步降低 alpha,减小标记大小。

也就是说,如果您对典型对比对分布的翼更感兴趣,请尝试用线图绘制 的累积和dots与 的累积和bars情节仍然是二维的,但墨水少得多。为了节省绘图区域,您可以将轨迹旋转 45°,以便框架用作参考方向。

该图还将显示数据中的任何趋势。如果已知该过程是静止的,则通过例如它们的几何平均数对这些对进行排序sqrt(bars*dots)

我建议您绘制中位数和四分位数的线条,或者您想要的尽可能多的百分位数。中位数可能比其他百分位线更粗/更易辨别。这将有助于保留查看数据在分布中的行为方式的能力,而不会影响您所在领域当前使用的绘图的简单性和熟悉度。

此外,对于如此大的样本量,带有误差线的均值或中值趋势可能就足够了,因为您将如此彻底地享受中心极限定理。生物医学领域也依赖于那些成对的线图,但这种情况经常发生,因为样本量可能在 10-20 的数量级,因此可视化潜在的杠杆点很重要。