1. 程式人生 > >ZIPF分佈、PARETO分佈和冪律分佈

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滿足線性關係,也即在雙對數座標下,冪律分佈表現為一條斜率為冪指數的負數的直線,這一線性關係是判斷給定的例項中隨機變數是否滿足冪律的依據。

參考資料:

4. 齊夫定律