當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy random.mtrand.RandomState.pareto用法及代碼示例


用法:

RandomState.pareto(a, size=None)

從具有指定形狀的Pareto II或Lomax分布中抽取樣本。

Lomax或Pareto II分布是移位的Pareto分布。可以從Lomax分布中獲得經典的Pareto分布,方法是加1並乘以scale參數m(請參閱注釋)。 Lomax分布的最小值為零,而經典Pareto分布的最小值為零mu,標準Pareto分布所在的位置mu = 1。 Lomax也可以看作是廣義Pareto分布的簡化版本(可在SciPy中使用),比例設置為1,位置設置為零。

帕累托分布必須大於零,並且在上方無界。它也被稱為“ 80-20規則”。在此分布中,80%的權重在範圍的最低20%中,而其他20%占其餘的80%。

參數:
a float 或 array_like of floats

形狀分布。必須是積極的。

size int 或 tuple of ints, 可選參數

輸出形狀。如果給定的形狀是(m, n, k), 然後m * n * k抽取樣品。如果尺寸是None(默認),如果返回一個值a是標量。除此以外,np.array(a).size抽取樣品。

返回值:
out ndarray或標量

從參數化的帕累托分布中抽取樣本。

注意:

帕累托分布的概率密度為

p(x) = \frac{am^a}{x^{a+1}}

哪裏a是形狀和m規模。

以意大利經濟學家維爾弗雷多·帕累托(Vilfredo Pareto)的名字命名的帕累托分布是一種冪律概率分布,可用於許多現實世界中的問題。在經濟學領域之外,通常將其稱為Bradford分布。帕累托(Pareto)建立了分布來描述經濟中財富的分布。它也已用於保險,網頁訪問統計,油田規模和許多其他問題,包括Sourceforge中項目的下載頻率[1]。它是so-called “fat-tailed”發行版之一。

參考文獻:

[1]Francis Hunt和Paul Johnson,關於Sourceforge項目的帕累托分布。
[2]帕累托(V.Pareto)(1896)。政治經濟學課程。洛桑
[3]Reiss,R.D.,Thomas,M.(2001),極值的統計分析,Birkhauser Verlag,巴塞爾,第23-30頁。
[4]維基百科,“Pareto distribution”,https://en.wikipedia.org/wiki/Pareto_distribution

例子:

從分布中抽取樣本:

>>> a, m = 3., 2.  # shape and mode
>>> s = (np.random.pareto(a, 1000) + 1) * m

顯示樣本的直方圖以及概率密度函數:

>>> import matplotlib.pyplot as plt
>>> count, bins, _ = plt.hist(s, 100, density=True)
>>> fit = a*m**a / bins**(a+1)
>>> plt.plot(bins, max(count)*fit/max(fit), linewidth=2, color='r')
>>> plt.show()
../../../_images/numpy-random-mtrand-RandomState-pareto-1.png

相關用法


注:本文由純淨天空篩選整理自 numpy.random.mtrand.RandomState.pareto。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。