簡體   English   中英

scipy.stats中的三參數帕累托分布

[英]A three-parameter Pareto distribution in scipy.stats

我正在嘗試使用scipy.stats.pareto定義帕累托分布,但是我使用的模型的形式完全不同,它具有三個參數,其中f(x) = (gamma(alpha + k) * lambda**alpha * x**(k - 1)) / (gamma(alpha) * gamma(k) * (lambda + x)**(alpha + k))

我還嘗試將k = 1設置為將分布減小為2參數分布,其中f(x) = (alpha * lambda**alpha) / (lambda + x)**(alpha + 1) 但是,我仍然無法將參數放入scipy.stats.pareto

我創建了一個案例,其中alpha = 6.54545lambda = 2772.72727應該給出mean = 500std = 600 ,但是我得到的是Mean = 3272.7276793445976std = 600.0005828803438 我知道這是由不同版本的pdf引起的,但是我想知道是否可以使用scipy.stats.pareto函數或任何內置函數,而不是為此發行版編寫新函數。

您描述的分布通常稱為Beta Prime分布 ,並在SciPy中實現為betaprime 它比Pareto分布更籠統。 有人可能稱其為廣義Pareto分布,但我不會因為該術語還意味着其他含義。 我們可以在Wikipedia上標准化這些名稱的用法嗎?

betaprime的相關參數是abscale ,它們從您的符號轉換為a=kb=alphascale=lamda

演示:

from scipy.stats import betaprime
alpha = 6.54545
lamda = 2772.72727
k = 1
print(betaprime.mean(k, alpha, scale=lamda))
print(betaprime.std(k, alpha, scale=lamda))

版畫

500.0004093445978
600.0005828803438

暫無
暫無

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

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