京公网安备 11010802034615号
经营许可证编号:京B2-20210330
导读:描述“富者愈富,穷者愈穷”的马太效应,以及经济学中的帕累托法则,其背后的数学模型是什么?在统计学中,它们可以被抽象成幂律分布。
作者:帕诺斯·卢里达斯(Panos Louridas)
来源:大数据DT(ID:hzdashuju)
内容摘编自《真实世界的算法:初学者指南》
我们在城市规模中看到的模式:大多数人类居住地区的规模达不到以百万来计数,但少数地区能达到数百万人规模。在数字王国里,大多数网站的访问量很低,但少数网站的访问量非常庞大。在文学领域,大多数书籍几乎无人阅读,但少数书籍畅销异常。
所有这些都让我们回忆起“富者愈富,穷者愈穷”的现象。
在语言学中,这种现象被称为Zipf定律,以哈佛的语言学家George Kingsley Zipf的名字命名,他观察到在一种语言中第i位最常见的单词出现的频率正比于1/i。Zipf定律指出,在一个n个单词的语料库中,遇到第i位最常见单词的概率为
其中
数Hn在数学领域出现非常频繁,值得为它起一个名字——第n位调和数(harmonic number)。这个名字源自何处?它源于音乐中的泛音或称和声。一根弦以一个基波长震动,同时还以1/2,1/3,1/4,…的谐波长震动:这对应一个无穷和,当n=∞时,它被称为调和级数(harmonic series)。
由于Zipf定律给出了一个事件的概率,因此也用它命名了对应的概率分布。
在表11-1中,你可以看到一个英语语料库(布朗语料库,包含981716个单词,其中有40234个不同单词)中最常见的20个单词,其经验概率是通过统计它们在语料库中出现的次数来计算的,而它们的理论概率则是根据Zipf定律/分布计算的。简言之,我们给出了排名、单词、经验分布和理论分布。
在图11-4中,我们绘制了表11-1中的数据。注意,分布只是为整数值定义的。我们增加了一条差值线来显示总体趋势。另外注意,理论概率和经验概率并不是完全重叠。这是我们将一个数学模型应用到现实世界时必须要面对的情况。
▲图11-4 布朗语料库中最常见的20个单词的Zipf分布
当我们发现一个快速下降的趋势时,如图11-4中的趋势,就有必要检查一下,如果我们将熟悉的x和y坐标轴替换为对数坐标轴会发生什么。在对数坐标轴中,我们将所有值转换为它们的对数后绘制出来,图11-5给出了与图11-4等价的对数坐标图:对每个y我们使用log y,对每个x,我们使用log x。
▲图11-5 对数坐标轴下布朗语料库中最常见的20个单词的Zipf分布
如你所见,理论分布的趋势现在变为一条直线,经验分布看起来位于理论预测值上方一点。在大多数情况下,理论分布与我们实际观测的结果会有一些不同,而且,两个图只显示了包含前20个最常见单词的子集,因此,基于它们我们不能真正判断是否吻合。
为了观察真正发生了什么,请查看显示了布朗语料库中所有40234个不同单词的完整分布的图11-6和图11-7。有两个现象凸显出来:首先,除非我们使用对数刻度,否则图是无用的,这很好地说明了分布有多么不均匀,我们必须使用对数值,否则任何趋势都不可见;第二,一旦我们使用了对数坐标轴,理论值和经验观察结果的吻合要好得多。
▲图11-6 布朗语料库的经验分布和Zipf分布
▲图11-7 对数坐标轴下布朗语料库的经验分布和Zipf分布
在对数刻度下,我们能看清所有东西,因为Zipf定律是幂率(power law)的一个特例。幂率是指一个值出现的概率正比于此值的负指数,用数学语言描述就是:
P(X=x) ∝ cx-k,其中 c > 0,k > 0
在此公式中,符号∝表示“正比于”。现在我们可以解释为什么对数图是一条直线了。如果有y=cx-k,我们可得y=log(cx-k)=log c-klog x。最后一部分就是一条直线y,截距等于log c,斜率等于-k。因此当我们遇到在对数图里成一条直线的数据时,就是其理论分布可能是幂率的明显信号。
经济学中幂率的一个例子是帕累托法则,它指出80%的结果源自20%的起因。在管理学和流行的大众理解中,其含义通常变为20%的人做了80%的工作。在帕累托法则中可以证明P(X=x)=c/x1-θ,其中θ=log 0.80/log 0.20。
幂率是如此普遍,以至于在过去二十年间产生了一个研究相关现象的完整领域似乎任何事情都有幂率现象隐藏在背后。
除了在介绍马太效应时已经提到的例子外,我们还发现幂率出现在如科技论文的引用、地震震级和月球陨石坑的直径等如此不同的领域中,还有生物物种随时间推移而增多、分形学、食肉动物的觅食模式以及太阳耀斑的射线峰值强度,其中也都有幂率现象存在。
这个列表还能继续增加:一天中长途电话的数量、停电影响的人群数量、姓氏出现的频率等。
这种规律有时似乎是凭空冒出来的。例如,一个相关的定律是Benford定律(Benford's law),因物理学家Frank Benford的名字而命名,也被称为第一位法则(First-Digit law)。它指出了在很多种类的数据中数字频率的分布。
具体地,它指出,一个数的第一位数字是1的概率是30%,从2到9每个数字出现在第一位的频率逐渐降低。用数学语言表达,这个定律指出,一个数的首位数字是d=1,2,…,9的概率是
如果我们计算每个数字的概率,就会得到表11-2中的结果。表中的数值告诉我们,如果数据库中有一组数,其首位数字为1的概率约为30%,大约有17%的数会以2开头,大约有12%的数会以3开头,依此类推。
图11-8中给出了Benford定律的一个图示。看起来和齐普夫分布没有太大不同,因此我们可能想知道如果用对数坐标轴绘制的话图会变成什么样子。图11-9给出了结果,几乎就是一条直线,意味着Benford定律与幂率相关。
▲图11-8 Benford定律
▲图11-9 对数坐标轴下的Benford定律
Benford定律的广度令人震惊。它适用于如物理常量、世界上最高建筑物的高度、人口数、股票价格、街道地址等如此不同的数据集,还有很多。
实际上,它看起来如此普遍,以至于一种检测伪造数据的方法就是检查包含的数值是否不服从Benford定律。欺诈者会修改真实值或用随机值替代真实值,他们不会注意得到的数值是否服从Benford定律。因此如果我们遇到一个看起来可疑的数据集,最好先检查首位数字是否服从Benford概率。
如果我们的搜索模式反映了数据分布模式,即如果记录的关键字服从Benford定律,且我们正在搜索的关键字也服从Benford定律的话,Benford定律可能影响我们的搜索。如果是这种情况,会有更多的记录具有以1开头的关键字,对这些关键字的搜索也会更多,以2开头的关键字少一些,依此类推。
关于作者:帕诺斯·卢里达斯(Panos Louridas),曼彻斯特大学软件工程博士,现为雅典经济与商业大学管理科学与技术系副教授。在加入高校之前,曾在投资银行担任高级软件工程师。
本文摘编自《真实世界的算法:初学者指南》,经出版方授权发布。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
一、问题:为什么 ID 会"断号" 很多刚接触 MySQL 的同学都会有一个困惑:表里的主键 ID 是自增的,删了中间几行数据之后,ID 变 ...
2026-10-22一、问题场景:为什么会重复 JOIN 同一个子查询 在写复杂 SQL 时,经常遇到这种需求:同一张表或同一个聚合子查询,要和主表关联 ...
2026-10-22人力资源专员是HR体系的执行入口。招聘信息发布、简历初筛、面试安排、考勤汇总、入离职手续、劳动合同与档案管理,大多由这个岗 ...
2026-10-22人力资源经理问“必学技巧”,真正要解决的不是知识清单不够长,而是时间有限、业务催得紧,学完却用不上。更有效的路径是:先用 ...
2026-10-22内容营销岗位的核心任务,不是“把文案写得更漂亮”,而是围绕目标受众,用持续的内容供给影响认知、推动转化并沉淀复购。它至少 ...
2026-10-22理财经理培训课程很多,难的是判断“先学什么、后学什么、学完能做什么”。与其按课程名称罗列,不如先看岗位任务:客户分层与维 ...
2026-10-22理财经理的知识结构,可以先用一句话概括:合规与产品知识决定“不出错”,客户经营与资产配置决定“够不够专业”,市场研判与数 ...
2026-10-22经济学背景做数据分析,优势不在工具,而在问题意识:供需如何相互作用、成本与收益如何权衡、变量之间是相关还是因果。真正的缺 ...
2026-10-22需要,但要把“需要”理解准确。经济学本身就在处理数据:GDP、物价、就业、企业营收、问卷调研,都是经济分析的原料。真正的区 ...
2026-10-22经济学分析能力不是单一技能,它至少由三层构成:把现实问题转成可检验假设的理论框架能力、用数据与统计方法验证假设的工具能力 ...
2026-10-22金融分析师的知识提升,先补的不是更多模型,而是让结论可复核的底层能力。按任务顺序,大致是四层:财务与业务理解、指标口径管 ...
2026-10-22金融分析师的“通用技能”,指换到不同机构、不同行业组仍用得上的底层能力,而非某家公司内部系统的操作经验。按任务拆,日常要 ...
2026-10-22先给结论:数据分析证书不是金融分析师的准入条件,招聘方也不会因为一张证书就直接判断你能做分析。要不要考,取决于你当前任务 ...
2026-10-22金融分析师的核心技能,不是“会看K线”或“会讲宏观”,而是能把一家公司、一个行业或一类资产,转化为可核查的数据判断与书面 ...
2026-10-22产品经理的知识提升,不是把需求文档、原型、SQL、数据分析、项目管理都学一遍,而是先对准目标岗位的真实任务,找出自己最缺的 ...
2026-10-22产品专员提升工作知识,最有效的方式不是先囤课程,而是围绕日常交付的四件事来补:需求调研与优先级判断、原型与PRD表达、竞品 ...
2026-10-22产品运营专员提升个人能力,常见误区是先把Excel、SQL、Python列成一张学习清单,然后从第一个工具开始学。更有效的做法是先回答 ...
2026-10-22产品运营的能力提升,最怕从“课程目录”出发:今天学增长模型,明天背SQL语法,学完却说不清自己负责的功能为什么激活率低。更 ...
2026-10-22产品经理的技能和影响力不是两条分开的赛道。技能决定你能不能把问题分析清楚、把方案设计对;影响力决定你的判断能否被团队接受 ...
2026-10-22产品经理要学的数据分析能力,不是“会写SQL”或“会用BI工具”这么简单。更准确地说,是围绕需求评估、功能迭代、指标监控、实 ...
2026-10-22