没有数学证明,原因很简单,即像 CLT 这样的陈述(甚至更弱的结论,例如“算术平均值将收敛”)对于伪随机数是不正确的。然而,有理论可以通过函数评估的加权和来近似积分。这尤其适用于伪随机数,但也适用于准随机数或其他设计,例如网格。
除了集成之外,伪随机数还用于其他应用,例如模拟。我的回答确实只涉及数值积分而不是其他应用程序。
反例
CLT 的情况是独一无二的,它在更强有力的结论中确保了每个(平方)可积函数的积分估计值的收敛性。对于有限确定性序列(伪随机或其他),不可能有类似的陈述。这是一个反例:
- 一个函数f:[0,1]→R和∫10f(x)dx=1但∑if(xi)=0对于随机生成器的所有输出。
这是可能的,因为您的伪随机数生成器将具有有限(!)数量的可能输出x1,…,xN. 这个数字是有限的,因为它是由具有有限内存的确定性机器生成的。请参阅此答案以获取更多说明。现在,给定这个有限集,函数分析的标准练习是构造一个函数,该函数在这些点上完全为零,但在其他任何地方都足够大以形成积分(见这里)。这个函数实际上可以选择为无限可微的,即非常平滑和“好”。
误差估计
为了排除上述反例,误差估计必须考虑平滑度之外的定量特性。最著名的例子是Koksma-Hlawka 不等式:
∣∣∣1N∑if(xi)−∫10f(x)dx∣∣∣≤V(f)D(x1,…,xN).
V(f)是总变异f和D(x1,…,xN)集合的“星差”{x1,…,xN}.
星差是衡量集合中的点与均匀性的偏差的量度。它被定义为相对点数之间的最大差异xi在任何子区间[0,1]以及区间的 Lebesgue 度量,即它的长度:
D(x1,…,xN)=supI⊂[0,1]∣∣∣# of xi in IN−λ(I)∣∣∣.
在实践中意味着什么?
Koksma-Hlawka 不等式很好地将积分误差分成两个不同的贡献。一部分与您要集成的功能有关,另一部分与设计有关,即用于集成的点的选择。
不等式显示了反例的问题。由于必须将函数强制降至零,然后对每个再次上升,因此函数的图形会摆动很多。这会产生非常大的总变异并推高误差,即使设计点的选择可能几乎是一致的。xi
另一方面,不等式解释了为什么伪随机数起作用(在大多数情况下)。最终,您的伪随机数将几乎均匀地填满整个区间,您的星数差异将变得非常非常小。
此外,它还解释了为什么人们没有停留在伪随机数上,而是进一步走向了准蒙特卡洛。“随机”选择点将导致点集中度更高和更低的区域,平滑这一点将降低星形差异并提高近似质量。