冪律分布擬合方法

2021-02-21 我的學習小站網絡分析與python

參考文獻

Clauset, A., C.R. Shalizi, and M.E.J. Newman, Power-Law Distributions in Empirical Data. Siam Review, 2009. 51(4): p. 661-703.

Alstott, J., E.T. Bullmore, and D. Plenz, powerlaw: A Python Package for Analysis of Heavy-Tailed Distributions. Plos One, 2014. 9(1).

根據文獻一,對冪律分布的擬合主要包括:

1.    假定原始數據服從冪律分布,常見的方法通過直方圖,利用公式p(x) ∝ x-α,可以得知冪律分布服ln p(x) = αln x + constant, 其在雙對數坐標的圖像上會表現為一條直線,以此來初步觀測數據是否可能服從冪律分布。

2.    接著需要對Xmin和α進行估計

(α)【對於離散數據】                                                                

利用極大近似(maximum likelihood)的方法,能夠在有限的大樣本中得到比較精確的參數估計值,假定原始數據是從服從冪律分布的一組數據中截取X>Xmin的部分,我們可以利用極大似然估計(maximum likelihood estimators)對連續或者非連續的數據進行參數估計(α)【對於離散數據】

需要注意的是該方法並不會提示我們擬合結果是錯誤的,僅僅會返回對於數據的最佳擬合結果,並不會判斷冪律分布模型是否是對數據最佳的擬合模型,我們還需要後續的擬合檢驗。(同時建議數據應當保證n>50,可以得出精度較高的α)

對於Xmin

針對Xmin的估計採用的是Clauset et al的方法,可以同時應用於離散型和連續型數據,其方法的基本思想是選擇高於使得被測量數據的概率分布與最佳擬合冪律模型儘可能近似的Xmin估計。Xmin過大會大幅度的縮減原始數據集,有可能造成數據概率分布與冪律分布之間吻合度較差,另外Xmin過小會因為源數據與模型之間產生根本性的差異,使得分布發生變化,而在這中便是我們需要的Xmin估計。

3.    對數據下限估計結果的檢驗

4.    對冪律分布假設的檢驗

        對冪律分布的假設檢驗主要是通過構建許多真正來自冪律分布的樣本數據,測量這些樣本數據與觀察數據之間的距離,如果兩者距離相差過大,那麼觀察數據就不能很好的冪律分布模型所擬合(not a plausible fit)。這裡需要注意採用何種方法來測量距離以及這種檢驗方法還是存在錯誤的可能,但是可以通過增加觀察數據容量,提高檢驗的精度。在距離的測量上,我們採用的是KS統計量,能夠產生較好的結果。但是對距離的顯著性,我們還需要進一步的計算。

        標準的做法是用冪律模型對觀測數據進行擬合,並計算此時的KS統計量,接著基於最優擬合的參數(Xmin,α)構建冪律分布,以此產生足夠大的人工樣本數量,進而單獨的對人工樣本分布與觀測數據的冪律分布模型,計算它們的KS統計量,然後,我們簡單地計算出最終統計量大於經驗數據值的時間比例,這個比例就是p-value(Then we simply count what fraction of the time the resultingstatistic is larger than the value for the empirical data. This fraction is ourp-value)。需要注意的是,我們這裡計算的KS統計量,是人工樣本相較於原始數據的最佳冪律擬合結果,而不是數據的原始分布,也就是說用於KS統計量計算的是從原始數據中符合最佳擬合的數據子集。(we compute the KS statisticrelative to the best-fit power law for that data set, not relative to theoriginal distribution from which the data set was drawn.)

        在我們的計算中,我們做出了一個相對保守的選擇:如果p <= 0,則冪律被排除。也就是說,如果百分之十或更少的概率,使我們僅偶然地獲得與模型一樣差的數據,就將其排除。在其他情況下,許多作者使用更優的規則p <= 0.05,但我們認為這會使某些候選分布真正通過冪律的可能性很小。當然,實際上,所採用的特定規則必須取決於研究者的判斷和當前的情況。In our calculations we have made the relatively conservative choicethat the power law is ruled out if p<=0.1that is, it is ruled out ifthere is a probability of 1 in 10 or less that we would merely by chance getdata that agree as poorly with the model as the data we have. (In othercontexts, many authors use the more lenient rule p<=0.05, but we feel this would letthrough some candidate distributions that have only a very small chance of reallyfollowing a power law. Of course, in practice, the particular rule adopted mustdepend on the judgment of the investigator and the circumstances at hand)

5.    Direct comparison of models

如果通過了假設檢驗,我們還需要考慮,是否存在其他更好的分布模型能生成更好的擬合結果。

在這種情況下,存在可以直接比較兩個分布的方法,並且比KS測試更容易實現。在本節中,我們描述一種這樣的方法,似然比檢驗(likelihoodratio test)。似然比檢驗背後的基本思想是計算兩個對比分布下數據的似然性。那麼似然比更高的分布就越適合擬合。或者,可以計算兩個可能性的比率,或者等效地計算比率的對數R,該比率為正或負,取決於更好的分布;如果出現相同的情況,則為零。為了在分布之間做出確定的選擇,我們需要一個對數似然比,該對數似然比必須足夠正或負,以至於不可能由接近零的真實結果引起的機會波動所致。為了定量判斷R的觀測值是否足夠遠離零,我們需要知道預期波動的大小,即我們需要知道R上的標準偏差σ。我們可以使用Vuong提出的方法根據我們的數據進行估算。該方法給出一個p值,該值告訴我們R的觀察符號是否具有統計意義。如果此p值較小(例如p <0.1),則觀察到的信號不太可能是波動的偶然結果,此時該信號能可靠地指示哪個模型更適合數據。另一方面,如果p大,則符號不可靠,並且測試不贊成使用任何一個模型。(In such cases,methods exist which can directly compare two distributions against one anotherand which are considerably easier to implement than the KS test. In thissection we describe one such method, the likelihood ratio test.The basic idea behind thelikelihood ratio test is to compute the likelihood of the data under twocompeting distributions. The one with the higher likelihood is then the betterfit. Alternatively one can calculate the ratio of the two likelihoods, or equivalentlythe logarithm R of the ratio, which is positive or negative depending on whichdistribution is better, or zero in the event of a tie.In order to make a firm choicebetween distributions we need a log likelihood ratio that is sufficientlypositive or negative that it could not plausibly be the result of a chancefluctuation from a true result that is close to zero. To make a quantitativejudgment about whether the observed value of Ris sufficiently far from zero,we need to know the size of the expected fluctuations, i.e., we need to knowthe standard deviation σon R. This we can estimatefrom our data using a method proposed by Vuong. This method gives a p-value that tells us whetherthe observed sign of R is statistically significant. If this p-value is small (say p < 0.1) then it is unlikely thatthe observed sign is a chance result of fluctuations and the sign is a reliableindicator of which model is the better fit to the data. If p is large on the other hand,the sign is not reliable and the test does not favor either model over theother.)

6.實際操作

對於步驟1-3,可以通過powerlaw python package進行powerlaw fit,篩選出較為合適的數據集,對於步驟4可以利用matlab進行p-value檢驗,對於步驟5可以通過powerlaw python package進行檢驗

利用powerlaw python package進行數據擬合

import powerlaw


data = []
fit = powerlaw.Fit(data, discrete=True)
fit.power_law.alpha
fit.power_law.sigma
powerlaw.plot_pdf(data,color='r')
powerlaw.plot_cdf(data,color='g')
powerlaw.plot_ccdf(data,color='b')
powerlaw.plot_pdf(data,linear_bins=True,color='r')
powerlaw.plot_ccdf(data,color='r')
powerlaw.plot_cdf(data,color='r')
fit.plot_pdf()
fit.power_law.plot_pdf()

 

識別數據中的scaling range

a.    選擇用於擬合的觀測數據集的子集

b.   確定Xmin估計值

c.    利用KS統計量,選擇使得數據子集與擬合模型之間KS距離最小的Xmin

fit.xmin#優化後的Xmin

fit.power_law.D#基於Xmin的數據子集與擬合模型之間KS最小距離

對比不同分布

這裡採用的是前文所述的LRT(loglikelihood ratiostest)

R,p = fit.distribution_compare(『power_law』,『exponential』)

如果一個powerlaw擬合模型不能優於exponential擬合模型,那麼需要非常注意,源數據分布不大可能服從冪律分布。

相關焦點

  • 冪律分布
    前幾天我們聊了正態分布,今天我們來聊另一種重要的分布,這就是冪律分布。而這個二八法則,正是冪律分布最為直觀的表現。冪律分布的曲線圖十分簡單,橫坐標代表隨機變量的取值,縱坐標代表發生的概率,而冪律分布就是一條向下延伸的曲線,就好像拖著一條長長的尾巴,所以它告訴我們的就是,在隨機變量中,越小的數值,出現的概率就越大,越大的數值,出現的概率就越小。
  • 比特幣價格走廊與冪律法則:走向何方?
    我在reddit上也發現過嘗試這個方法的帖子。對數—對數圖上的線性回歸展示出了冪律法則綠線是線性回歸的結果。線性回歸給我們提供下列的冪律法則,以預測比特幣在特定日期的價格:價格=10^(a + blog10(d))其中a = -17.01593313,斜率 b = 5.84509376 ,d為2009年以來的天數。
  • 力學所災變破壞的冪律奇異性前兆及災變預測方法研究獲進展
    因此,探索非均勻脆性介質災變破壞的本質,並基於此建立起預測災變破壞的方法,對於減小災變破壞的危害有著極為重要的意義。  災變破壞前,許多物理量呈現出加速演化的前兆行為。這種加速演化通常被刻畫為冪律關係,但冪指數卻表現出極大的分散性,這為理解災變破壞的機理及建立災變破壞預測方法帶來了極大困難。
  • 坤鵬論:讀懂了冪律,就讀懂了成功曲線
    這一概率的發生遵從一定的分布規律。這個分布規律被稱為「冪律」,又被稱為「可預期的不均衡」。這種分布呈現出來的狀態則被稱為「冪律分布」。一、什麼是冪律和冪律分布?1.通過二八法則理解冪律和冪律分布所謂冪律,其實最好的實例就是二八法則。
  • 母基金周刊:解密資產配置邏輯——風險投資中的冪律曲線分布規律...
    VC基金回報率的冪律分布冪律分布(Power-law Curve)規律是指:滿足於某個具有分布性質的變量,其分布密布函數是冪函數,的分布規律。VC基金的回報卻不服從常見的「正態分布」規律,因此,基於正態分布規律而開發的一些解決方法和工具並不適用於VC投資。VC基金的回報具有「冪律分布(Power-Law Distribution)」的特徵。
  • ...解密資產配置邏輯——風險投資中的冪律曲線分布規律及其現實意義
    VC基金回報率的冪律分布冪律分布(Power-law Curve)規律是指:滿足於某個具有分布性質的變量,其分布密布函數是冪函數,的分布規律。不同投資機構(LP)的收益目標、風險偏好、流動性需求、投資期限、適用稅率等等因素並不一樣,對其適用的最優資產組合必然也不一樣,因此,其配置到VC類資產的資金比例和管理人的選擇標準也會不一樣。
  • 粗看長尾,細辨冪律:跨世紀的無標度網絡研究紛爭史
    現在我們知道的是,其實可以有很多種產生冪律分布的方法[20],接下來要介紹的是其中的一類優化框架。三、生成冪律分布的優化框架之路A. 世紀之交的HOT模型在科學研究進程中,由於知識的積累和技術的進步等演化到了一定的階段,不同的科學家往往在相近的時間開始研究相似的問題。
  • 粗看長尾,細辨冪律:跨世紀的無標度網絡研究紛爭史
    現在的問題是:在巴拉巴西之前,是否有人發現實際網絡的度分布服從冪律?如果是的話,那麼是否有人已經提出過產生冪律分布的優先連結機制?近年來,科學文獻引用關係網絡在分析科學發展中的作用受到越來越多的關注[5,6]。
  • 冪律:自然界中的一個普遍規律
    冪律,又稱冪定律、冪法則,英文:Power law,表述兩個量之間的一種函數關係,描述其中一個量的相對變化導致另一個量相對變化的關係,而與這些量的初始大小無關:一個量隨另一個量的冪而冪律變化,例如,正方形的邊長,如果長度加倍,則面積乘以四;如計算機摩爾定律的冪數增長;又如量子計算機的能力隨量子比特數呈冪數增長。
  • 「冪律與臨界」支配神經網絡,深度學習技術要向大腦學習
    這種遞減的模式服從冪律分布,慕尼黑技術大學的計算神經學家 Jakob Macke (並未參與此項研究)表示:「冪律分布非常普遍,只要你去找,幾乎在任何地方都可以找到它。」Harris 和他的同事們對這一現象背後的含義仍然感到困惑。儘管近期的研究對冪律法則的相關性以及普遍性提出了質疑。
  • 從正態分布到冪率分布
    《連結》和《爆發》提到過,世界由兩個法則構成,一個是高斯法則,也就是正態分布。另一個是冪律法則,可以理解為二八法則,比如20%的人口佔據了80%的社會財富。 我們的世界中絕大部分事物它們發生情況的分布是正態分布(Normal distribution),即在某些情況下發生的可能性是很大的(紅色很高的山峰)。
  • Nature揭示人類流動性之謎:層級性與冪律共存
    不同容器內部的通行時間和時長分布該發現,與之前報導[1-3]的無標度分布相反,對數正態分布分布比無標度分布(冪律)分布給出了更好的統計擬合。當所有的容器被聚合,而非單獨考慮時,即通過將所有容器內的出行,以及跨容器的出行聚合起來,可以獲得冪律分布,從而調和新舊研究結果之間的差異。
  • [PRL]無序顆粒堆積中的非整數冪律
    ., 118,238002 (2017)]上發表了題為「Origin ofNoncubic Scaling in Disordered Granular Packing」的論文,為近來在一系列玻璃體系中發現的非整數冪律提出了新的理解途徑。(點擊閱讀原文可獲取論文連結)這項研究的出發點之一,是理解在很多金屬玻璃體系中發現的非整數冪律的現象。
  • 強大的帕累託分布——其可視化實現方法
    1.帕累託分布帕累託分布是一種冪律概率分布,以義大利土木工程師、經濟學家和社會學家維爾弗雷多·帕累託的名字命名,用來描述社會、科學、地球物理、精算和其他各種可觀察到的現象。帕累託分配有時也被稱為帕累託原則或「80-20」規則,即社會財富的80%掌握在20%的人口手中。
  • 線性擬合與曲線擬合,直接在圖上添加擬合曲線、擬合方程、判別係數...
    1、什麼是線性擬合?線性擬合,顧名思義,針對兩組數據或多組數據,找出一條最佳擬合直線,常用於處理與自變量呈線性關係的因變量。線性擬合是數據處理的常用方法,擬合的目的是對呈現一定數值關係的因變量與自變量找出最佳擬合方程,一般用線性回歸來實現。
  • 考拉茲猜想獲得完全證明:冪尾數周期律與質函數迭代律
    前者用冪尾數周期律可以證明,後者則需要用互素迭代函數的性質來證明。這又是一次重合法與相鄰論成功搭檔解決難題的案例。用重合法找到了冪尾數周期律,用相鄰論找到了互異互素迭代函數,即質函數迭代律。以下我們就用冪尾數周期律和互素迭代函數的性質來證明考拉茲猜想。1.
  • ...與曲線擬合,直接在圖上添加擬合曲線、擬合方程、判別係數R2和P值
    1、什麼是線性擬合?線性擬合,顧名思義,針對兩組數據或多組數據,找出一條最佳擬合直線,常用於處理與自變量呈線性關係的因變量。線性擬合是數據處理的常用方法,擬合的目的是對呈現一定數值關係的因變量與自變量找出最佳擬合方程,一般用線性回歸來實現。2、什麼是曲線擬合?
  • 費馬猜想真有簡潔證明: 本原解化約律和冪尾數周期律
    編者按:這是一篇關於費馬猜想的簡潔證明,作者證明了兩個引理,一個是洛書定理,即冪尾數周期律,同時還證明了本原解化約律,這是一種回歸本質範疇的優化運算規則,就是把解集歸屬到更大範疇中去,找到解集成立的必要條件是冪尾數周期律。由兩個引理可直接推出費馬猜想成立。
  • 交易中的冪次分布
    多數人不需要和風險投機基金打交道,但是每個人都需要明確一件事,甚至是風險投資家也在努力去明確的的:我們所在的世界不是正常的世界,而是處在冪次法則之下的。用彼得蒂爾的話說,他投資的最賺錢的公司Facebook所賺得的收益超過剩餘所有其他公司的總和,他投資第二賺錢的公司Instagram所賺的收益超過除去Facebook之外所有公司的總和,類似的情況出現在他多隻投資基金;很多人把投資機會的投入和產出簡單的理解為錯位的正太分布:不好的機會虧損,中等的機會持平,好的機會達到兩倍或是四倍的收益的。
  • 中國城市人口分布的冪次現象
    冪次現象所揭示的城市間的規律是自然界普遍存在的規律,是系統呈現自組織的表現之一,它既與傳統城市分析中的孤立觀點不同,也不機械地按照等級大小排列。其實,每個城市都如一個有生命的有機體,如同自然界,存在食物鏈、營養級和生存環境,城市也有誕生、成長、衰老和死亡的生存過程。