楼主: 15182952842
2144 4

[问答] 如何求N个hypervolume(多维体积)的交集、并集以及各多维体积的独有体积。 [推广有奖]

  • 1关注
  • 1粉丝

本科生

14%

还不是VIP/贵宾

-

威望
0
论坛币
20 个
通用积分
44.6334
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
429 点
帖子
29
精华
0
在线时间
88 小时
注册时间
2020-9-24
最后登录
2025-11-17

楼主
15182952842 发表于 2021-5-9 10:53:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
本人使用“hypervolume”包进行超维体积计算,构建了多个超维体积。想要计算这些超维体积的交集、并集、以及各自超维体积中独有的部分。R包中提供了计算两个超维体积交集、并集以及各自超维体积中独有的体积的方法(代码如下),代码中进行的是两两的超维体积交、并集以及两个超维体积比较下各自独特的部分。而我想得到的是三个超维体积的并集,以及各超维体积中独有的体积占整个并集(三个超维体积)的百分比。请问有各位大佬有相应的解决办法吗?是不是可以通过只计算两两超维体积的交、并集完成多个超维体积的并集计算?请各位大佬不吝赐教。


## Not run:
data(iris)
hv1 = hypervolume_gaussian(subset(iris, Species=="setosa")[,1:3],
name='setosa')
hv2 = hypervolume_gaussian(subset(iris, Species=="virginica")[,1:3],
name='virginica')
hv3 = hypervolume_gaussian(subset(iris, Species=="versicolor")[,1:3],
name='versicolor')
hv_set12 = hypervolume_set(hv1, hv2, check.memory=FALSE)
hv_set23 = hypervolume_set(hv2, hv3, check.memory=FALSE)
# no overlap found between setosa and virginica
hypervolume_overlap_statistics(hv_set12)
# some overlap found between virginica and versicolor
hypervolume_overlap_statistics(hv_set23)
# examine volumes of each set component
get_volume(hv_set23)
## End(Not run)


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:volume Volum hyper Vol Statistics

沙发
owenqi 在职认证  学生认证  发表于 2021-5-9 11:13:05
对这个超维体积毫无了解,就想请问,你打算做的这个N个超维体的交集,有理论基础吗?有相关的论文或者书讨论这些东西吗,如果有的话,书和论文中可能会提供一些相应的算法和估计的方法。如果没有的话,你研究这个并发表成果说不定可以为你的博士论文做出一些贡献。

藤椅
15182952842 发表于 2021-5-9 15:19:22
owenqi 发表于 2021-5-9 11:13
对这个超维体积毫无了解,就想请问,你打算做的这个N个超维体的交集,有理论基础吗?有相关的论文或者书讨 ...
非常感谢您再次回复我的提问,上一次关于抽样的提问就是您热心的解答。做这个超维体积分析是有参考相关文献的。我是想参考文献当中的分析方法进行数据处理分析,可惜文献中只给出了分析所用的包,没有给出作者分析的具体代码。本人是统计分析的小白只好求助于论坛中的大佬。参考文献后面上传,请您指教。

板凳
15182952842 发表于 2021-5-9 15:39:34
@owenqi老师,这就是方法的参考,文中出相应的算理依据,和使用的包,但是未能给出作者计算时代码,作为r新手,我有点吃力,还请多多指点。

报纸
owenqi 在职认证  学生认证  发表于 2021-5-10 01:54:37
15182952842 发表于 2021-5-9 15:39
@owenqi老师,这就是方法的参考,文中出相应的算理依据,和使用的包,但是未能给出作者计算时代码,作为r新 ...
我看了一下,你贴的这篇文章只是提到他用这个方法而已。文中他引用了Blonder et al. 2014,你可以去看看这片文章,里面介绍了一些算法。
https://onlinelibrary.wiley.com/doi/10.1111/geb.12146
他文章中提到的这些对超体的相关计算应该是基于对N维数据的核密度估计进行重要性采样,然后通过蒙特卡洛积分近似估算。

首先强调,我对几何的了解水平非常少,不对我下面说的话负责:
我个人认为,多于超体积的并集的计算是可以推广的,计算方法上文中所述应该适用。所以你如果要求三个超体交集,你可以先通过并集生成U12 = 1U2, 再通过并集生成U123 = U12 U 3,这样应该可以生成相应的超体。
  1. hv_set12 = hypervolume_set(hv1, hv2, check.memory=FALSE)
复制代码
这里面包括,U12,应该可以提取使用。
至于体积估计,你可以通过他们生成时的计算的体积进行一些计算,当然可以给出计算误差。

至于细节,请和你导师讨论。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-8 11:49