为什么伪随机抽样适用于蒙特卡洛积分,即使它不满足 CLT 要求?

机器算法验证 方差 期望值 随机生成 中心极限定理 数值积分
2022-03-02 09:13:29

假设我们上定义,我们希望使用 Monte Carlo 方法对其进行积分和估计误差。我们在上生成均匀分布的独立随机变量的实现,并找到其中恰好是独立且同分布的随机变量。因此,我们可以将 CLT 应用于它们的总和或平均值。我们可以取可能具有近似正态分布,期望值和样本方差f(x)[0,1]xn[0,1]fn=f(xn)fnf¯=n=1Nfn01f(x)dxσ2=1N1n=1N(fnf¯)2我们可以使用样本方差作为积分误差的估计。

现在假设我们做同样的事情,但是我们生成伪随机点 x_n 代替随机点使用 Mersenne Twister)。现在确定了序列,不再满足 CLT 要求,但似乎仍然分别给出了良好的积分值和误差估计。xnxnfnf¯σ

所以我的问题是如何正式解释为什么会发生这种情况。很明显,伪随机点“足够随机”以接近满足 CLT,但这是一种启发式解释,我对实际的数学证明感兴趣。

2个回答

在Tirnakli、Beck 和 Tsallis 于2007 年发表的论文“确定性动力系统的中心极限行为”中,他们指出

在物理学界鲜为人知但在数学界广为人知的是,还有用于确定性动力系统迭代的 CLT。确定性动态系统的迭代永远不可能完全独立,因为它们是由确定性算法生成的。然而,如果 IID 的假设被动力系统足够强混合的较弱性质所取代,那么可以证明各种版本的 CLTs 用于确定性动力系统。

他们以逻辑图 , 当时,序列是强混合的,具有不变的密度 (即)。那么平均 的极限分布 是居中高斯分布,此时原值是一个具有绝对连续概率分布的随机变量。此高斯分布的(限制)方差为

xi+1=T(xi)=1axi2
a=2
π(x)=1π1x2
Tπ=π
1Ni=1Nxi
x11/2

请注意,对于 ,逻辑图是混乱的,因此可用于随机生成器a=2

类似的中心极限定理可以在遍历理论中找到,对于一些具有无限遍历度量的动力系统(例如,参见这些讲义、定理 76 或本文)。

没有数学证明,原因很简单,即像 CLT 这样的陈述(甚至更弱的结论,例如“算术平均值将收敛”)对于伪随机数是不正确的。然而,有理论可以通过函数评估的加权和来近似积分。这尤其适用于伪随机数,但也适用于准随机数或其他设计,例如网格。

除了集成之外,伪随机数还用于其他应用,例如模拟。我的回答确实只涉及数值积分而不是其他应用程序。

反例

CLT 的情况是独一无二的,它在更强有力的结论中确保了每个(平方)可积函数的积分估计值的收敛性。对于有限确定性序列(伪随机或其他),不可能有类似的陈述。这是一个反例:

  • 一个函数f:[0,1]R01f(x)dx=1if(xi)=0对于随机生成器的所有输出。

这是可能的,因为您的伪随机数生成器将具有有限(!)数量的可能输出x1,,xN. 这个数字是有限的,因为它是由具有有限内存的确定性机器生成的。请参阅此答案以获取更多说明。现在,给定这个有限集,函数分析的标准练习是构造一个函数,该函数在这些点上完全为零,但在其他任何地方都足够大以形成积分(见这里)。这个函数实际上可以选择为无限可微的,即非常平滑和“好”。

误差估计

为了排除上述反例,误差估计必须考虑平滑度之外的定量特性。最著名的例子是Koksma-Hlawka 不等式

|1Nif(xi)01f(x)dx|V(f)D(x1,,xN).

V(f)是总变异fD(x1,,xN)集合的“星差”{x1,,xN}.

星差是衡量集合中的点与均匀性的偏差的量度。它被定义为相对点数之间的最大差异xi在任何子区间[0,1]以及区间的 Lebesgue 度量,即它的长度:

D(x1,,xN)=supI[0,1]|# of xi in INλ(I)|.

在实践中意味着什么?

Koksma-Hlawka 不等式很好地将积分误差分成两个不同的贡献。一部分与您要集成的功能有关,另一部分与设计有关,即用于集成的点的选择。

不等式显示了反例的问题。由于必须将函数强制降至零,然后对每个再次上升,因此函数的图形会摆动很多。这会产生非常大的总变异并推高误差,即使设计点的选择可能几乎是一致的。xi

另一方面,不等式解释了为什么伪随机数起作用(在大多数情况下)。最终,您的伪随机数将几乎均匀地填满整个区间,您的星数差异将变得非常非常小。

此外,它还解释了为什么人们没有停留在伪随机数上,而是进一步走向了准蒙特卡洛。“随机”选择点将导致点集中度更高和更低的区域,平滑这一点将降低星形差异并提高近似质量。