【问题标题】:scipy.stats - get a lognormal's underlying mu and sigmascipy.stats - 获取对数正态的基础 mu 和 sigma
【发布时间】:2019-01-25 01:35:52
【问题描述】:

在 Python 的 scipy.stats 库中,它有一组非常程式化的随机变量类、方法和属性。大多数与分布本身有关,例如,“平均值是什么?”或“差异是什么?”

对数正态分布很奇怪,因为定义它的参数不是该分布的常用参数,而是它派生自的正态分布的参数。简单来说,如果 X 是一个均值为 mu 和 stdev sigma 的正态分布,则 Y=e^X 是一个对数正态分布,有自己的均值、众数、方差、stdev 等。

有没有人知道通过 scipy.stats 中“冻结”RV 的方法或属性来恢复底层 mu 和 sigma(正态分布 X)的快速或聪明的方法?

由于 scipy.stats 确实给出了实际对数正态的平均值、标准差等,人们可以做很多代数并从标准翻译中恢复它......但代码可能无法维护。

供参考https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.lognorm.html 和 https://en.wikipedia.org/wiki/Log-normal_distribution

【问题讨论】:

    标签: python-3.x scipy


    【解决方案1】:

    (这个帖子有点老了,但值得一提的答案)。

    Scipy rv_continuous 实例具有.stats 方法(请参阅here)。您可以使用此方法检索均值和方差等参数。

    这个方法可以从类或者实例中调用:

    # from the classs
    scipy.stats.lognorm.stats(loc=2,s=1,moments='mvsk')
    >> (array(3.64872127), array(4.67077427), array(6.18487714), array(110.93639218))
    
    # or from the instance
    scipy.stats.lognorm(loc=2, s=1).stats(moments='mvsk')
    

    【讨论】:

      猜你喜欢
      • 2012-02-10
      • 2016-05-02
      • 2013-09-15
      • 2021-03-14
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 2020-08-18
      • 2012-09-04
      相关资源
      最近更新 更多