scipy.stats中冻结分发对象的上限和下限

问题描述 投票:1回答:1

[在rv_continuous中创建冻结的scipy.stats分布时,我希望指定边界(ab)的参数将自动正确填充,但似乎不是:

>>> from scipy.stats import uniform
>>> d = uniform(20, 40) # U[20,60] distribution
>>> d.a # expect 20, get 0
0.0
>>> d.b # expect 60, get 1
1.0

该方法可以正常工作:

>>> d.mean() # expect 40, get 40
40.0
>>> d.interval(1) # expect [20,60], get [20,60]
(20.0, 60.0)

([d.interval(1)基本上是在这里完成技巧,因为我想获得界限。]

要更新.a.b,我需要做些什么吗?

python scipy
1个回答
1
投票

我在源代码中做了一些挖掘,根据我的理解,没有,没有办法更新那些属性。

[a和b在_continuous_distns.py的第7914行中默认定义为0和1

uniform = uniform_gen(a=0.0, b=1.0, name='uniform')

但是我看不到实际使用这些变量的任何示例。而是使用loc和scale参数设置上下限,其中下限等于loc,上限等于loc + scale。

获得上限和下限的最佳方法是使用support方法

uniform(20,40).support()
>>>
(20,60)
© www.soinside.com 2019 - 2024. All rights reserved.