簡體   English   中英

使用MathNet在C#中給定指數的冪律分布

[英]Power Law distribution for a given exponent in C# using MathNet

我目前正在一個項目中,我需要生成多個值(最好是浮點數或雙精度數),這些值遵循具有給定指數的冪定律分布!

建議我使用MathNet.Iridium庫來幫助我。 我的問題是該文檔不夠明確,如果有的話!

我看到了多個符合冪定律分布一般思想的分布,但是我無法確定要以某個指數作為參數的良好分布。

是否有人在這方面有更多的經驗,可以給我一些提示或建議嗎?

要生成您選擇的分布的值,可以使用Wikipedia中提到的逆累積分布函數。

逐步,這看起來像:

  1. 選擇您喜歡的分布函數。
  2. 用紙和筆計算逆累積分布函數。
  3. 根據單位間隔的均勻分布生成一個值。 Random在這里會很好。
  4. 將值輸入您的ICDF。

結果是使用您選擇的分布函數隨機選擇的值。

如果您在第2步中遇到問題,也許https://mathoverflow.net/上的人員可以為您提供幫助。

編輯:如果您只需要指數gamma的任何冪律分布,則將生成一個值:

double r = 1.0 / Math.Pow(1-new Random().NextDouble(), 1.0/(gamma+1));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM