Questions tagged «quasi-monte-carlo»

5
伪随机数:比真实的均匀数据分布更均匀
我正在寻找一种生成似乎均匀分布的随机数的方法-每个测试都将显示它们是均匀的-除了它们比真实的均匀数据分布更均匀外。 我对“真实的”统一随机数存在的问题是,它们有时会聚类。在较小的样本量下,这种效果会更强。粗略地说:当我在U [0; 1]中绘制两个均匀随机数时,它们在0.1范围内的几率约为10%,在0.01范围内的几率约为1%。 因此,我正在寻找一种生成比统一随机数分布更均匀的随机数的好方法。 用例示例:比如说我在做电脑游戏,我想在地图上随机放置宝藏(不在乎其他任何东西)。我不想把宝藏全部放在一个地方,它应该遍布整个地图。如果使用统一的随机数,如果我放置10个对象,则彼此之间有5个左右的机会并不算低。这可以使一个玩家比另一个玩家更具优势。想想扫雷者,您很有可能(如果有足够的地雷的话)很幸运,只需单击一下即可获胜。 解决我的问题的一种非常幼稚的方法是将数据划分为网格。只要数量足够大(并且有足够的因素),就可以通过这种方式实现额外的统一性。因此,与从U [0; .1]提取12个随机变量不同,我可以从U [0; .5]提取6和从U [0.5; 1]提取6,或从U [0; 1/3] + 4提取4来自U [1/3; 2/3] + 4来自U [2/3; 1]。 有什么更好的方法可以使制服获得额外的均匀性?它可能仅适用于批量随机数(绘制单个随机数时,我显然必须考虑整个范围)。特别是,我可以在之后再次重新整理记录(因此它不是前三分之一中的前四个)。 如何逐步进行?那么第一个在U [0; 1]上,然后在每个半部分中两个,每个三分之一中一个,每个四个中一个?是否对此进行了调查,效果如何?我可能必须谨慎使用x和y的不同生成器,以使它们不相关(第一个xy总是在下半部分,第二个在左半部分和下三分之一,第三个xy在中心第三个和上三分之一。 ..因此至少还需要一些随机的bin排列。从长远来看,我想这会太均匀。 作为副节点,是否存在众所周知的测试,即某些分布是否过于均匀以至于无法真正统一?因此,测试“真正的统一”与“有人弄乱数据并使项目更均匀地分布”。如果我没记错的话,霍普金斯统计局(Hopkins Statistic)可以衡量这一点,但它也可以用于测试吗?KS-Test也是相反的:如果最大偏差低于某个预期阈值,数据分布是否过于均匀?

1
霍尔顿序列与Sobol序列?
从在回答前一个问题,我是指向哈尔顿序列,用于创建一组涵盖了统一的样本空间相当均匀的载体。但是维基百科页面提到,特别是较高的素数在系列的早期通常是高度相关的。样本量相对较短的任何一对高质数似乎都是这种情况-即使变量没有相关性,样本空间也不是均匀采样的,而是整个空间中存在高样本密度的对角带。 因为我使用的是长度为6或更大的向量,所以不可避免地将不得不使用一些素数来解决这个问题(尽管不如上面的示例那样糟糕),并且某些变量对将在他们的样本飞机。在我看来,使用Sobol'序列生成相似的集合(仅通过查看图表)似乎可以在变量对之间生成样本,这些变量对的分布更加均匀,即使是相对少量的样本也是如此。这似乎有用得多,所以我想知道Halton序列何时会更有益?还是仅仅是Halton序列更容易计算? 注意:也欢迎讨论其他多维低差异序列。

2
如何估算积分的精度?
在计算机图形学中,一种非常普遍的情况是某些像素的颜色等于某些实值函数的积分。函数通常过于复杂而无法解析求解,因此我们只需要进行数值逼近即可。但是该函数的计算量通常也非常昂贵,因此我们在可计算的样本数量上受到极大的限制。(例如,您不能只是决定抽取一百万个样本并留在此处。) 通常,您要做的是在随机选择的点上评估函数,直到估计的积分变得“足够精确”为止。这使我想到了一个实际的问题:您如何估算积分的“准确性”? 更具体地说,我们有,它是由一些复杂的,缓慢的计算机算法实现的。我们要估计f:R→Rf:R→Rf : \mathbb{R} \rightarrow \mathbb{R} k=∫baf(x) dxk=∫abf(x) dxk = \int_a^b f(x) \ dx 我们可以为所需的任何x计算,但这很昂贵。因此,我们想随机选择几个x值,并在k的估计变得可接受的准确时停止。当然,要做到这一点,我们需要知道当前估计的实际准确性。f(x)f(x)f(x)xxxxxxkkk 我什至不确定哪种统计工具适合此类问题。但是在我看来,如果我们对f绝对一无所知,那么这个问题就无法解决。例如,如果您计算f (x )一千次且始终为零,则估计积分将为零。但是,一无所知约˚F,它仍然可能是˚F (X )= 1 ,000 ,000处处除非你碰巧样本点,因此您的估计是错得离谱!ffff(x)f(x)f(x)ffff(x)=1,000,000f(x)=1,000,000f(x) = 1,000,000 也许,那么,我的问题应该从“我们需要了解以便使我们估计积分的精度成为可能fff?”开始。例如,我们经常知道不可能为负,这似乎是一个高度相关的事实...fff 编辑:好的,所以这似乎产生了很多响应,这很好。与其单独回答每个问题,不如尝试在此处补充一些其他背景。 ffffffffffff fffffffff fff 另外,考虑到“蒙特卡洛”的出现次数,我猜这是这种集成的技术术语吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.