簡體   English   中英

Python Scipy截斷指數分布

[英]Python Scipy truncated exponential distribution

我需要構造一個截斷的指數隨機變量,其范圍在5到7之間,比率參數等於0.76。 我正在使用scipy.stats.truncexpon,loc = 5和scale = 1 / 0.76。 我不確定如何指定上限。 有任何想法嗎?

import scipy.stats as stats
import matplotlib.pyplot as plt

lower, upper, scale = 5, 7, 1/0.76
X = stats.truncexpon(b=(upper-lower)/scale, loc=lower, scale=scale)
data = X.rvs(10000)

fig, ax = plt.subplots()
ax.hist(data, normed=True)
plt.show()

在此處輸入圖片說明


stats.truncexponrv_continuous子類的rv_continuous rv_continuous類具有ab參數,這些參數定義了分布支持的下限和上限 truncexpon a參數固定為0:

truncexpon = truncexpon_gen(a=0.0, name='truncexpon')

因此,默認情況下truncexpon的支持范圍從0b 根據文檔

truncexpon.pdf(x, b, loc, scale)等同於truncexpon.pdf(y, b) / scale其中y = (x - loc) / scale

因此,當y0變為bxloc變為b*scale + loc 因此,要使xlowerupper ,讓loc = lowerb = (upper-lower)/scale

暫無
暫無

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

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