协方差矩阵

机器算法验证 r 自习 数据可视化 协方差
2022-04-05 06:27:53

我想知道是否有人知道任何真正有效的方法来绘制/映射/绘图/可视化协方差矩阵数据。我目前正在使用levelplot(). R这是非常基本的,并且可以完成工作,但我们正在寻找更好的东西。我们还使用R了 Shiny,以便用户和数据之间有更多的交互,但这看起来也很基本。请记住,我的矩阵是 2600x2600,非常大!

如果您有任何整洁的、有创意的想法,或者知道我会感兴趣的软件包。

3个回答

查看corrplot 包中的R. 它有几个用于可视化相关矩阵的选项。

我不确定是否有任何 R 包可以做到这一点,但我最喜欢的协方差矩阵可视化方法(而且我觉得这种方法信息量更大)正在使用相关网络。基本上,我使用 Glasso 算法修剪协方差矩阵(稍后我将解释原因),然后使用力导向算法相关性生成网络。节点的大小是方差。前任:

相关网络

大图

请记住,这是一个网络,因此轴没有任何意义;一切都与邻里和距离有关。红线是高相关,蓝线是负相关。我们可以比矩阵方法更好地发现变量簇以及二阶和三阶相关性。

我通过使用惩罚项(请参阅 Glasso 算法)来修剪协方差矩阵,原因有两个:减少估计方差,并减少提高可视化的行数。

仅供参考,以上内容是使用此 Python脚本生成的。

如果您正在使用闪亮并且有能力制作交互式工具,那么只需将协方差图开发为 ggplot 对象,以便您可以添加hoverdblclickbrush工具来缩放和显示弹出信息。

这是创建不同相关性的介绍,例如在 R 中使用 ggplot2 绘制的图:GGPlot2 CorrMatrix这是使用 Shiny 中的 ggplot 对象添加带有悬停工具的弹出窗口的介绍:Shiny Plot Hover Tool

或者,您可能会发现 Plotly 具有一些不错的功能,可用于绘制您想要的信息,它还具有易于集成的交互式工具。例如:绘图热图

如果您对 ggplot 方法有任何疑问,请随时给我留言。实际上,我最近刚刚开发了一个带有悬停和缩放工具的类似应用程序。