探索许多变量的散点图矩阵

机器算法验证 相关性 数据可视化 多元分析 散点图
2022-03-29 18:41:01

我正在分析具有许多参数(例如,50-200)的数据集,并且我有兴趣查看变量之间的关系(例如,根据 2 变量散点图或 2d 直方图)。然而,对于这么多参数,绘制一个 200x200 的图数组似乎是不可行的(除非我打印它并挂在墙上)。

另一方面,只做一个相关矩阵并不能给出关于 2 变量关系的所有信息。

有没有办法(库或工作流)来探索许多变量的 2 变量关系?

我对向其他人展示结果特别感兴趣(也许在一些数据预处理之后)。例如,在 JavaScript 中的一些交互,我可以从相关矩阵中看到选定字段的散点图矩阵。

通过散点图矩阵,我的意思是这样的:

在此处输入图像描述

(取自pandasplotting 博客;可用于Python / PandasRD3.js等)。

2个回答

探索变量之间的关系非常模糊,但我猜想检查这样的散点图的两个更一般的目标是:

  • 识别潜在的潜在组(变量或案例)。
  • 识别异常值(在单变量、双变量或多变量空间中)。

两者都将数据简化为更易于管理的摘要,但目标不同。识别潜在组通常会减少数据中的维度(例如通过 PCA),然后探索变量或案例是否在这个减少的空间中聚集在一起。例如,参见 Friendly (2002) 或 Cook 等人。(1995 年)。

识别异常值可以意味着拟合模型并绘制与模型的偏差(例如绘制回归模型的残差)或将数据简化为其主要组成部分,并仅突出显示偏离模型或数据主体的点。例如,一维或二维的箱线图通常只显示铰链之外的单个点(Wickham & Stryjewski, 2013)。绘制残差有一个很好的特性,它应该使图变平(Tukey,1977),因此剩余点云中关系的任何证据都是“有趣的”。这个关于 CV的问题对识别多元异常值有一些很好的建议。

探索如此大的 SPLOMS 的一种常见方法是不绘制所有单个点,而是绘制某种类型的简化摘要,然后可能是与此摘要有很大差异的点,例如置信椭圆、sagnostic 摘要 (Wilkinson & Wills, 2008)、双变量箱线图,等高线图。下面是绘制定义协方差的椭圆并叠加黄土平滑器以描述线性关联的示例。

Corrgram 椭圆
(来源:statmethods.net

无论哪种方式,具有如此多变量的真正成功的交互式绘图可能需要智能排序(Wilkinson,2005)和过滤变量的简单方法(除了刷/链接功能)。此外,任何现实的数据集都需要具有转换轴的能力(例如,在对数尺度上绘制数据,通过求根来转换数据等)。祝你好运,不要只坚持一个情节!


引文

  • Cook、Dianne、Andreas Buja、Javier Cabrera 和 Catherine Hurley。1995. 大巡演和投影追求。计算和图形统计杂志 4 (3):155-172。
  • 友好的,迈克尔。2002. Corrgrams:相关矩阵的探索性展示。美国统计学家 56 (4): 316-324。 PDF 预印本
  • 图基,约翰。1977. 探索性数据分析。艾迪生-韦斯利。阅读,马萨诸塞州
  • 威克姆、哈德利和丽莎 Stryjewski。2013. 40 年的箱线图
  • 威尔金森、利兰和格雷厄姆威尔斯。2008. 不可知论分布。计算和图形统计杂志 17 (2): 473-491。
  • 威尔金森,利兰。2005.图形语法施普林格。纽约,纽约。

您可以考虑使用pairsD3 R包中的闪亮接口,它提供了一种与散点图矩阵交互的方法。

鸢尾花数据集的示例:

install.packages("pairsD3")
require("pairsD3")
shinypairs(iris)

来源:https ://github.com/garthtarr/pairsD3