从scipy.stats._continuous_distns.beta_gen对象中读取scipy.beta分发参数

时间:2018-03-02 10:04:26

标签: python-3.x scipy

拥有beta对象的实例,如何取回参数a和b?

有属性a和b,但它似乎意味着我所期望的其他东西:

>>> import scipy
>>> scipy.__version__
'0.19.1'
>>> from scipy import stats
>>> my_beta = stats.beta(a=1, b=5)
>>> my_beta.a, my_beta.b
(0.0, 1.0)

有没有办法获得分发参数?我总是可以装一个巨大的rvs样本,但这看起来很傻:)

1 个答案:

答案 0 :(得分:1)

使用my_beta = stats.beta(a=1, b=5)等调用创建“冻结”分布时,位置和关键字参数将分别保存为返回对象上的属性argskwds 。因此,在您的情况下,您可以在字典my_beta.kwds中访问这些值:

In [10]: from scipy import stats

In [11]: my_beta = stats.beta(a=1, b=5)

In [12]: my_beta.kwds
Out[12]: {'a': 1, 'b': 5}

正如您所猜测的,属性my_beta.amy_beta.b是不同的。它们定义了概率分布support的终点:

In [13]: my_beta.a
Out[13]: 0.0

In [14]: my_beta.b
Out[14]: 1.0