← 最新论文
📊 statistics

Hash-augmented adaptive multilevel splitting Monte Carlo algorithm for accurate estimation of two-sample permutation test p-values

本文介绍了一种哈希增强的自适应多层分裂蒙特卡洛算法,该算法已在 Python 包 `hamstest` 中实现,旨在为具有复杂统计量的两样本置换检验精确估计任意小的 p 值,同时解决与分布离散性相关的挑战并确保置信区间有效。

原作者: Nikita Golikov, Vladimir Sukhov, Gennady Korotkevich, Alexey Sergushichev

发布于 2026-07-15
📖 1 分钟阅读☕ 轻松阅读

原作者: Nikita Golikov, Vladimir Sukhov, Gennady Korotkevich, Alexey Sergushichev

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你是一名侦探,正试图在一座拥有数百万人口的城市中抓捕一名极其罕见的罪犯。你有一份嫌疑人名单(你的数据),你想知道:“这个特定的线索模式纯粹靠运气发生的可能性有多大?”在统计学世界中,这被称为置换检验(permutation test)。你将线索进行数百万次的随机打乱,以观察这种“幸运”的模式出现的频率。

通常情况下,如果这种模式很常见,你只需要计数那些幸运的打乱情况即可。但如果这种模式极其罕见,比如在万亿次尝试中仅出现一次呢?这就像是在一颗行星大小的沙滩上寻找一颗特定的沙粒。如果你尝试通过随机挑选沙粒的方式(旧有的蒙特卡洛方法)来寻找,你可能会耗费一生去捡沙子,却依然找不到那颗特定的沙粒。为了得到一个像 101010^{-10} 这样微小的概率值,你可能需要挑选 101010^{10} 颗沙粒,这完全是不切实际的。

问题所在:“卡住”的电梯

这篇论文的作者意识到,当处理这些极小的概率时,标准方法会撞上一堵墙,尤其是因为“沙粒”(数据组合)并不是唯一的。有时,成千上万种不同的打乱方式都会产生完全相同的得分。这就像一部电梯只能停在 1 层、10 层和 100 层,却跳过了 2 到 99 层。如果你想去 99 层,电梯根本无法停在那里,因为它并不存在。这种“离散性”导致数学计算陷入僵局,使得估计一个事件到底有多罕见变得不可能。

解决方案:“标签”与“分层阶梯”

由 Nikita Golikov 领导的团队开发了一个名为 hamstest 的新工具。他们的秘诀在于一个巧妙的技巧,叫做哈希增强自适应多级分裂(hash-augmented adaptive multilevel splitting)

以下是它的工作原理,使用一个有趣的类比:

  1. 阶梯(多级分裂): 与其尝试直接跳到山顶(稀有事件),不如搭建一个阶梯。他们从底部开始,询问:“有多少人能到达第一级?”然后,“这些人的当中,又有多少人能到达第二级?”他们通过不断将人群拆分为越来越小的群体来向上攀爬。这把一次不可能的飞跃变成了系列易于处理的步骤。
  2. “哈希”标签(修复卡住的电梯): 大问题在于,许多人都站在同一级台阶上(相同的得分),导致无法进一步拆分人群。为了解决这个问题,作者给每一个人都发了一个独特的、隐形的哈希标签(一个随机数)。即使两个人的得分完全相同,他们的哈希标签也是不同的。这使得算法可以说:“好吧,我们不能按得分来拆分,但我们可以按哈希标签来拆分。”它将一个平坦、卡住的楼层变成了一个平滑、连续的阶梯,使算法总能找到下一个台阶。

他们的发现(以及没发现的)

作者在两个经典的统计检验上测试了这种新方法:Kolmogorov–Smirnov 检验Mann–Whitney U 检验

  • 结果: 在他们的模拟中,这种新方法表现出了惊人的准确性。当他们尝试估计低至 1024310^{-243}(即 1 后面跟着 243 个零!)的概率时,该方法的估计值精准地落在了真实值上。他们还计算了置信区间(真实答案可能隐藏的范围),在大约 95% 的测试运行中,真实答案都在该范围内。
  • “全量重采样”规则: 他们尝试了运行模拟的几种不同方式。他们发现,一种叫做**“全量重采样”*的方法(即在每一步都打乱所有*样本)是最可靠且最稳健的。他们建议将 α=1\alpha = 1 这一特定设置作为默认值,因为在他们的测试中效果最好。
  • 他们排除了什么: 他们明确展示了旧的方法(仅使用得分而不使用哈希标签)在数据存在“大幅跳跃”或许多并列值(ties)时会失效。他们证明了如果没有哈希标签,算法会卡住并给出错误的答案。他们还指出,虽然他们的方法对于单侧检验(寻找单一方向的模式)非常有效,但 Kolmogorov–Smirnov 检验的两侧版本比较棘手,因为“电梯”在最顶端可能会发生断层,需要特殊处理。

速度如何?

团队测量了该算法在现代计算机(Apple M3 Pro)上的运行时间。他们发现,所需时间主要取决于事件的稀有程度。如果你正在寻找极其罕见的事件(例如 pp 值为 1010010^{-100}),它会花费更长时间,因为你必须爬更多的阶梯。然而,对于 Mann–Whitney U 检验,运行时间并不怎么受数据集大小的影响,因为该特定检验的数学计算更新效率非常高。

核心结论

作者并没有“解决”宇宙中所有的统计问题,但他们构建了一个非常强大且灵活的工具,适用于任何科学家可能发明的自定义检验统计量。他们将这个工具封装进了一个名为 hamstest 的免费 Python 库中。

他们建议,对于大多数人来说,使用带有 α=1\alpha = 1全量重采样方法是最佳选择。他们还指出,虽然他们的方法很快,但确切的运行时间取决于你所运行的检验的具体数学逻辑。如果你是一名正在处理极小概率和复杂数据的研究人员,这个工具提供了一种无需等待宇宙热寂就能获得准确答案的方法。

简而言之,他们把一部损坏、卡住的电梯变成了一部平滑、高速的自动扶梯,即使路径充满了坑洼,也能带你到达统计学山的顶峰。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →