zipf分布、pareto分布和幂律分布
看文章的时候看到互联网上有些部分符合zipf分布,挺都没听说过,于是查下。
查了些资料,发现是哈佛的语言学家zipf在研究语料库的时候发现的,所以也叫齐普夫定律,按照单词在语料库中出现的次数排序,则该单词的排序数与其在语料库中出现频数成反比,或者说,二者乘积为一个常数。
其公式为:P(r) = C / r^α
这里 r 表示一个单词的出现频率的排名,P(r)表示排名为r的单词的出现频率。单词频率分布中 C约等于0.1, α约等于1。
这说明在英语单词中,只有极少部分的词被经常使用,而绝大部分词很少被使用。
如果按照出现频率排序,则第二常见的单词出现频率是第一常见单词出现频率的1/2,第三常见单词为第一常见单词出现频率的1/3,第三常见单词为第一常见单词出现频率的1/n。
比如,在 Brown 语料库中,“the”是最常见的单词,它在这个语料库中出现了大约7%(100万单词中出现69971次)。正如齐夫定律中所描述的一样,出现次数为第二位的单词“of”占了整个语料库中的3.5%(36411次),之后的是“and”(28852次)。仅仅135个字汇就占了Brown 语料库的一半。
这样延伸出来,就是常见的“80/20法则”。80%的资源掌握在20%的人手里。前20%的单词出现频率占所有单词的80%。
查资料发现,长尾分布就是齐普夫定律。
长尾分布在生活中应用的例子太多,比如,下载网络音乐,热门歌曲占据了绝大部分的下载量,冷门歌曲下载虽少,但下载曲线并不是迅速下降为零,而是比较稳定的维持在一定的水平上。也就是说,长尾虽然小,但稳定、持久、并不为零,这样下来,其销量(曲线轮廓所包围的面积)并不小。长尾理论也是利用这样的特性而提出的。
这样有两个问题,一是什么样的分布是迅速降为零的?二是,长尾分布什么时候会出现。
问题一比较好回答,在zipf分布中,提高α即可使分布迅速降低为零。或者有其他方法构造分布函数也可以。
对于问题二而言,查到的文章里大部分只讲了分布是什么、公式是什么、应用到什么情景(如歌曲或软件的下载、语料库中的统计、国家GDP或个人收入分布),但对于所应用的情景却没有抽象出一个共同的特点。
不过在文章长尾分布、幂律的产生机制和西蒙模型中提到:
长尾分布是由选择来源的丰富性(如大量供下载的曲目)造成的。一旦多样性选择需求不再因为来源匮乏而受到限制,长尾现象便会自然发生。
也就是说,必须来源丰富到所有需求不因来源匮乏而不被满足,这时就符合长尾分布。即:人得需求是符合长尾分布的(对热门东西的需求占据大部分,但还有持续不为零的小众需求),但这种需求,在资源不够丰富、匮乏时会受到限制,从而使长尾曲线受到遏制。直到来源丰富,选择被放开,才会将长尾分布的需求表现出来。
另外,上面提到的“80/20法则”是Pareto提出来的,也有以他名字命名的分布。
19世纪的意大利经济学家Pareto研究了个人收入的统计分布,发现少数人的收入要远多于大多数人的收入,提出了著名的80/20法则,即20%的人口占据了80%的社会财富。个人收入X不小于某个特定值x的概率与x的常数次幂亦存在简单的反比关系:P[X≥k]~x^(-k),上式即为Pareto定律。
在我看来,这就是zipf分布的推广,相当于对zipf分布曲线面积进行积分。
而zipf分布和pareto分布,两者又都是幂律分布。
Zipf定律与Pareto定律都是简单的幂函数,我们称之为幂律分布;还有其它形式的幂律分布,像名次——规模分布、规模——概率分布,其通式可写成y=c*x^(-r),其中x,y是正的随机变量,c,r均为大于零的常数。这种分布的共性是绝大多数事件的规模很小,而只有少数事件的规模相当大。
对上式两边取对数,可知lny与lnx满足线性关系,也即在双对数坐标下,幂律分布表现为一条斜率为幂指数的负数的直线,这一线性关系是判断给定的实例中随机变量是否满足幂律的依据。
参考资料:
1. 幂律分布和Zipf定律
4. 齐夫定律
5. Zipf定律