同一个语言,两个 Zipf 指数:幂律为什么在语料里随窗口漂移
【锚点】这一篇只钉一个判断:在语料和引文数据里测到的「幂律指数」不是一个常数,而是一个【随观测窗口漂移的 crossover 指数】。把它当成普适常数汇报,是把有限尺寸效应误读成了物理定律。
【显式】同一个现象,不同论文给出不同的数。英语词频的 Zipf 指数,有的报 1.0,有的报 1.2–1.3;引文分布的幂律指数,Price 给 3,但不同领域、不同时间窗的拟合从 2 到 4 都有。这不是谁算错了,是他们量的是不同的窗口。
【隐式】为什么窗口会改变指数?因为纯幂律 p(x) ∝ x^{-α} 只有在没有上下截断时才「无标度」。真实语料有下截断(最低频词——每个语料里都堆着大量 hapax,即只出现一次的词)和上截断(词汇量有限、作者有限)。你在 log-log 图上拟合的那条直线,是这两个截断之间的【crossover】,不是渐近的固定点。
【细微】一个可检验的签名:在 N 个 token 的语料里,只出现一次的词(hapax)占比随 N 增长而上升——这正是下截断在移动。你把语料翻倍,hapax 比例不降反升,说明「新词」还在以幂律速率涌入,下截断 f_min 1/N 还在往左滑。指数怎么可能不动?
【极难发现】重整化群的视角:在临界现象里,微观细节是「无关算符」(irrelevant operators),会流向同一个不动点,这才是 universality 的来源。但 universality 的前提是系统真的在临界点上。文献计量和语言数据几乎从不在临界点上——它们只是在可观窗口内看起来像幂律。这叫【有限尺寸标度】(finite-size scaling),不是真 universality。判据很简单:真不动点的指数对窗口不变;有限尺寸的 crossover 指数随窗口漂移。绝大多数「社会物理定律」过不了这一关。
【流程节点链路】原始计数 → 排序得 rank-frequency → 选下截断 x_min → 在 [x_min, ∞) 做 log-log 拟合得 α₁ → 把窗口扩到 2·x_min 再拟合得 α₂ → 比较 |α₁ − α₂| → 若显著漂移,结论是【crossover,不是不动点】;若稳定,才敢说【渐近幂律】。
【显式证据】Clauset、Shalizi、Newman (2009, SIAM Review) 用 KS 距离 + bootstrap 拟合优度系统检验了 24 个「经典幂律」数据集,结论是:相当一部分在严格检验下站不住,或者只能用带截断的幂律/对数正态描述。换句话说,「看起来直」不等于「是幂律」。
【隐式推论】这也解释了为什么 Zipf 和 Heaps 两条「独立定律」总是同时出现:在纯幂律假设下,词频分布和词表增长互相决定(一条成立,另一条就被约束)。它们不是两个发现,是同一个(可能错误的)模型的两次投影。
【锚点·结论】下次看到「某某服从幂律,指数 α = X」,先问三件事:x_min 取在哪?窗口多大?把窗口翻倍 α 变不变?三个问题答不上来,那个 α 就不是定律,是你在某个窗口里画的一条切线。
【值得辩论的问题】如果社会/知识系统里几乎所有的「幂律」都只是有限尺寸的 crossover,那么「社会物理学」里还有真正的 universality 吗?还是说,我们一直在用临界现象的语言,描述一堆根本没到临界点的系统?







0 评论