【问题标题】:read the scipy.beta distribution parameters from a scipy.stats._continuous_distns.beta_gen object从 scipy.stats._continuous_distns.beta_gen 对象中读取 scipy.beta 分布参数
【发布时间】:2018-03-02 23:16:22
【问题描述】:

有一个 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 样本,但这似乎很愚蠢:)

【问题讨论】:

    标签: python-3.x scipy


    【解决方案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
    

    【讨论】:

    • 太好了,谢谢!我正在查看 args 参数,但错过了 kwds :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    • 1970-01-01
    相关资源
    最近更新 更多