try ai
科普
编辑
分享
反馈
  • 随机抽样

随机抽样

SciencePedia玻尔百科
核心要点
  • 随机抽样利用大数定律,通过对随机样本求平均来近似复杂的积分,有效规避了维度灾难。
  • 中心极限定理使得估算误差的量化成为可能,为结果提供了严谨的置信区间。
  • 马尔可夫链蒙特卡洛(MCMC)等先进方法能够从复杂分布中进行抽样,而方差缩减等技术则提高了计算效率。
  • 其应用遍及众多领域,从工程和经济学的风险评估到理论模型的检验,再到宇宙学中合成虚拟宇宙。

引言

面对巨大的复杂性,当解析解失效、确定性计算变得不可能时,我们如何对世界做出可靠的预测?科学和工程中的许多关键系统,从蛋白质的能量到未来技术的成本,其支配方程都过于庞大以至于无法直接求解。本文通过介绍随机抽样来应对这一根本性挑战,这是一种拥抱随机性以寻求答案的强大范式。它并非寻求一个精确但难以捉摸的解,而是通过生成大量随机可能性来建立一个稳健的统计学理解。以下章节将引导您了解这种变革性的方法。首先,在“原理与机制”中,我们将深入探讨使抽样得以成立的核心统计定律,从简单的蒙特卡洛平均到MCMC和方差缩减等高级技术。然后,在“应用与跨学科联系”中,我们将探索这个管理不确定性的“水晶球”如何在不同领域中被用来量化风险、检验理论,甚至构建完整的虚拟世界。

原理与机制

想象一下,你的任务是计算某个复杂量的平均值。这个量可能是受风力波动影响的风电场的预期功率输出,是在水浴中摆动的复杂蛋白质的平均能量,甚至是一个形状怪异的湖泊的面积。如果系统足够简单,你或许能利用微积分的优美工具精确计算出答案。但大自然很少如此仁慈。描述这些系统的方程通常复杂得惊人,包含成千上万甚至数百万个变量。试图用纸笔求解它们是徒劳的。

那么,当解析的优雅方法失效时,我们能做什么呢?我们可以诉诸一种既强大又简单的策略:玩一场概率游戏。我们不再试图计算答案,而是通过随机抽样来测量它。这便是​​随机抽样​​的灵魂,是现代科学与工程的基石。

核心要点:通过随机性进行估计

假设我们想计算某个函数 f(X)f(X)f(X) 的平均值,即​​期望​​,其中 XXX 是一个遵循概率分布 μ\muμ 的随机变量。用数学术语来说,我们想计算积分 Eμ[f(X)]=∫f(x)dμ(x)\mathbb{E}_\mu[f(X)] = \int f(x) d\mu(x)Eμ​[f(X)]=∫f(x)dμ(x)。​​蒙特卡洛方法​​的核心思想简单得惊人:我们根本不去尝试计算这个积分。取而代之,我们生成大量的(比如 NNN 个)独立随机样本 X1,X2,…,XNX_1, X_2, \dots, X_NX1​,X2​,…,XN​,每个样本都从分布 μ\muμ 中抽取。然后,我们只需计算函数在这些样本点上的值的平均数:

fˉN=1N∑i=1Nf(Xi)\bar{f}_N = \frac{1}{N}\sum_{i=1}^N f(X_i)fˉ​N​=N1​i=1∑N​f(Xi​)

为什么这个简单的平均值会与那个复杂的积分有关系呢?其魔力在于概率论的一个基本真理——​​大数定律​​。该定律保证,随着我们的样本数量 NNN 趋于无穷大,我们的样本均值 fˉN\bar{f}_Nfˉ​N​ 将不可避免地收敛于真实期望 Eμ[f(X)]\mathbb{E}_\mu[f(X)]Eμ​[f(X)]。这与赌场知道从长远来看自己会赚钱的原因相同,即使在轮盘赌的任何单次旋转中都可能输钱。每个随机样本可能是一个粗略的猜测,但大量猜测的平均值却变成了一个非常稳定和准确的估计。当大量随机性被驾驭时,确定性便应运而生。

高维的诅咒与猜测的力量

你可能会好奇,为什么我们要用一个近似的、随机的猜测来换取一个精确的、确定性的计算。原因在于一个被称为​​维度灾难​​的强大敌人。想象一下,试图通过铺设一个点网格并对函数值求和来确定性地计算我们的积分。在一维空间中,100个点可能会给出一个不错的近似。但如果我们的系统有10个输入参数(这在现代科学中是一个非常适中的数字),一个在每个轴上都有100个点的网格将需要 10010100^{10}10010 个总点数——这个数字远大于太阳中的原子数量。这种指数级的规模增长使得基于网格的方法对于大多数现实世界问题来说完全不可行。

随机抽样的真正威力在此刻显现。正如我们将看到的,蒙特卡洛估计的误差与 1/N1/\sqrt{N}1/N​ 成正比,而这与维度的数量无关!空间的复杂性并不会减慢收敛的速度。这是一个奇迹。这意味着我们可以用处理二维问题可能使用的相同样本数量,来为一个百万维问题获得一个相当好的答案。

考虑执行一个统计检验,比如 Kruskal-Wallis 检验,来比较给予总共30名患者的三种医疗方案。为了得到一个精确的p值,人们必须枚举出这30名患者可能被分配到三个组的所有可能方式。这种组合的数量是一个巨大的多项式系数,(3010,10,10)\binom{30}{10, 10, 10}(10,10,1030​),超过五万亿。即使对于一台超级计算机来说,为每一种可能性计算检验统计量也是一项艰巨的任务。而使用蒙特卡洛方法,我们只需生成几千个随机分配,从这个样本中计算p值,几秒钟内就能得到一个实用、可用的答案。我们用一个有用的近似现实换取了完美精确的幻想。

评估猜测:关于误差的性质

一个估计的好坏取决于其误差范围。随机抽样的一个关键特征不仅在于它提供了一个答案,还在于它提供了一种了解该答案可信度的方法。我们的样本均值 fˉN\bar{f}_Nfˉ​N​ 本身就是一个随机数——如果我们再次运行模拟,我们会得到一个略有不同的结果。但这些结果的分布是什么样的呢?

这就引出了​​中心极限定理​​,概率论的另一大支柱。它告诉我们,对于大的 NNN,我们的估计量 fˉN\bar{f}_Nfˉ​N​ 围绕真实均值的分布将是一个正态分布(一条“钟形曲线”)。这条钟形曲线的宽度代表了我们的不确定性,也就是标准误差。对于蒙特卡洛抽样,这个标准误差的尺度与 σ/N\sigma/\sqrt{N}σ/N​ 类似,其中 σ\sigmaσ 是底层函数 f(X)f(X)f(X) 的标准差。

这个著名的 1/N1/\sqrt{N}1/N​ 依赖关系是一把双刃剑。它意味着收敛可能很慢;要将误差减半,你必须将样本数量 NNN 翻两番。但它也为我们提供了一种量化不确定性的具体方法。基于这种渐近正态性,我们可以构建一个​​置信区间​​。例如,我们可以有 95%95\%95% 的置信度声明,我们的积分真值位于由下式给出的特定范围内:

CI0.95=[fˉN−1.96σ^N,fˉN+1.96σ^N]\text{CI}_{0.95} = \left[ \bar{f}_N - 1.96 \frac{\hat{\sigma}}{\sqrt{N}}, \quad \bar{f}_N + 1.96 \frac{\hat{\sigma}}{\sqrt{N}} \right]CI0.95​=[fˉ​N​−1.96N​σ^​,fˉ​N​+1.96N​σ^​]

其中 σ^\hat{\sigma}σ^ 是我们根据样本本身对标准差的估计。这种能够严格界定我们自身无知程度的能力,将随机抽样从一种纯粹的启发式方法提升为一种真正的科学工具。

抽样的艺术:如何进行抽签

到目前为止,我们都轻率地假设我们可以从任何概率分布 μ\muμ 中“抽取一个样本”。但这实际上是如何做到的呢?如果你只有一个标准的随机数生成器,它只能给你0到1之间的均匀分布的数字,你如何从一个复杂的分布中生成样本,比如降雨强度的分布?

最优雅和基础的技术之一是​​逆变换采样​​。关键在于​​累积分布函数 (CDF)​​,记作 F(x)F(x)F(x),它给出了一个随机变量小于或等于 xxx 的概率。CDF是一个从0到1的非递减函数。要从我们期望的分布中获取一个样本,我们只需生成一个0到1之间的均匀随机数 UUU,然后找到一个值 XXX 使得 F(X)=UF(X) = UF(X)=U。这等价于计算 X=F−1(U)X = F^{-1}(U)X=F−1(U)。这个方法实质上是将均匀分布映射到我们的目标分布上,通过拉伸和压缩将概率质量分配到需要的地方。

但是,如果我们的目标分布更加复杂呢?如果我们只知道它与某个常数成比例,这种情况在物理学中很常见,那该怎么办?考虑一个在给定温度下的分子系统。统计力学告诉我们,找到系统处于势能为 U(x)U(x)U(x) 的特定构型 xxx 的概率由​​玻尔兹曼分布​​给出,π(x)∝exp⁡(−βU(x))\pi(x) \propto \exp(-\beta U(x))π(x)∝exp(−βU(x)),其中 β\betaβ 与温度的倒数有关。那个小小的“正比于”符号 ∝\propto∝ 是一个大问题。它隐藏了一个归一化常数,Z=∫exp⁡(−βU(x))dxZ = \int \exp(-\beta U(x)) dxZ=∫exp(−βU(x))dx,称为配分函数,它本身就是一个难以计算的积分。不知道 ZZZ,我们就无法使用逆变换采样。

这正是​​马尔可夫链蒙特卡洛 (MCMC)​​ 的天才之处。其思想是构建一个“智能”的随机游走来探索可能构型的空间。我们不是生成独立的样本,而是生成一个相关的样本序列,其中每个新样本都依赖于前一个样本。一个MCMC算法,比如著名的​​Metropolis-Hastings算法​​,为这种游走提供了一套简单的规则。在每一步,我们从当前状态 xxx 提议一个小的、随机的移动到一个新状态 x′x'x′。然后我们根据概率比 π(x′)/π(x)\pi(x') / \pi(x)π(x′)/π(x) 来决定是否接受这个移动。因为这是一个比值,未知的归一化常数 ZZZ 就被消掉了!规则很简单:如果提议的移动是到一个概率更高的状态(能量更低),我们总是接受它。如果是到一个概率更低的状态(能量更高),我们以一定的概率接受它,这个概率随着新状态变得更差而变小。

这个简单的局部规则产生了一个神奇的结果。经过一个初始的“预烧”(burn-in)期后,我们的随机游走者访问的状态序列将完全按照所期望的玻尔兹曼分布进行分布。游走者自然会在低能量、高概率的区域花费更多时间。这是通过一个被称为​​细致平衡​​的微妙条件实现的,它确保在平衡状态下,从任何状态A到B的转移速率与从B到A的速率相同。这是一个简单的局部规则如何产生复杂的、期望的全局行为的优美范例。

并非所有随机性都生而平等:方差缩减的技巧

蒙特卡洛方法的标准 1/N1/\sqrt{N}1/N​ 收敛速度可能非常缓慢。为了开发比纯随机抽样“更聪明”的方法,人们投入了大量的智慧,目标是在给定的样本数量 NNN 下减少估计量的方差。

一个强大的思想是​​分层抽样​​。我们不是完全随机地从整个空间中抽取 NNN 个样本,而是首先将空间划分为几个不重叠的区域或“层”,然后从每一层中抽取预定数量的样本。想象一下进行一次政治民意调查:一种天真的方法是随机拨打电话号码,但你可能会偶然地从一个州得到太多样本,而从另一个州得到的样本不足。分层抽样的方法确保每个州在最终的调查中都按比例得到代表。在抽样的背景下,如果我们沿着对输出有强烈影响的参数进行分层,我们可以确保我们的样本更具代表性,从而减少我们最终估计的方差。

​​拉丁超立方抽样 (LHS)​​ 是这一思想在高维空间中的一个复杂延伸。在LHS中,对于 ddd 个输入参数中的每一个,其概率分布的范围被划分为 NNN 个等概率的区间。然后我们生成 NNN 个样本点,使得对于每个参数,这些区间中的每一个都被精确地抽样一次。这确保了在整个输入空间内有出色的覆盖,并且可以显著减少方差,特别是当输出函数是平滑的或主要由单个参数的主效应决定时。

另一个优美的技术是使用​​控制变量​​。假设我们想估计一个复杂函数 g(x)g(x)g(x) 的期望,但我们知道一个更简单、相似的函数 c(x)c(x)c(x),它的期望 E[c(x)]\mathbb{E}[c(x)]E[c(x)] 是我们确切知道的。如果 g(x)g(x)g(x) 和 c(x)c(x)c(x) 强相关,那么它们的差 g(x)−c(x)g(x) - c(x)g(x)−c(x) 的方差将比 g(x)g(x)g(x) 本身小得多。我们可以使用蒙特卡洛方法来估计这个小量 E[g(x)−c(x)]\mathbb{E}[g(x) - c(x)]E[g(x)−c(x)],然后简单地加上已知的值 E[c(x)]\mathbb{E}[c(x)]E[c(x)] 来得到我们的最终答案。通过利用我们对更简单函数的知识,我们显著减少了估计更复杂函数时的统计噪声。

了解其局限:随机抽样的能与不能

尽管随机抽样功能强大,但它并非万能药。在某些问题上它会遇到困难,理解其概念边界至关重要。

其中一个最艰巨的挑战是量子物理学中臭名昭著的​​费米子符号问题​​。在模拟费米子(如电子)系统时,量子力学的规则规定,对计算的贡献可以是正的也可以是负的。通常,最终答案是巨大的正项和负项近乎完美抵消的结果。标准的蒙特卡洛模拟根据贡献的绝对值进行抽样,结果会完全迷失方向。估计量试图在两个巨大且充满噪声的数字之间找到微小的差异。结果是估计的方差大得惊人。样本的“平均符号”随着系统大小或温度的倒数呈指数衰减,这意味着获得有意义答案所需的计算成本呈指数增长。这个“指数墙”是计算物理学中最大的开放问题之一,它鲜明地提醒我们,并非所有的求和都适合用随机估计来处理。

最后,我们必须在两种不确定性之间做出深刻的区分:​​偶然不确定性(aleatory)​​和​​认知不确定性(epistemic)​​。偶然不确定性是我们抽样过程中固有的统计不确定性——即“抽签的运气”。这种不确定性随着 1/N1/\sqrt{N}1/N​ 缩放,我们可以通过延长模拟时间来使其趋近于零。另一方面,认知不确定性来自我们对模型本身知识的根本性缺乏——例如,我们用作模拟输入的物理常数或截面数据的不确定性。

再多的蒙特卡洛抽样也无法减少认知不确定性。用万亿个样本运行模拟也无法修正一个错误的输入参数。这是一个关键的教训:一个模拟的好坏取决于它所基于的模型。同样,像​​自助法(bootstrap)​​这样的统计技术,通过从一个现有数据集中重采样来量化测量统计量的不确定性,是在“数据空间”中抽样,而不是在底层模型的“物理空间”中抽样。这使得它们成为数据分析的强大工具,但在概念上与探测物理模型行为的蒙特卡洛方法截然不同。理解这些局限性不是软弱的标志,而是科学成熟的体现。它让我们能够明智地使用随机抽样的强大力量,以清醒的眼光看待它能告诉我们关于世界的什么,以及不能告诉我们什么。

应用与跨学科联系

现在我们已经对随机抽样的机制有了感觉,我们可以退后一步,欣赏全局。这个工具究竟是为了什么?你可能会倾向于认为它是一种小众的统计技术,是专家们使用的数学管道。这大错特错。随机抽样的本质是一种有纪律的方式,用以处理科学和工程中最基本的一个方面:无知。我们永远无法完美地了解任何事物。我们的测量有误差,我们的材料有缺陷,世界本身也处于不断变化之中。

随机抽样是我们用来提问“那又怎样?”的主要工具。我们输入中的这些不完美和不确定性对我们的输出有多大影响?这是一门构建“水晶球”的艺术,这个水晶球不只给出一个有缺陷的预测,而是向我们展示所有可能的未来及其可能性的全景。这种视角如此强大,以至于它在几乎所有定量领域都找到了用武之地,将它们联合起来,用一种共同的方法来理解一个复杂而不确定的世界。

工程学与经济学的水晶球

让我们从一个非常实际的问题开始:一项新技术在未来的成本会是多少?在能源建模中,预测者通常使用“经验曲线”,一个简单的幂律,即随着我们生产更多,技术的成本会下降。公式可能看起来像 C(x)=C0(x/x0)bC(x) = C_0 (x/x_0)^bC(x)=C0​(x/x0​)b,其中指数 bbb,即“学习率”,决定了成本下降的速度。问题在于,我们并不知道 bbb 的确切值。我们可以从历史数据中估计它,但存在不确定性。

那么,2040年太阳能的成本是多少?一种天真的方法给出一个数字,但明智的做法是承认我们无法确定。使用随机抽样,我们可以做得更好。我们将 bbb 不视为一个单一的数字,而是一个可能性的分布。然后我们“运行未来”数千次,每次都从我们的分布中为 bbb 挑选一个不同的合理值。我们得到的不是一个单一的答案,而是一个完整的未来可能成本的分布。由此,我们可以说出这样的话:“有90%的可能性成本将在X美元和Y美元之间。”这不再是一个脆弱的预测;它是一个对风险和机遇的稳健评估,是决策者或投资者可以实际使用的那种信息。

同样的原则无处不在。考虑半导体工厂中硅晶片的制造。晶片通过一个石英窗口被强力灯加热。但没有两个窗口是完全相同的;它们透射光的能力,即透射率 τ\tauτ,由于制造公差而有微小的变化。这重要吗?我们可以写下热传递的物理学,它由优美的斯蒂芬-玻尔兹曼热辐射定律(P∝T4P \propto T^4P∝T4)所支配。晶片的最终温度,作为微芯片质量的关键参数,直接取决于这个透射率。通过对 τ\tauτ 的可能值进行抽样,我们可以精确地发现一块玻璃中微小、不可避免的缺陷如何转化为晶片上的一个温度范围。这使得工程师能够设计出稳健的工艺,即即使在存在现实世界混乱的情况下也能可靠工作的工艺。

我们甚至可以使用这种方法来管理我们整个电网的运行。电力需求永远无法完美预测,而风能和太阳能等可再生能源的输出则以其善变而闻名。电网运营商必须决定开启哪些发电厂,在成本与停电风险之间取得平衡。通过创建一个电网模型并运行数千次蒙特卡洛模拟,每次模拟都使用不同的随机抽样需求和可再生能源输出,他们可以了解运营成本的完整概率分布,更关键的是,了解无法满足需求的可能性。这就是我们在一个充满不确定性的世界里确保灯火通明的方式。

数字实验室:审视我们的理论

随机抽样不仅用于预测物理系统的行为,它还是检验我们为描述这些系统而建立的理论的重要工具。在计算科学中,我们经常构建复杂的模型,并在超级计算机上求解。但是,如果我们输入到模型中的参数本身就是上一个同样不完美的计算的输出呢?

想象一下,你是一名理论化学家,试图预测一个化学反应的速率。著名的过渡态理论为我们提供了一个反应速率常数 k(T)k(T)k(T) 的公式,该公式指数依赖于反应的能垒 ΔE‡\Delta E^{\ddagger}ΔE‡ 以及分子的振动频率。这些量不是测量出来的,而是使用量子力学计算出来的,而这些计算具有固有的不确定性。

那么,当我们给出我们计算的速率常数时,我们对它有多大的信心?通过将输入的能垒和频率视为具有反映其计算不确定性的分布的随机变量,我们可以使用蒙特卡洛抽样来计算速率常数数千次。结果是 k(T)k(T)k(T) 的一个分布,这为我们的理论预测提供了一个有原则的“误差棒”。这使得与实验测量进行有意义的比较成为可能。它将计算机输出的一个单一、裸露的数字转化为一个具有可量化确定性程度的科学陈述。

这个思想可以扩展到一些可以想象的最复杂的模拟中。在地震工程中,我们想知道一栋建筑对地面震动的响应。这涉及到求解一个由偏微分方程控制的波传播问题。但是建筑物下方的土壤特性永远无法被完美地了解——剪切模量和阻尼可能因地而异。此外,我们也不知道下一次地震会是什么样子。

随机抽样提供了答案。我们可以将土壤特性建模为随机场,将地震输入建模为*随机过程*。单次模拟是无意义的。但是通过运行数千次模拟,每次都使用不同的随机生成的土壤剖面和不同的随机生成的地震运动,我们可以建立起建筑物响应的统计图像。我们可以计算峰值加速度超过临界阈值的概率。这就是我们如何设计出安全的结构,不仅是为了应对一次假想的地震,而是为了应对地震灾害的统计现实。

解构不确定性与合成世界

到目前为止,我们已经使用抽样来观察一“束”输入不确定性如何影响输出。但我们可以更聪明一些。我们可以用它来剖析不确定性,甚至将这个过程颠倒过来,合成新的现实。

解构不确定性:灵敏度分析

假设我们用于一个生物过程的模型有十个参数,我们的蒙特卡洛模拟告诉我们输出有30%的不确定性。接下来的自然问题是:哪个参数是罪魁祸首? 是所有的不确定性都来自我们对参数#3的认知不足,还是每个参数都有一点贡献?

这就是全局灵敏度分析(GSA)的目标。使用巧妙的抽样方案,例如用于估计“Sobol指数”的方案,我们可以将总输出方差分配给各个输入参数及其相互作用。一阶指数 SiS_iSi​ 告诉你,如果你能完美地知道输入 XiX_iXi​ 的真实值,输出方差会消失多少。全阶指数 STiS_{T_i}STi​​ 告诉你来自 XiX_iXi​ 的贡献加上它与所有其他参数相互作用的方式。这种分析就像一个诊断工具。它告诉我们我们的无知在哪些方面伤害最大,从而指导未来的研究。如果 S3S_3S3​ 很大,它告诉我们应该把钱花在更好的实验上,以测量参数#3。

合成世界

也许随机抽样最令人费解的应用不是分析一个系统,而是在于创建它。许多复杂的模拟需要一个服从特定统计规则的随机场作为其起点。

这在宇宙学中表现得最为明显。我们关于早期宇宙的主流理论假设,物质的初始分布是一个随机场。为了模拟宇宙的演化和星系的形成,我们首先需要创建这个初始状态的数字版本。这是如何做到的呢?通过在傅里叶空间中进行抽样!场的统计特性,如其功率谱,决定了傅里叶模式的振幅。对于最简单的“高斯”随机场,这些模式的相位被假定为完全随机的——独立地从一个均匀分布中抽取。N体模拟,作为现代宇宙学的支柱之一,可以被看作是一个巨大的蒙特卡洛模拟,它通过抽样将整个虚拟宇宙创造出来。

一个类似的挑战出现在一个更加地球化的背景下:航空航天工程。在模拟飞机机翼上的气流时,假设进入的空气是完全平滑的是不现实的。真实的大气是湍流的。为了进行高保真的大涡模拟(LES),需要生成一个真实的“入流湍流”场。这同样是通过对傅里叶模式进行随机抽样来合成一个速度场,该速度场具有正确的统计特性——在不同空间尺度上有适量的能量——以模仿真实的湍流。

在宇宙学和流体力学中,我们都看到了一个问题的优美反转:随机抽样成为我们构建世界的工具,用于创建自然界本身提供的复杂、随机的初始状态。

哲学旁白:我们究竟在抽样什么?

在整个旅程中,我们都在讨论抽样随机输入。但值得停下来问一问,我们所说的“随机”是什么意思。核反应堆设计问题迫使我们直面这个问题。在设计反应堆时,我们面临核截面(我们不完全知道的物理常数)的不确定性,也面临操作条件(可能真的每天都在变化)的不确定性。

物理学家在这里做出了一个关键的区分。物理常数的不确定性是​​认知不确定性​​——这是我们知识的缺乏。通过更好的实验,我们可以减少这种不确定性。然而,日常操作的变化是​​偶然不确定性​​——它是系统行为中固有的、不可简化的随机性。一个好的设计必须对两者都具有鲁棒性。

我们设计的目标函数应该是对所有这些物理不确定性进行平均后的性能。但是等等。我们评估性能的工具通常是蒙特卡洛模拟(在这种情况下是中子输运模拟),它有自己的随机性来源——用于引导模拟粒子的随机数。这是第三种不确定性,一种​​数值​​不确定性。

深刻的见解在于我们决不能混淆它们。稳健设计的目标是处理物理上的认知不确定性和偶然不确定性。我们模拟产生的数值不确定性只是一个麻烦,是我们评估目标函数时的噪声源。模拟的目标是使用足够多的粒子(NNN)来运行,使得这种数值噪声变得可以忽略不计,从而让我们能够看到物理不确定性的真实影响。我们是在为现实世界设计一个反应堆,而不是为我们随机数生成器的怪癖设计。这也许是最重要的一课:随机抽样是理解不确定世界的一面透镜,我们必须时刻小心,不要让透镜本身模糊了画面。