Python-Scipy截断指数分布
我需要构造一个截断指数随机变量,在5和7之间有界,速率参数等于0.76。我使用的是scipy.stats.truncexpon,loc=5,scale=1/0.76。不过,我不确定如何指定上限。有什么想法吗Python-Scipy截断指数分布,python,scipy,Python,Scipy,我需要构造一个截断指数随机变量,在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=lo
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.truncexpon
是一个。
rv_continuous
类具有对分发的支持truncexpon
将a
参数固定为0:
truncexpon = truncexpon_gen(a=0.0, name='truncexpon')
因此,默认情况下,truncexpon
的支持范围从0
到b
。
,
truncexpon.pdf(x,b,loc,scale)
是相同的
相当于truncexpon.pdf(y,b)/scale
,带有y=(x-loc)/scale
因此,y
从0
变为b
,x
从loc
变为b*scale+loc
。
因此,要使x
从lower
转到upper
,让loc=lower
和b=(上下)/刻度
stats.truncexpon
是一个。
rv_continuous
类具有对分发的支持truncexpon
将a
参数固定为0:
truncexpon = truncexpon_gen(a=0.0, name='truncexpon')
因此,默认情况下,truncexpon
的支持范围从0
到b
。
,
truncexpon.pdf(x,b,loc,scale)
是相同的
相当于truncexpon.pdf(y,b)/scale
,带有y=(x-loc)/scale
因此,y
从0
变为b
,x
从loc
变为b*scale+loc
。
因此,要使
x
从lower
转到upper
,让loc=lower
和b=(upper-lower)/scale
谢谢您的回答!问题在于,当我将刻度设置为非1的值时,对分布的支持将发生变化,不再是从低到高(从低开始,但不在高结束)。对。我修改了代码以考虑到规模的变化。谢谢你的回答!问题在于,当我将刻度设置为非1的值时,对分布的支持将发生变化,不再是从低到高(从低开始,但不在高结束)。对。我修改了代码以考虑到规模的变化。