计算多面体(n 维)之间的重叠百分比
Calculating the percentage of overlap between polytopes (n-dimensions)
我必须计算出 n 维空间中多面体之间的重叠百分比,其中我唯一可用的参考源是这些多面体中的一组随机采样点。
假设下面两个R对象是5维的两个不同多胞体的两组随机采样点:
one <- matrix(runif(5000, min = 0, max = 5), ncol = 5)
two <- matrix(runif(5000, min = 0, max = 4), ncol = 5)
在这个例子中,我为第二个对象选择了一个较小的范围,所以我们知道应该有小于 10% 的重叠。如果我错了,请告诉我。
编辑:
只是为了说清楚,问题是这两个对象之间的重叠百分比是多少?
我需要一种推广到 n 维空间的方法。
这个 与我正在尝试做的有点相似,但我没能成功。
所以,最直接的方法就是使用hypervolume包。
library(hypervolume)
one <- hypervolume(matrix(runif(5000, min = 0, max = 5), ncol = 5))
two <- hypervolume(matrix(runif(5000, min = 0, max = 4), ncol = 5))
three = hypervolume_set(one, two, check.memory=FALSE)
get_volume(three)
这将为您带来音量。
hypervolume_overlap_statistics(three)
此函数将输出四种不同的指标,其中一种是 Jaccard 相似度指数。
Jaccard Similarity是两个样本集重叠的比例(交集除以并集)。
备选方案
Chris 建议将 volesti 作为替代方案。另一种选择是几何包。
他们不会直接计算比例。在这里你需要找到交集(例如geometry
中的intersectn
,volesti中的VpolytopeIntersection
),然后分别计算多面体的体积以及它们的交集,然后你需要划分体积与两个多面体的体积之和的交集。
在这里,他们也使用不同的方法来计算体积,如果你试图在 n 维中构建凸包,它可能更适合你 space。对我来说,hypervolume 是一个更好的解决方案,因为我正在做的事情更类似于 Hutchinson 从生态学和进化生物学中提出的 n 维 hypervolume 概念。
我必须计算出 n 维空间中多面体之间的重叠百分比,其中我唯一可用的参考源是这些多面体中的一组随机采样点。
假设下面两个R对象是5维的两个不同多胞体的两组随机采样点:
one <- matrix(runif(5000, min = 0, max = 5), ncol = 5)
two <- matrix(runif(5000, min = 0, max = 4), ncol = 5)
在这个例子中,我为第二个对象选择了一个较小的范围,所以我们知道应该有小于 10% 的重叠。如果我错了,请告诉我。
编辑: 只是为了说清楚,问题是这两个对象之间的重叠百分比是多少?
我需要一种推广到 n 维空间的方法。
这个
所以,最直接的方法就是使用hypervolume包。
library(hypervolume)
one <- hypervolume(matrix(runif(5000, min = 0, max = 5), ncol = 5))
two <- hypervolume(matrix(runif(5000, min = 0, max = 4), ncol = 5))
three = hypervolume_set(one, two, check.memory=FALSE)
get_volume(three)
这将为您带来音量。
hypervolume_overlap_statistics(three)
此函数将输出四种不同的指标,其中一种是 Jaccard 相似度指数。 Jaccard Similarity是两个样本集重叠的比例(交集除以并集)。
备选方案
Chris 建议将 volesti 作为替代方案。另一种选择是几何包。
他们不会直接计算比例。在这里你需要找到交集(例如geometry
中的intersectn
,volesti中的VpolytopeIntersection
),然后分别计算多面体的体积以及它们的交集,然后你需要划分体积与两个多面体的体积之和的交集。
在这里,他们也使用不同的方法来计算体积,如果你试图在 n 维中构建凸包,它可能更适合你 space。对我来说,hypervolume 是一个更好的解决方案,因为我正在做的事情更类似于 Hutchinson 从生态学和进化生物学中提出的 n 维 hypervolume 概念。