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


10

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

另一方面,仅执行相关矩阵并不能给出有关2变量关系的所有信息。

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

我特别想向他人展示结果(也许经过一些数据预处理之后)。例如,在JavaScript中具有交互性的东西,可以看到相关矩阵中选定字段的散点图矩阵。

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

在此处输入图片说明

(摘自pandasplotting博客;在Python / PandasRD3.js等中可用)。


4
您没有清楚说明自己的追求。您是否想看到每个数据点的云?您想一次看到所有二元面吗?
ttnphns

@ttnphns我想查看所有数据点或以某种聚合形式(例如2d直方图)查看它们。我不需要看到所有事物都一次(因为对于<15个变量有意义,但对于200个变量却没有意义)。是的,我知道这个问题有些悬而未决。一个封闭的版本是“当鼠标悬停在相关矩阵上的各个像素上时,是否存在一个JS库来显示散点图和直方图?还是我应该写一个?一些更好的工作流来处理问题。
Piotr Migdal

可以以olap多维数据集的形式组织散点图矩阵,这样您一次只能看到一个或几个图,并且可以在它们之间切换。不幸的是,我不知道执行图形化olap多维数据集的特定程序或代码。
ttnphns

Answers:


7

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

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

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

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

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

Corrgram椭圆
(来源:statmethods.net

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


引文

  • 库克,黛安妮,安德烈亚斯·布亚,哈维尔·卡布雷拉和凯瑟琳·赫尔利。1995年。进行大型巡回演出和投影。计算和图形统计杂志4(3):155-172。
  • 友好,迈克尔。2002年。Corrgrams:相关矩阵的探索性显示。美国统计学家56(4):316-324。 PDF预印本
  • 图基,约翰。1977年。探索性数据分析。艾迪生-韦斯利。阅读,马萨诸塞州。
  • Wickham,Hadley和Lisa Stryjewski。2013 40年的箱线图
  • 威尔金森,利兰&格雷厄姆·威尔斯。2008。计算与图形统计杂志17(2):473-491。
  • 利兰威尔金森。2005。图形语法。施普林格。纽约,纽约。

1
谢谢!我的目标是运行PCA 之前先研究数据,因为变量可以非线性方式关联并且需要重新缩放(或其他处理)。
Piotr Migdal

这样,示例corrgram椭圆+黄土平滑器仍然应该是相关的(或使用其他度量多边形(如双变量箱线图来更改covar。椭圆),并可能有助于ID非线性关联。一个很好的跟进问题可能是在通过PCA(或类似方法)减少数据后是否有可能ID非线性关联。
Andy W

1

您可以考虑使用pairsD3 R软件包中的闪亮界面,该界面提供了一种与散点图矩阵进行交互的方式。

虹膜数据集的示例:

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.