从椭圆体置信区域进行均匀采样
我有一个四维的椭球体,我想从中均匀地抽取样本。我想到了一个方法,就是在椭球体周围画一个超立方体。我们可以从这个超立方体中抽取一个样本,然后检查这个样本是否在椭球体内部。但是,在四维空间中,超立方体和椭球体的体积比是0.3。这意味着我只有30%的成功率。由于我的算法速度比较慢,所以我不想用这种方法。我还在研究反向变换抽样。你能告诉我如何在四维椭球体上使用这个方法吗?
1 个回答
2
你可以把你的超椭球体变成一个球体。
所以,给出的这个算法适用于球体,但也可以很容易地转换为你的椭球体。
- 从一个高斯分布 N(0,1) 中为所有坐标 x1 到 x4 生成随机数,x=[x1,x2,x3,x4]。
- 对向量 x 进行归一化处理。==> 这样你就得到了均匀分布在表面上的向量。
- 现在,从 [0,1] 中随机抽取一个半径 u,作为单位球体内部的点。
- p=u**(1/4)*x 是在四维单位球体内均匀分布的向量。