Answers:
首先让我们假设您想在
x + y + z = 1
0 ≤ x ≤ 1
0 ≤ y ≤ 1
0 ≤ z ≤ 1
这并没有太大的区别,因为采样点仍然很有可能位于您请求的区域中。
现在剩下的是从单纯形采样点了。在3d示例中,您将获得在3d中实现的2d单形(三角形)。
在此博客文章中讨论了如何随机地均匀选择一个点(请参阅评论)。
对于您的问题,这意味着您从间隔获取随机数,然后添加和以获得数字的列表。您对列表进行排序,然后记录两个连续元素之间的差异。这将为您提供数字的列表,这些数字总计为。此外,该采样是均匀的。这个想法可以在The Bayesian bootstrap Ann Donald B. Rubin中找到。统计员。1981年9月,第130-134页。
例如(),您拥有三个随机数,然后获得排序的序列,并给出了差值,通过构造这四个数字的总和为1。0.4 0.2 0.1
0 0.1 0.2 0.4 1
0.1 0.1 0.2 0.6
另一方法如下:首先从超多维数据集中采样(即您忘了x+y+z=1
),然后对采样点进行归一化。归一化是从超立方体到单纯形的投影。直观上应该清楚,单纯形中心的点比外部的点具有更多的“前像点” 。因此,如果您从超多维数据集中进行统一采样,则不会在单纯形中进行统一采样。但是,如果您使用适当的指数分布从超立方体中采样,则此效果将被抵消。该图为您提供了两种方法如何采样的想法。但是,由于其简单的形式,我更喜欢“排序”方法。它也更容易实现。
这是要添加到现有答案中。
Devroye是此类问题的绝佳参考。第7章介绍了生成统一订单统计信息所需的算法,OP对此进行了介绍。
为了生成统一的订单统计信息,可以对个样本进行排序。此方法需要时间。一种更快的方法(本书中提供)涉及从 pdf中采样 随机数。(这些是统一pdf 的间距)。然后,返回的值 它们是自动总体上以时间排序。(我在这里与A.Schulz的答案重叠-只是使计算更加明确)。
通过逆CDF采样,可以采用相同的方法对任何非均匀pdf进行采样。还有一个技巧,使您可以对除规范单纯形之外的单纯形进行统一采样(例如)。2 X + 3 Ŷ + ž = 5