[英]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.54545
和lambda = 2772.72727
應該給出mean = 500
和std = 600
,但是我得到的是Mean = 3272.7276793445976
和std = 600.0005828803438
。 我知道這是由不同版本的pdf引起的,但是我想知道是否可以使用scipy.stats.pareto
函數或任何內置函數,而不是為此發行版編寫新函數。
您描述的分布通常稱為Beta Prime分布 ,並在SciPy中實現為betaprime
。 它比Pareto分布更籠統。 有人可能稱其為廣義Pareto分布,但我不會因為該術語還意味着其他含義。 我們可以在Wikipedia上標准化這些名稱的用法嗎?
betaprime
的相關參數是a
, b
和scale
,它們從您的符號轉換為a=k
, b=alpha
和scale=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.