【问题标题】:Voronoi diagrams based on non metric distances in R基于R中非度量距离的Voronoi图
【发布时间】:2013-01-21 17:20:46
【问题描述】:

我想在 R 中绘制 voronoi 图。我在 N 维中有一组点(比如 10)。我不想使用多维缩放(MDS)。我希望使用非度量度量来绘制 voronoi 图。有没有这个实现的包?如果没有,那么您能否建议我使用这些 N 维坐标绘制曲面细分的合适方法。

【问题讨论】:

  • 你试过什么?我试过这个 library('sos');findFn('voronoi');你至少可以找到 5 或 6 种方式来做到这一点。
  • 你用谷歌搜索了吗,voronoi diagrams in Rfirst google hit: "package geometry" 有用吗?帮助我们不要走您已经走过的同一片土地。如果你有任何报道。
  • 您想将点映射到您的可视化空间(2D 或 3D)并在那里进行细分,还是要在所有 10 个维度上进行细分并可视化?我猜后者会困难得多。对于前者,我想到了 PCA。
  • 我只想在 2D 中绘制它。我不想使用 sammons 或任何其他多维缩放方法,因为我会丢失信息。
  • 您不能在不丢失信息的情况下将十个连续维度映射到两个维度。您只能影响您保留的信息和丢失的信息。

标签: r delaunay voronoi tessellation


【解决方案1】:

不清楚你的问题是不是降维 或绘制曲面细分:问题是分开的。 正如 cmets 中所建议的,您可以使用

library(sos)
???"non-metric"
???"Voronoi"

找到你需要的功能在哪里。

# Sample data: a distance matrix
d <- dist( matrix( rnorm(200), nc=10 ) )

# Dimension reduction, via non-metric multidimensional scaling
library(MASS)
r <- sammon( d )

# Plot the Voronoi tessellation
library(tripack)
x <- r$points
plot( voronoi.mosaic(x[,1], x[,2]) )
points(x, pch=13)

除了主成分分析(prcomp) 和多维缩放(MASS::isoMDSMASS:sammon), 你也可以看看 isomap (vegan::isomap), local linear embedding (lle::lle), maximum variance unfolding 或 T 分布随机邻居嵌入 (tsne::tsne): 因为其中一些(Isomap、LLE、MVU)基于“邻域图”, 这与您寻求的二维细分没有什么不同, 它们可能对您的问题更有意义。

【讨论】:

  • 没有。我不想使用多维缩放来减少尺寸。我想使用非度量距离,例如凸距离。
  • 我已经编辑了我的答案:例如,您可以使用sammon 而不是isoMDS,用于非度量多维缩放。
  • sammon的投影也是多维缩放。但我会研究你所说的其他各种预测。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-06
  • 1970-01-01
  • 1970-01-01
  • 2012-07-09
  • 2012-02-15
  • 2016-07-03
相关资源
最近更新 更多